作者|BenEdgington
编译|Jhonny
我知道你们最近几天都被有关Libra的消息刷屏了,所以这里有一点精神慰藉:本文不会提及Libra的相关信息,在这里我们将回顾一些最新的以太坊2.0开发进展。
本文的内容不是非常全面的,这些天发生的事情太多了。我将把过去几周积累的各种片段整理成一些连贯的东西。
让我们从开发更新开始。众所周知,以太坊2.0的交付计划分为三个不同的阶段。最近最令人兴奋的是有关阶段0(接近信标链客户端的互操作性)和阶段2(以太坊2.0计算模型的开始)的进展。
阶段0:信标链实现
信标链(beaconchain)是整个以太坊2.0系统的协调层,可能也是最难交付的部分。有关信标链的背景知识,请参阅我之前发表的StateofEthereumProtocol#2:TheBeaconChain这篇文章。
去年6月份,信标链被设想为以太坊2.0的未来。仅仅一年之后,阶段0的规范将在今年6月30日被冻结敲定。它是一个全新的区块链设计,其野心之大前所未有,包含了几十项重大的创新和见解,8个客户端实现已经准备就绪:这是惊人的以太坊社区一年以来的成就。坦率地说,这将使Libra相形见绌。任何对此不以为然的人,都生活在与我不同的宇宙中。
既然有关以太坊2.0规范的更新进展已经在Github上被很好地跟踪和记录了,我就不像在以前那样详细介绍了。今天我们将从更广泛的角度来介绍相关的进展。
01.互操作性
随着阶段0的规范趋于稳定,现在的重点转移到各个以太坊2.0客户端实现之间的互操作性(interoperability)。当前由8个活跃团队正在跟上最新的以太坊2.0规范。
一旦信标链网络启用,每个客户端都将需要相互进行通信,以便就信标链的状态达成一致。每个客户端都需要遵循相同的规则:即使是一个位(bit)不正确,也会导致无法达成共识。
考虑到这一点,我们在布鲁克林的BushwickGenerator举办了一个研讨会,名为“通往互操作之路”(TheRoadtoInterop)。我拍了一些照片,感兴趣的人还可以观看现场录制的长达四个小时的视频,还有研讨会的议程。这是一个让几个客户端实施团队聚在一起,计划如何让我们的客户端彼此连贯地通信的场合。Vitalik在当天下午做了一个关于阶段2想法的演讲(见下文)。TerenceTsao也发布了关于Prysm客户端架构和设计的演讲幻灯片。
计划中的下一个重大事件是大约在9月初举办的主题为“InteropLock-in”的研讨会。那时,客户端实现团队将在聚集在安大略省某个偏远的小屋,但只有在我们确认了所有客户端都能够很好地相处之后才会进行。
澳新银行通过智能卡试用离线CBDC支付:金色财经报道,澳新银行正在与两所大学合作,通过智能卡试用离线 CBDC 支付,这些智能卡可以加载资金并像实物现金一样使用。该试点将在南十字星大学和 RMIT 大学的校园内进行。作为试点的一部分,将向参与的学生发放预装了 CBDC 资金的支持 NFC 的智能卡。这是澳洲联储试点中由澳新银行支持的四项测试之一。另一个项目将测试雇主使用 CBDC 支付退休金作为传统支付方式的可行替代方案的效率和有效性,而第三个项目将根据 KYC 流程研究 CBDC 的发行。[2023/3/12 12:57:59]
JonnyRhea在Github上整理发布了拟定通往互操作性之路的各阶段,大家可进行参阅。
02.网络(Networking)
最终目标是使Libp2p成为以太坊2.0网络基础上的P2P通信协议(备注:Libp2p是一个便于使用者开发去中心化点对点应用程序的网络框架)。
然而,作为实现这一目标的一个简化步骤,各个客户端正在实现更简单的Hobbits协议,TrentonvanEpps发表的这篇文章对Hobbits协议进行了很好地介绍。Jonny也以推文风暴的形式阐述了Hobbits协议的基本原理,且ConsenSys也提供了一些奖励金来鼓励各团队在客户端中整合该协议。
与此同时,Whiteblock在Libp2p上做了一些性能测试,DanielChoi在ScalingEthereum探讨会上进行了介绍。他们的发现对Libp2p在某些情况下的性能提出了一些问题。但是,通过与PrtcocolLabs进行合作,我们还将对Libp2p进行一些进一步的测试,以探索与以太坊2.0相关的更真实的参数范围。
另一个有趣的进展是,PegaSys研发团队发表的拜占庭容错聚合协议Handel:PracticalMulti-signatureAggregationforLargeByzantineCommittees(《Handel:实现更大规模的拜占庭委员会的实用多重签名聚合》)。
该协议可以显著地加快以太坊2.0中验证者搜集区块证明(attestations)的速度,允许更大的委员会规模(committeesizes),因此可能更快地实现交易的最终性(finality)。
03.Testing测试(Testing)
在当前对阶段0进行开发的期间,大量的测试工作正在进行。值得注意的是AntoineToulme关于测试运行器(runner)的工作,这项测试工作由MolochDAO资助,可以通过这个视频来了解最近的进展更新,该视频非常值得客户端开发人员查看。
该规范是可执行的,并且所有跨客户端测试向量都可以直接从编写好的规范生成,这一点是非常棒的。
澳大利亚监管机构建议将加密产品分为四类:2月3日消息,澳大利亚就自己的加密资产分类法公开征求意见。国家监管机构建议区分与加密相关的四种产品。澳大利亚财政部发布的关于“代币映射”(Token Mapping)的咨询文件显示,建议将加密产品分为四类:
1.加密资产服务。包括借贷、交易、资管、矿业、托管等。
2.中介加密资产。如某项权利或许可、知识产权、奖励计划、消费品和服务、稳定币、非金融资产和政府债券息票等。
3.网络代币。如BTC等构成点对点支付基础设施的“新型货币”。想想你原来的BTC。
4.智能合约。包括“中介”及“公共”,前者由中介机构用于提供服务;后者由各方用于消除对中介机构的需要。[2023/2/3 11:46:18]
还需要进行大量的工作来对该规范进行模糊测试(fuzz-test),并提供一个用于对客户端进行模糊测试的框架,正如在最新版的以太坊2.0规范中所体现出来的那样。
04.形式化验证(FormalVerification)
RuntimeVerification已经编写了有关以太坊2.0存款合约增量Merkle树实现的审计报告,该报告使用Vyper语言(而不是Solidity)进行编写。
这是一个重要的里程碑,为将存款合约部署到当前的以太坊1.0链铺平道路。为了便于阅读,我们团队(备注:即PegaSys团队)的JoeDelong撰写了一篇解释性的有关以太坊2.0存款Merkle树的实现的文章。稀疏的Merkle数是非常棒的!
RuntimeVerification还将在K语言中生成信标链的正式可执行规范。
05.信标链上线
在上周以太坊2.0实施者的电话会议上,JustinDrake提出了信标链部署阶段的两个目标日期:
在DevCon5会议期间:将存款合约部署到当前的以太坊1.0链上。这一公开仪式将有助于避免子发布虚假地址来窃取人们的存款。
2020年1月3日:信标链创世区块可能诞生。那时信标链将正式启用。
信标链创世区块的诞生将取决于两个先决条件。首先,存款合约中必须质押有足够多的ETH。之前的一个硬性目标是质押的数量超过200万ETH,但这个要求已经被移除。但质押数量的目标将是一个保证信标链安全启动的指令。
第二个先决条件是目标为3个(或至少两个)“生产就绪”的信标链客户端和网络验证者。在此之前,所有客户端都要完成大量的兼容性、优化、测试、审计、改进、工具化、文档化和打包工作,所以我认为1月3日的目标有些雄心壮志。
阶段1:分片数据
最近,阶段1的规范已经成了Serenity的一片绿洲。
BTC跌破16000美元:金色财经报道,行情显示,BTC跌破16000美元,现报15997.4美元,日内跌幅达到4.11%,行情波动较大,请做好风险控制。[2022/11/21 22:12:40]
阶段2:状态执行
公平地说,就在几个月前,以太坊2.0要交付的阶段2还是一片迷雾。阶段2是所谓的“执行层”,这使得以太坊2.0区块链实际可用。该阶段将提供资金转移、实现智能合约和所有让dapp得以构建等功能。但是,就在最近的4月初,我们还不清楚该阶段将会是什么样子。CaseyDetrio在ScalingEthereum会议期间上做了一个关于阶段2的历史和现状的精彩演讲,非常值得你花五分钟的时间进行观看……当时针对此阶段的所有问题都是开放的,设计空间仍然是巨大的,可能性也是无限的,那时我们不知道从哪里开始。
为了打破这一僵局,Casey在Ethresear.ch上发布了一项令人兴奋的提议:PhaseOneandDone:eth2asadataavailabilityengine。在不深入所有细节的情况下,这引发了一股创新浪潮,阶段2迅速而令人兴奋地开始成为关注的焦点。
之后Vitalik默默地公开了有关阶段2的首个提案及其后续跟进,以回应Casey的提议。新成立不久的Quilt团队的WillVillaneuva在Medium上发表了一篇对此进行解释的文章。在纽约的Interopday期间,Vitalik讲述了有关阶段2的最新想法(相关视频见),最后在多伦多的ScalingEthereum会议期间阐述了更多的背景信息(视频见)。
Vitalik提议的主旨是将以太坊区块链在执行交易中的作用降至最低。在以太坊1.0链中,只有一种执行交易的方式,即通过EVM。在执行了某个区块中的交易之后,交易状态的Merkle根将被写入该区块中。为了在该区块中的交易上运行EVM,所有的节点都需要存储整条链的状态(包含账户余额、合约存储情况等)。
目前的阶段2建议采用这个模型并加以推广。现在可以有几种(甚至很多)EVM类型(我们称之为执行环境,executionenvironments(EEs))。
执行环境(EE)就是在eWASM中编写的、(几乎)作为纯函数运行的代码。这意味着执行环境本身并不会存储任何状态:执行环境所需要知道的任何信息都必须伴随着交易一并被提供。因此,假如我想要发送一枚代币给你,那伴随这笔交易,我需要提供一个证明(比如一个Merklebranch),从而证明我的余额中有这枚代币;该执行环境不知道我的余额有多少,因为它并不存储任何信息。实际上,这并不完全正确:每个执行环境都将存储一个32字节的值,该值是其当前全局状态的某种概要或累加器(也许是一个Merkle根,但这并不是规定性的,它可以是任何足够安全的东西)。
Coinbase:未持有FTT,在FTX上有价值1500万美元的存款:11月9日消息,Coinbase官方表示,无论币安对FTX的收购交易是否完成,Coinbase对FTX的敞口都很少,在FTX上有价值1500万美元的存款。并未持有FTT,没有接触Alameda Research,也没有向FTX提供贷款。此外,Coinbase表示此事件再次证明强有力且明确的监管对于加密行业至关重要。
Coinbase重申其无任何流动性或信用风险,用户可在其公开提交的经审计的财务报表中查看Coinbase以1:1的比例持有客户资产,且拥有56亿美元的总可用资产,其中包括50亿美元的现金和现金等价物。[2022/11/9 12:36:34]
以这种方式将执行层提取出来,这能够提供最大程度的灵活性。可能会出现针对zk-Rollups、ERC20之类的代币或者企业友好型环境、Plasam,亦或者使用Haskell编写的智能合约的EE(执行环境)等等。
其理念是,只要支付相当高的费用(大约100ETH?),任何人都可以部署自己的EE来支持自己的专业区块链环境。以太坊2.0分片链只关注基本方面:交易排序和数据可用性。
当前,一些问题仍在积极讨论中:是否支持EE之间的同步调用、如何组装区块的细节以及收取gas费用、EE是永久性的还是需要支付一些存储费用(storagefee)、EE最初将在以太坊2.0中部署什么等等。但在我看来,这无疑是正确的方向。
如果你想了解更多关于这一切的细节,你可以查看Casey和Alex的Scout库,他们正在做一些可能的原型,以及他们在Ethersear.ch上发表的文章:Phase2executionprototypingengine。
对于我们这些更熟悉当前EVM执行的具体情况的人来说,所有这些听起来可能相当抽象和陌生。不用担心,适应以太坊1.0和以太坊2.0之间的平稳过渡路径已经成为一项优先事项,现在有一些有趣的想法可以有效地实现这一点。虽然还存在一些挑战,但相关的讨论一直在Ethresear.ch行进行展开。
其他信息
以下是我在过去一个月左右的时间里随机收集的一些零碎信息:
Chainsafe的ColinSchwartz正在撰写一篇以太坊2.0的完整指南以及有关以太坊2.0扩展性的第一部分;
DannyRyan在Ethereal会议期间传递的“CautiousOptimism(审慎的乐观态度)”;
EthGasStation与Prysm团队合作并发布了相关报告;
AlexStokes撰写了一篇解释以太坊2.0如何充当以太坊1.0的最终性小工具的文章,以及一篇有关以太坊2.0共识的经济安全性的文章;
安全团队:Optimism将约4.5亿美元的OP从多签钱包转移至Coinbase托管钱包:金色财经报道,据派盾(PeckShield)监测,@optimismFND已将数百万枚的OP(价值约4.5亿美元)从一个多签钱包账户转移到Coinbase托管钱包中。[2022/8/18 12:32:59]
MattGarnett列出的开启以太坊2.0学习的资源列表;
可以在Twitter或Peepeth上关注我,了解更多信息。
更多资源
相关的规范文档
?Pullrequests
?Commits
?Issues
验证者注册合约
两周一次的以太坊2.0实施者电话会议
https://ethresear.ch/
https://gitter.im/ethereum/sharding&https://gitter.im/ethereum/casper
Eth2.0Handbook更新
Sharding路线图更新
信标链相关问题
https://github.com/ethresearch/p2p/issues
以太坊Reddit社区地址
加密货币领域相关推特账户
----
文中涉及的链接:
:https://media.consensys.net/state-of-ethereum-protocol-2-the-beacon-chain-c6b6a9a69129
:https://github.com/ethereum/eth2.0-specs/releases
:https://photos.app.goo.gl/eV81rzNZoBBtnm1HA
:https://www.youtube.com/watch?v=NlDA3gKqysA
:https://hackmd.io/@vJTdwcwQSByvMaZGfTX_oQ/Hyz8Mw-9V?type=view
:https://docs.google.com/presentation/d/1UN5EV6nb2UHAQdVkE5BGkL2fyKKND0cdWi7gS2SWhAw/edit#slide=id.p
:https://github.com/ethereum/eth2.0-pm/tree/master/interop/hobbits
:https://medium.com/whiteblock/introducing-hobbits-a-lightweight-wire-protocol-for-eth-2-0-b1bfae5e4843
:https://twitter.com/JonnyRhea/status/1139245584169209858
:https://explorer.bounties.network/profile/0xb7693d3f040d66ab89ab86e7f8688c01febbc77c
:https://youtu.be/RW7K3JQOZOg?t=9335
:https://twitter.com/DeanEigenmann/status/1137032627230089216
:https://arxiv.org/pdf/1906.05132.pdf
:https://www.youtube.com/watch?v=4V-WQ2CnRfA
:https://github.com/ethereum/eth2.0-specs/tree/dev/test_generators
:https://github.com/ethereum/eth2.0-specs/releases/tag/v0.7.1
:https://medium.com/@josephdelong/ethereum-2-0-deposit-merkle-tree-13ec8404ca4f
:https://twitter.com/RosuGrigore/status/1131066228460675072
:https://github.com/ethereum/eth2.0-specs/pull/1152
:https://github.com/ethereum/eth2.0-specs/blob/dev/specs/core/1_shard-data-chains.md
:https://www.youtube.com/watch?v=RW7K3JQOZOg&t=6284
:https://ethresear.ch/t/phase-one-and-done-eth2-as-a-data-availability-engine/5269?u=benjaminion
:https://notes.ethereum.org/s/HylpjAWsE#
:https://ethresear.ch/t/proposed-further-simplifications-abstraction-for-phase-2/5445
:https://medium.com/@william.j.villanueva/a-journey-through-phase-2-of-ethereum-2-0-c7a2397a36cb
:https://youtu.be/NlDA3gKqysA?t=9441
:https://www.youtube.com/watch?v=RW7K3JQOZOg&feature=youtu.be&t=2090
:https://sites.google.com/consensys.net/fae
:https://ethresear.ch/t/one-fee-market-ee-to-rule-them-all/5608?u=benjaminion
:https://github.com/ewasm/scout
:https://twitter.com/alexberegszaszi/status/1132242394102009856
:https://ethresear.ch/t/phase-2-execution-prototyping-engine-ewasm-scout/5509?u=benjaminion
:https://twitter.com/cdetrio/status/1134949249974767616
:https://twitter.com/matt_garnett/status/1135925934882775043?s=03
:https://ethresear.ch/t/work-to-natively-integrate-eth1-into-eth2/5573?u=benjaminion
:https://medium.com/chainsafe-systems/ethereum-2-0-a-complete-guide-d46d8ac914ce
:https://medium.com/chainsafe-systems/ethereum-2-0-a-complete-guide-3739a74be61a
:https://www.youtube.com/watch?v=Z_dhq0MlFtc
:https://ethgasstation.info/blog/eth2-proof-of-stake-testnet-what-we-learned/
:https://medium.com/@ralexstokes/the-finality-gadget-2bf608529e50
:https://medium.com/@ralexstokes/how-secure-is-ethereum-2-0-consensus-41523a59f270
:https://twitter.com/matt_garnett/status/1136049338176720896
:https://twitter.com/benjaminion_xyz
:https://peepeth.com/benjaminion_xyz
:https://github.com/ethereum/eth2.0-specs/tree/master/specs
:https://github.com/ethereum/eth2.0-specs/pulls?q=is:prsort:updated-desc
:https://github.com/ethereum/eth2.0-specs/commits/master
:https://github.com/ethereum/eth2.0-specs/issues
:https://github.com/ethereum/deposit_contract/
:https://github.com/ethereum/eth2.0-pm
:https://notes.ethereum.org/s/BkSZAJNwX
:https://github.com/ethereum/wiki/wiki/Sharding-roadmap
:https://github.com/ethereum/beacon_chain/issues
:https://www.reddit.com/r/ethereum/
:https://twitter.com/benjaminion_xyz/following
我们比特猫日报的第25期《网约车平台“易道用车”被黑客攻击勒索巨额比特币》讲到了5月26日那天凌晨,易道用车的服务器遭到黑客连续攻击,攻击者向易道索要了巨额比特币.
1900/1/1 0:00:00活动时间北京时间2019年6月21日18:00–6月29日18:00活动形式一、充值、交易赢60%手续费“节点权益”活动期间:1.用户在Bibox充值ALGO即可成为“ALGO充值节点”.
1900/1/1 0:00:00据France24报道,瑞士市场监管机构金融市场监管局周四证实,其已经与Facebook加密货币项目的的“发起人”进行了接触,主要是围绕近来层出不穷的监管担忧.
1900/1/1 0:00:00火星财经APP一线报道,比特币于今日大幅上涨,带动多数加密货币价格不同程度地上扬,整个加密货币市场总值即将突破300亿美元.
1900/1/1 0:00:00BTC比特币凌晨时分再次上攻,连续的调整的蓄力只为了这一刻的酣畅淋漓,价格在强势突破11000美元后再次刷新高点,最高触及11489.
1900/1/1 0:00:00时隔一年,比特币价格再次突破10000美元大关,依稀记得2018年,所有人在判断未来行情的时候,眼睛直勾勾盯着10000美元关口,已经把10000美元视作牛熊分水岭.
1900/1/1 0:00:00