一文探讨如何在比特币实现高性能智能合约?_比特币:以太坊

提起智能合约,很多人的第一反应就是以太坊,甚至在维基百科中搜索智能合约的时候,都会给出如下的定义:智能合约:是一种特殊协议,在区块链内制定合约时使用,当中内含了代码函数(Function),亦能与其他合约进行交互、做决策、存储资料及发送以太币等功能。显然将智能合约仅仅定义为以太坊功能的一部分有点以偏概全,相比之下,IBM给出的智能合约定义更为准确,更符合现代各类层出不穷的公链和合约:IBM定义的智能合约:只是存储在区块链上的程序,在满足预先确定的条件时会运行这些程序。它们通常用于自动执行协议,以便所有参与者都可以立即确定结果,而无需任何中间人参与,也不会浪费时间。它们还可以自动完成工作流程,在满足条件时触发下一个操作。总结就是:1.存储在区块链上2.在满足特定条件下会运行特定逻辑3.运行逻辑不需要任何第三方参与因此满足这三点的都可以看作是智能合约。其实比特币,莱特币以及Doge这些看起来只能转账代币的区块链系统也是满足智能合约的定义,其实它们的转账功能本身也是智能合约的一种。但是我们通常不认为只能转账的区块链是智能合约平台,主要因为它们在第二条下的场景太少,这个特定逻辑被缩限在几种固定的场景,例如比特币只有P2PKH,P2PK,P2SH等等标准交易逻辑,能够使用的场景无非也就是单签,多签等很有限的场景,无法根据开发者的需要自由定制执行逻辑,比如更丰富的前提条件,更复杂的逻辑控制,更灵活的合约间交互等等。因此更广泛意义上的智能合约还要加上第四点:4.图灵完备,可以执行任意逻辑账户模型、UTXO模型与智能合约

萨尔瓦多授予Bitfinex首个数字资产许可证:金色财经报道,萨尔瓦多授予 Bitfinex 该国首个数字资产服务提供商许可证。新许可证是在萨尔瓦多立法议会于 1 月通过的一项法律之后颁发的,该法律规范了数字证券,并为中美洲国家创建了一个框架,以发行比特币支持的债券,也称为火山债券。

Bitfinex 首席技术官 Paolo Ardoino 在声明中表示,“我们很高兴成为第一家获得此许可证的公司。这将使 Bitfinex Securities 能够按照新的数字资产监管制度的规定,以明确定义的权利和义务促进资产的发行和二级交易。”Bitfinex Securities 运营主管 Jesse Knutson 表示,新法规允许推出的产品包括代币化股票和收益资产。[2023/4/12 13:58:03]

账户模型

我们熟知的智能合约公链平台,例如以太坊,EOS,Solana等在执行方式上都可以称作账户模型。账户模型非常容易理解,和我们的支付宝账户,银行账户等等是一种思维方式,每个人有一个或多个「账户」,每个账户有一个「余额」。A->B转账的过程就是从账户A的余额中减去X,然后再从账户B的余额中增加X。如果给这个转账过程增加一些逻辑条件,设定满足特定的条件,这个转账才能发生,那么就形成了智能合约。以太坊内部有一个虚拟机,被称为EVM,这个虚拟机就是用来监听特定的条件,满足条件之后,自动执行转账。因为这个虚拟机可以执行编程代码,因此只需要用计算机高层编程语言编写逻辑,并且部署到链上就可以轻松实现任意的逻辑。这种账户模型因为非常贴近面向对象的编程方式,只需要定义成员变量,以及方法,就可以轻松实现任意逻辑。也正因如此,市面上的绝大多数智能合约平台都是运行在账户模型之上。账户模型也有一个很显著的弊端:就是虚拟机在分布式节点的条件下如何保证一致性。由于以太坊上所有的合约都是由发送以太坊交易来驱动的,因此收到交易的顺序会影响交易的结果,为了保证所有节点都执行相同的逻辑,就必须保证所有节点收到交易的顺序是一致的,如果不一致则会造成混乱。显然,在分布式的环境下,所有节点很难保持接收交易的一致性,尤其是高频交易的场景下,如果A给B连续快速发送10笔金额,必须要等到所有节点按顺序接收到所有交易后,才能结算完成。如果某个节点先收到了第十笔交易,那么就需要等待其他9笔交易都就位之后,才能处理第十笔。另外,每笔以太坊交易只能进行1对1转账,在高频场景,尤其是多对多的复杂情形下,非常吃力。为了突出以下以太坊的性能问题,我们假设以下场景,A账户要给100个人派发红包。如果使用ETH来发红包的话,必须按照顺序发送给1号,2号,3号...需要构造100个交易,一个接着一个进行发送,节点也必须一个接着一个按次序处理。因为每次发送都要等待上一次余额确定,因此1号,2号他们收到红包的顺序是确定的,100号只有等前面的人都收到红包之后,才能收到红包。传统互联网应用使用账户模型的应用,都要配合数据库的强一致锁,或者强事务等来实现账户修改的安全,这个问题放在分布式的区块链上就格外显著。核心原因就是,对账户的修改必须遵照严格的顺序来执行,顺序的先后不同可能会导致执行结果的千差万别。UTXO模型

南京江北新区召开元宇宙产业生态大会:3月30日消息,近日,由江苏省工业和信息化厅、江苏省通信管理局指导,南京江北新区管理委员会、中国电子学会主办的2023中国元宇宙产业生态大会正式开幕。开幕式上成立了“元宇宙产业智库”,旨在发挥专家的技术支持和智力支撑作用,提高元宇宙产业领域发展规划、项目孵育工作水平;江苏省通信学会发布了《元宇宙产业链生态发展白皮书》,白皮书总结了元宇宙产业发展现状,梳理了元宇宙技术体系与产业链各环节发展情况,分析了各地发展现状和产业发展存在问题,提出了若干措施建议;举行了“江苏元宇宙产业与应用研究院”揭牌仪式,助力江北新区元宇宙产业发展,打开江北新区数字经济发展新局面。[2023/3/30 13:36:01]

UTXO模型是另一种主流区块链采用的模型,比特币,莱特币,DOGE等区块链采用的是这种模型。UTXO的意思是「未花费交易输出」。这种模型非常类似我们日常使用的现金,可以看做一种改良版的现金。区块链并不记载和维护某个地址有多少余额,记载的是一张张钞票是属于哪个地址。比特币的场景下,某个地址A的余额不能直接查询到,需要统计有多少张钞票是属于A的。比方说,我们有一个钱包,里面放了一张10元,一张100元,还放了一个1块的硬币,那么我们可以说,我们的钱包余额是111元,换言之,如果不去计算每一张纸币与面值,仅凭钱包本身是不知道有多少余额的,这与以太坊支付宝之类的账户模型有很大不同。比特币转账的时候怎么转呢,同样很接近我们平时使用现金支付的样子。还是刚才的真钱包,如A要给B付1块钱,那么A有3种方法可以付给B,给他1块,给他10块找回9块,给他100块找回99块。找钱这一点与现金不太一样,或者可以说是改良的地方。A给B10块找回9块,并不是让B找出来9块钱还给A,而是A把10块钱烧掉,然后由系统重新印出一张1块给B,印出一张9块给A。经过交易后,A的钱包有一张面值100的钞票,一张面值9块的钞票,还有一张1块,余额是110块。根据上面的描述,我们可以知道,比特币的转账和收款就是钱包里的纸钞不断消灭和生成的过程。需要知道比特币地址的余额,就需要把这个钱包地址的所有钞票拿出来,计算所有面值并求和。同时,比特币支持多对多交易,比如说可以一笔交易让A同时给DEF转账1块:1.拿出100面值烧掉,印出99块还给A,1块给D。2.拿出10块面值烧掉,印出9块还给A,1块给E。3.拿出1块面值烧掉,不找零给A,1块给F。UTXO模型神奇之处就在于,上面3个步骤可以分三个不相关的交易来发送,也可以直接使用1个交易来进行发送。对比以太坊,比特币要同时发送给100个人,只需要一笔交易就可以让100个人同时收到钱,性能差距可想而知。这样就理解为什么央行数字货币使用的是UTXO模型了,不然深圳怎么给5万个钱包发送1000万数字人民币?UTXO脚本控制,一个UTXO可不可以被销毁,控制的粒度是UTXO的级别,对交易没有顺序要求,因此可以进行多对多交易以及并行交易校验,在现金转账的场景下有极高的性能。UTXO脚本智能化

汇丰银行正在招聘数字资产产品经理,负责推动加密货币战略:金色财经报道,汇丰银行发布招聘信息,特聘一名产品总监来负责代币化用例和数字资产。据职位描述显示,候选人将在“监管机构、客户和数字资产生态系统中代表公司”扮演外部角色,将汇丰银行定位为“推动数字资产战略的领导者和创新者”。同时,数字资产产品经理的成功候选人将负责推动加密货币战略。

目前,汇丰银行与摩根大通等其他知名银行业巨头一起提供加密货币产品。 然而,随着汇丰银行寻求代币化,该银行可能会寻求提供更广泛的服务。[2023/2/1 11:39:32]

刚才提到的UTXO模型在并行化上面有极大的优势,具备突出的拓展性能,但是为什么我们在UTXO的公链上很少能够看到智能合约呢?主要是以下几点原因:1.UTXO脚本编程较为复杂2.BTC等公链限制了脚本类型,脚本体积等3.分布式状态管理较为复杂我们逐个解释一下。首先很多人并不知道,其实比特币是可以自由编程的。我们从Bitcoin的wiki可以看到,Bitcoin有大量操作码,这种操作码看上去及其不友好,长得非常像汇编语言。学习过比特币脚本原理的人应该知道,能不能花费比特币的判断是通过一个栈式结构来存储和校验的。

调查显示,FOMC的鹰派成员布拉德和沃勒更值得关注:12月12日消息,美联储主席鲍威尔和他的两名副手受到华尔街的关注,但主要鹰派人士提供的指引几乎同样重要。机构对经济学家的调查得出了这一结论,他们认为鲍威尔和威廉姆斯是最值得倾听的声音,其次是副主席布雷纳德。但布拉德和布雷纳德并列,长期担任美联储研究主管的沃勒也被认为是一个重要信号。两人一直在呼吁采取更积极的措施抗击接近40年高点的通胀。

Pictet Wealth Management美国高级经济学家Thomas Costerg表示,尽管布拉德不会投票,但我怀疑市场明年将继续密切倾听他的意见。瑞士再保险驻纽约高级经济学家Mahir Rasheed表示,在当前环境下,FOMC的鹰派成员布拉德、沃勒和梅斯特更值得关注,因为委员会发出了过度收紧优于收紧不足的信号。[2022/12/12 21:38:12]

栈中依次放入解锁脚本和锁定脚本,然后依次执行操作码,如果最终栈的返回值是true,那么此UTXO可花费,反之不可花费。其实我们熟悉的很多编程语言,在计算机底层执行逻辑的时候,也是栈的结构,比如Java,rust,go等等。以Java为例,Java存在栈内存和堆内存的概念,栈内存主要执行函数内部逻辑,堆内存主要存放对象等数据。由此可见,栈实际上是可以执行任意逻辑的,Java编译之后的字节码就是在操作这个栈来实现各种复杂的业务逻辑。比特币脚本使用的栈和虚拟机虽然不如JVM那么多复杂特性,但是通过一定的组合也是可以实现几乎全部的图灵完备逻辑。这里很多人会说比特币脚本没有死循环,因此不是图灵完备。实际上这是故意为之,为了保证计算一定会产生一个结果。其实以太坊等也没有真正的死循环,gas烧尽之后循环就会停止,比特币脚本在做循环的时候,需要预先将循环重复写入到脚本栈中,想做死循环,就要写一个无限长的脚本,这种交易明显是毫无意义的,在实际的脚本编写中,比特币脚本都会指定一个上限循环次数,确保手续费在合理的范围内。说了这么多脚本栈,我们来看看比特币脚本如何实现一些智能合约。一个最典型的合约场景就是ERC721,就是NFT合约。以太坊场景下要创建NFT,首先要部署一个合约账户,然后所有的NFT所有权由这个账户管理,所有此NFT的转账都要和这个NFT合约账户交互。在UTXO模型下,我们设计这样一种UTXO,它内部存在一段数据和代码,标记此UTXO代表什么NFT,谁可以解锁,怎么销毁它,怎么保证上限,那么这个UTXO就可以代表这个NFT。拥有这个UTXO的人就拥有了这个NFT。想要转账这个NFT,你就必须用私钥签名达成解锁条件,然后由比特币矿工来执行你的脚本,判断你是否可以转账这个UTXO。更重要的是,同一个系列的NFT,是分散在不同的UTXO中的,因此只要从分布式全局状态中找出满足特定条件的UTXO,就可以判断出NFT都属于谁。这些NFT的转账可以并行,并且互相之间不会产生影响,这也就提供了最高的性能。因此比特币合约的思想,就是使用单个UTXO脚本栈来存储状态和逻辑,整体状态由一批UTXO的状态共同组成,相对应以太坊的合约状态仅存在于一个账户中,对比之下,比特币的合约就拥有了和UTXO一样级别的并发能力,也就为大规模的高性能使用打下了基础。不考虑脚本体积和实用性以及客户端限制的话,在比特币上实现上上述逻辑从理论上是完全可行的,但是由于UTXO的独立特性,实际工程中会遇到两个难题,一个是UTXO互相感应的问题,另一个是合约溯源防伪的问题,这两个问题都被MVC链给巧妙解决了,因此可以最终实现可实用的高性能UTXO模型智能合约。MVC是一条完美实现比特币+高性能智能合约的Web3公链:1.采用兼容UTXO并行处理能力的一层智能合约技术「MetaTXID方案」;2.结合了UTXO模型优势,是区块链领域上并发性最高,执行成本最低的Layer-1链上智能合约方案;3.首次实现了UTXO模型公链的实用性图灵完备,可满足一切Web3应用和元宇宙应用的使用场景。MVC如何解决这两个问题,可以参阅官网白皮书或者等之后详细解释。注:本文节选部分章节自知乎文章《浅谈比特币UTXO模型和以太坊账户模型的优劣》。原地址

国际货币基金组织推荐生态友好型CBDC和非PoW支付机制:金色财经报道,在题为“数字货币和能源消耗”的研究中,国际货币基金组织根据其独特的设计元素检查了加密资产的能源消耗,以评估开发的理想机制中央银行数字货币(CBDC)。基金组织分享了围绕数字货币对环境影响的政策讨论的基础,建议放弃基于工作量证明的分布式账本技术应用,并补充说:尤其是比特币,这种类型中最著名的应用,估计每年消耗大量能源(约 144 TWh [太瓦时])。尽管可扩展性解决方案降低了每笔交易的能源成本,但它们并没有减少整体能源支出。然而,与传统金融系统相比,该国际组织承认非 PoW 许可加密资产带来的高能效:相对于现有支付系统,非 PoW 许可的加密资产减少能源消耗的潜力来自于核心处理架构和用户支付方式的节能。除了环保成分外,IMF 建议中央银行在 CBDC 中加入其他功能,例如合规性、更高的弹性和离线能力。(cointelegraph)[2022/6/9 4:12:11]

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

区块链全方位对比8大头部NFT市场平台_NFT:ARI

初学者NFT创作者和收藏者通常通过简单的Google搜索开始他们的NFT旅程。但是寻找最好的NFT市场——这在很大程度上取决于独特的数字收藏品需求——现在比以往任何时候都更需要正确的背景和尽职调.

[0:15ms0-1:471ms