作者:?CaseyDetrio
翻译&校对:?闵敏&阿剑
编者注:这篇文章的原标题为“PhaseOneandDone:eth2asadataavailabilityengine”,在发表当时,作者意在为Eth2.0提出一种替代Phase2的路线图,也就是,如果仅用分片来保证数据可得性,这样的系统是否有用,还需要增加哪些部分来使之变得有用。令人惊讶的是,在一年半以前,作者就已经认识到,对zk-rollup这样的系统来说,底层必须保障的是“状态转换的执行和数据可得性必须是原子化地绑定在一起的”,因此底层必须具备执行能力,哪怕是非常简单的无状态执行;而且,为保证用户体验,还缺少的主要部分是数据怎么上分片的手续费支付协议。手续费协议在Phase2的规范中,目前也仍然是缺失的。
顺带说一句,本文作者是CaseyDetrio,他是Ewasm团队的一员,之前也为Phase2提供过很多想法;他也认为,应该以“保证Eth1的合约到了Eth2能够如常执行”为核心来设计Eth2.0。他是被低估的一个开发者。
观点:美国总统候选人Kennedy的计划有助于将比特币作为一种新的货币形式合法化:金色财经报道,比特币杂志总经理Christian Keroles表示,比特币在美国的税收法规一直是其作为支付货币被采用的障碍,Kennedy的计划有助于将比特币作为一种新的货币形式合法化。
此前消息,美国总统候选人Robert F.Kennedy计划包括减税并开始用比特币等资产支持美国债务。Kennedy表示,“我的计划是从非常非常小的规模开始,也许发行的国债的1%将由硬通货、黄金、白银或比特币支持。”[2023/7/21 15:50:26]
目前,限制Eth1吞吐量的瓶颈是状态增长。因此,如果我们想要扩展以太坊,从逻辑上来说,1000个具有独立状态的分片能够将吞吐量提高1000倍。
但是,从Eth1.x的路线来看,Eth1.x想要对两类资源的成本进行重大调整:存储和交易数据。目前,存储的定价过低,而交易数据的定价过高。这会激励dApp开发者在编写合约时更多使用存储而非交易数据,从而导致存储成为吞吐量的瓶颈。针对这一问题提出的解决方案是增加存储的定价,并减少交易数据的定价。经过这些成本调整,开发者将受到激励更多地使用交易数据,而非存储。因此,在不久的将来,我们预期Eth1的吞吐量会受到交易数据的限制,而非存储的限制。
观点:Facebook元宇宙与区块链行业最初提出的元宇宙愿景几乎无关:10月30日消息,CoinDesk发表分析文章《Facebook以其荒谬的更名再次窃取加密创意》。文章称,马克·扎克伯格(Mark Zuckerberg)关于元宇宙的愿景与区块链行业首次提出的开放、可互操作的愿景几乎没有关系。尽管Facebook的在线虚拟现实(VR)将有某种形式的NFT集成,但更广泛的愿景并不是扎克伯格提出的。其发布会主要集中在他对苹果应用商店和Facebook计划建立以在线VR体验为重点的竞争性平行围墙花园(CoinDesk作者表示不打算称之为元宇宙)的失望。他们将向设计虚拟衣服的创作者收取费用。扎克伯格昨天甚至警告说,平台上的费用在一段时间内会很高。扎克伯格解释称,Facebook将在一段时间内亏本建设其在线VR业务(包括通过补贴设备),以此来证明其高额费用是合理的。CoinDesk作者还提到用户隐私、垄断、法律和监管方面的问题,并最后总结称,Facebook正在建造的元宇宙是数字版本的地狱。
去中心化借贷平台Dharma联合创始人Brendan Forster昨日发推称,“因此,基本上这是一场创造引人注目的元宇宙的竞赛中,以太坊与Facebook的对决。开放vs.封闭;透明vs.不透明;无需许可vs.许可;社区所有vs.扎克伯格所有。我下注了。让我们一起建设美好的未来。”
据此前报道,Facebook宣布更名为Meta,其元宇宙将支持NFT。(CoinDesk)[2021/10/30 6:21:25]
如果我们假设吞吐量受到交易数据的限制,那么为了扩展以太坊,Serenity上的分片不需要有状态。如果吞吐量受到来自无状态合约的交易数据的限制,那么1000个无状态分片就会将吞吐量提高1000倍。
观点:目前处于牛市中期,BTC半年内或再涨5倍:知名分析师PlanB发推称,尽管出现了土耳其禁令、美国税收、Faketoshi诉讼,马斯克关于比特币环境损害的言论等不利事件,但比特币比6个月前高出5倍;而且通过S2FX模型和链上数据表明,我们仍处于牛市的中期。 因此,在接下来的6个月内,BTC再涨至现在5倍的价格,我不会感到惊讶。[2021/5/14 22:04:10]
这听起来不错,但是需要通过分片来实现,按计划要等到Phase2。与此同时,我们可以将Phase1作为数据可得性引擎。数据可得性引擎一词似乎逐渐流行起来。我们来思考一下它是如何运作的。
以zk-rollup为例,zk-rollup受到数据可得性的限制。Eth1上的zk-rollup合约能否有效地将Eth2作为桥接式可用性保障提供方?如果在执行过程中无法同时保障数据可得性,你就会得到一个类似plasma的zk-rollback系统。这个系统虽然能够大幅提高TPS,但是会引入复杂的权衡关系,需要处理像plasma那样的运营者挑战和退出机制。在可用性挑战中,任何人都可以提供数据来证明可用性,因此目前还不清楚将数据放入桥接的Eth2分片中能不能让事情变得更简单。
观点:ETH代币化抵押版本未来或将替代ETH本身:权益质押服务商Staked首席执行官TimOgilvie表示,以太坊从工作量证明机制(PoW)转向权益证明机制(PoS)的最终结果是,ETH代币化抵押版本未来将替代ETH本身。TimOgilvie进一步解释称,可以想象,投资者更想要持有抵押版本而不是原始的真实资产。ETH的代币化抵押版本可以执行ETH的所有功能,也比ETH更有价值,因为抵押版本可以获得可观的奖励并同时进行其他活动,例如,可以用作Compound的抵押品或提供给Uniswap流动资金池。这是很合理的,毕竟,DeFi是以太坊的杀手级应用。(Coindesk)[2020/10/15]
现在有了另一个版本的zk-rollup,即,500TPS的zk-rollup,一切都变得简单多了。不再需要指定的运营者,任何人随时都能充当中继者,并生成SNARK证明来更新状态。事实上,数据可得性保障始终伴随着状态更新,也就是说不需要处理像plasma那样的运营者挑战和退出机制。但是这需要执行和数据可得性保障都发生在同一笔交易中,而遗憾的是我们无法使用桥接式可用性引擎做到这点。换言之,桥接对于zk-rollback这样的欺诈证明系统来说足够了,但是对zk-rollup这样的有效性证明系统来说还不够。结论是,为了将Layer2上的有效性证明简单化,Layer1上的可用性引擎需要具备的一项重要功能是,能保证数据可得性与状态转换的执行是原子化地一起发生的。
观点:区块链应用最大阻力是技术共识逻辑影响了既得利益者:全国社会保障基金理事会原副理事长王忠民在《寻找区块链力量》节目中表示,今天区块链应用最大的阻力不是技术,不是前端场景的拓展,而是因为区块链是分布式的,是技术的共识逻辑替代了原有的中心化一切的金融逻辑与社会组织、社会生产逻辑。而原有的这些,无论是制度规定、制度执行、监管和组织体,一定是这当中的既得利益者。(新浪财经)[2020/9/10]
或许我们不应该对这一认识感到惊讶。如果单靠数据可得性就有用的话,就不会有人说Phase1启动只是为了确保一堆非零blob的可用性,也就不会有人抱怨必须要等Eth2进入下一阶段才能真正发挥作用了。我们正在努力将Phase1作为数据可得性引擎,但是它依然无法执行任何操作,因此令人感到失望。
那么,为什么Phase1会与执行相冲突?好吧,假设是有状态执行,则每个分片都要维护一些本地状态。如果验证者需要维护很多本地状态,那么验证者混洗就会复杂得多。反之,如果没有执行,就不用担心本地状态。验证者混洗就会简单得多,我们就可以专注于使用数据blob构建分片,然后更快地启动分片。
但是,我们先不假设执行是有状态的。如果我们尝试使用非常简单的无状态虚拟机来执行操作会怎么样?
假设信标链状态中有3个新的验证者字段:code、stateRoot和deployedShardId。这里还有一个函数process_deploy。一旦代码部署完成,验证者必须保证账户余额不低于某个阈值。
现在,我们假设全局状态中已经有了一些带有代码的账户。
接下来,我们尝试将特定数据blob打包到分片上,但是该怎么做?据我所知,对于phase1的分片验证者来说,如何决定将哪些数据blob打包到分片区块中仍是个悬而未决的问题。假设phase1规范中没有详细说明这一点。那么,对于用户来说,如果他们想要将自己的数据blob打包到分片上,就只能通过两种方式:联系验证者,并通过协议外的方式向其付款;自己成为验证者,就可以将数据blob打包到分片上。这两种方式都是下策。
比较好的方法是,将事情摆到台面上,允许验证者通过一个交易协议向当前区块提议者支付费用。作为交换,区块提议者要将验证者的数据blob打包到分片链上。但是,如果信标链区块操作有最小容量要求,这种方法就行不通了。如果没有一个能够让验证者决定数据blob打包优先级的交易协议,那么“将phase1作为数据可得性引擎”的用例将无法实现。不管怎么说,我们先假设,不管分片提议者在“没有执行的数据可得性引擎”模式中如何打包数据blob,都可以在“简单无状态执行的数据可得性引擎”中都同样能做到。
好了,那么假设特定的数据blob可以打包进区块了。每个区块都将执行限制在一笔交易中。我们还未明确交易要用密钥签署,还是不需要签署。假设是后者,且代码实现了自己的签名检查。如果blob能够作为交易成功解码,则以数据和当前状态根作为输入执行目标账户代码。如果执行成功,则返回数据为新的状态根。
我们如何更新验证者账户的stateRoot?我们无法在每个分片区块的BeaconState中更新状态根。但是,信标链的状态中的分片字段,会随着交联而更新。取同一个分片上所有账户的已更新状态根,假设对它们进行哈希运算,得到shard_state_root。shard_state_root似乎与phase1设计中已有的crosslink_data_root差不多。
不可否认的是,不是每挖出一个信标链区块,所有分片状态根都会更新,因此存在一些本地状态。但是,如果账户是全局的,状态根数据就是最小化的。这就与混洗期间验证者之间需要转移部分分片区块的数据差不多。
这里当然忽略了很多细节。我想要表达的是,无状态执行的大部分要求似乎在phase1就能满足。我认为,最大的问题在于,目前尚未明确用户可以通过哪种方式将他们的blob打包上链。或许这只是第一个问题,还有其它严重的问题被我忽略了。我忽略了什么?如果要在phase1上允许用户通过某种方式将blob打包上链,那么最困难的部分是什么?
这个执行模式相比phase2的提议更加简单,一大原因是合约账户是全局的,就像验证者账户一样。这就意味着,合约账户的数量必须设有上限,而且部署代码的成本与成为验证者的成本一样高。但是,如果这能够让我们更快地将执行引入Eth2,我们是否可以接受这种权衡?代码部署后,就无法更改合约存储,因此也可以说,我们这是在尝试不扩展合约存储而为Phase1提供执行功能。这里还有一大重要用例:具备数据可得性的超高吞吐量。
即使有了基础的无状态执行,用户也可以通过将一个合约的状态证明作为交易数据发送到另一个合约,从而实现跨分片合约调用。合约也可以实现自己的类似收据的功能。开发者体验不是很好,因为协议不会提供任何帮助。但是现有的phase2提议似乎缺乏实际的功能来促进跨分片合约交互。因此,就开发者体验而言,基础的phase1无状态执行听起来没有比“简单的”phase2构想糟糕很多。基础的无状态执行也足以实现信标链上的BETH和主链上的ETH之间的双向锚定。
Phase2提议与我们这里的提议的最大区别在于,Phase2的目标是扩展合约的storage。但是存储,以及相应而来的富状态执行,同样似乎就是大多数复杂性的来源,也正是使我们无望在Phase1引入执行的原因。
2020年,包括亿万富翁PaulTudorJones和商业情报公司MicroStrategy在内的不少传统金融巨头都购买了大量比特币.
1900/1/1 0:00:00随着近期比特币价格的上涨,市场一扫年初疫情+减半的低靡氛围。英国最大的上市加密矿商ArgoBlockchain近日更是在报告中指出,11月份的月平均挖矿利润率为57%,而10月为40%.
1900/1/1 0:00:00互联网技术和区块链技术的应用发展正在使得未来的银行服务能够以更广泛的方式,由不同类型的提供者提供。银行服务会像通讯服务一样被镶嵌在很多的应用终端.
1900/1/1 0:00:00渣打银行(StandardChartered)首席执行官BillWinters认为,数字货币的广泛应用将是不可避免的,因为私人和政府支持的实体都将在应用过程中发挥重要作用.
1900/1/1 0:00:00一件接着一件,Compound动辄千万美金资产清算事件的爆出,让从前备受推崇的预言机成为众矢之的.
1900/1/1 0:00:00本文发表于联合早报作者:白士泮新加坡国立大学客座教授、李白金融学院院长、原新加坡金融管理局学院院长原标题:《也谈谈数码银行发展之道》新加坡金融管理局刚刚公布数码银行执照申请结果,媒体舆论纷纷.
1900/1/1 0:00:00