月亮链 月亮链
Ctrl+D收藏月亮链
首页 > 币赢 > 正文

比特币:一文探讨如何在比特币实现高性能智能合约?_以太坊交易平台有哪些

作者:

时间:1900/1/1 0:00:00

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

数据:价值1.68亿美元的AVAX代币将于5月28日解锁:金色财经报道,Avax代币的最新解锁计划将在一个月内完成,按当前价格计算将释放价值1.68亿美元的代币。据Token Unlocks的数据显示,价值超过1.68亿美元(按当前价格计算)的9,541,800枚Avax 代币将于5月28日解锁。考虑到该代币的流通供应量为3.27亿枚,计划解锁的近1000万枚Avax占所有流通代币的3%以上。

此外,总共有超过3.6125亿枚Avax代币(占加密货币供应量的一半以上)仍处于锁定状态,将在未来七年内逐步释放。[2023/4/29 14:34:29]

账户模型

我们熟知的智能合约公链平台,例如以太坊,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模型

硬件钱包Trezor通过Wasabi Wallet提供隐私交易功能:金色财经报道,加密货币硬件钱包 Trezor 通过 Wasabi Wallet 提供隐私交易功能CoinJoin,该功能于 2022 年推出,允许多个用户将他们的比特币输入集中到一个交易中,并接收相同数量的比特币输出但地址不同,从而对比特币交易进行混合。[2023/4/19 14:14:20]

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脚本智能化

分布式资本合伙人沈波:今日卖出LQTY系黑客行为,对LQTY持有长期信心从未出售:4月16日消息,分布式资本创始合伙人沈波在社交媒体上发文表示,今日遭卖出的LQTY被盗资产与去年11月为同一笔,目前各方正积极追查。被盗钱包交易非本人操作,LQTY卖出系黑客行为。个人对LQTY持有长期信心,一直未曾出售并长期支持Liquidity Pool。沈波呼吁社区共同协助寻找黑客线索,愿提供酬劳。此前报道,分布式资本创始合伙人沈波于去年11月23日宣布个人常用的894结尾钱包地址被盗,共包含价值4200万美元资产。[2023/4/16 14:06:33]

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

a16z合伙人Chris Dixon:因投资Coinbase而未投资FTX,离岸交易所不受监管本身就是隐患:12月19日消息,a16z 合伙人 Chris Dixon 近日在 The Block 的播客 The Scoop 中谈到为什么 a16z 从未投资过 FTX等话题。主持人问 Chris Dixon躲过 FTX 是技巧还是运气,对此,Chris Dixon 表示,自己只和 SBF 在线上会议上有过对谈,并无深交。之所以没有投资 FTX 主要是因为投资了 Coinbase,而和 Coinbase 合作的经验告诉他,合规、安全要比灵魂和创新更重要,所以,FTX 这种离岸加密交易所不受监管本身就是一种隐患。

为什么 FTX、Phoenix 等交易所会选择将总部设立在巴哈马群岛?谁来审计他们?Chris Dixon 说道,没有投资 FTX 并非完全出于运气,a16z 在投资领域积累了十多年的经验,会在投资前做大量的工作,并且认真思考什么是真正的技术创新。[2022/12/19 21:54:14]

栈中依次放入解锁脚本和锁定脚本,然后依次执行操作码,如果最终栈的返回值是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模型和以太坊账户模型的优劣》。原地址

经济日报:比特币暴跌还需警惕归零风险:6月22日消息,经济日报评论称,频繁暴跌下,比特币投资风险已展露无遗。相较于6.9万美元的高点,目前看似跌幅已深,但还需警惕清零风险。比特币不过是一串数字代码,收益主要来自低买高卖的价差,未来一旦出现投资者信心崩塌不再“接盘”,或美国等主权国家宣布比特币非法等情况时,比特币将回归其一文不值的原本价值。投资者不可抱着抄底的想法贸然入场,以免被“割韭菜”。[2022/6/22 4:44:31]

标签:比特币以太坊NFT区块链买卖比特币会坐牢吗杭州以太坊交易平台有哪些ANIME Vault (NFTX)银行区块链

币赢热门资讯
BAN:Bankless:5个在熊市逆势增长的加密项目_IMI

加密货币仍处于熊市,这一点不可否认。但另一件不可否认的事情是:当下仍有少数板块和项目根据关键的基本性能指标正在蓬勃发展。这里有5个项目,它们不畏艰险,正在经历自己的牛市.

1900/1/1 0:00:00
ZED:空投埋伏日记:Vela、Zeus Swap、Nostr(12月26日)_metamask

熊市漫漫,热点分散。在缺乏明确投资机会的当下,本着“宁可错付gas,不能放过大毛”的原则,我将视线与精力投向了优质项目交互,说不定还能提前发现下一价值标的,是吧.

1900/1/1 0:00:00
MEV:以太坊转PoS后,如何缓解MEV的影响?_以太坊

本期篇幅较长,为了方便大家阅读可预览目录:温习:什么是最大可提取价值MEVPart1:以太坊POS中MEV验证者中心化许可内存池Part2:MEV两种解决方案Proposer-BuilderSe.

1900/1/1 0:00:00
REN:Ren2.0开发的空窗期,挑战者会否趁机抢占市场?_DoRen

在FTX和AlamedaResearch暴雷之后,跨链桥RenProject也陷入了危机,前者已经在2021年初收购了后者.

1900/1/1 0:00:00
ANC:深度研究DeFi遗珠:固定利率借贷(下篇)_TRAVEL

相关阅读深度研究DeFi遗珠:固定利率借贷上篇我们介绍了基础类固定利率协议,其机制本质上是通过铸造零息债券来支持固定利率借贷,而我们下面要介绍的本息分离固定利率协议.

1900/1/1 0:00:00
WEB3:欧科云链研究院:我们对2023年行业趋势的7个预测_WEB3COIN

回望2022,加密行业遭遇了种种不可控因素而导致的艰难险阻,也在变革与发展中孕育着生机与活力。这一年,我们亲眼目睹了Luna暴雷,三箭资本、FTX这些曾经被认为“大而不倒”的机构接连倒下,市场信.

1900/1/1 0:00:00