来源:链闻
策划与编辑:李画
坏消息:过去这一年,我们期待的区块链上的重大突破依然没有出现。
好消息:很多新的探索依然在发生,其中不少?技术方面的尝试,?被证实适用于并且有助于区块链发展,它们被吸收进来,令区块链成为愈发健壮的系统。在技术之外,人们也探索?开源社区的治理?和?公共物品的资助?问题,并走出了一些道路,相比技术,这些问题的解决可能更为重要,它们是区块链可持续发展的源动力。
在这篇文章中,我们邀请了?10?位区块链世界的观察者和探索者,请他们撰文介绍?以太坊?,这个目前?区块链最大开源社区?上的新鲜事物,其中会有对时下最热门的?Rollup?的底层思路的分析,会有对VitalikButerin心心念念一整年的?二次方融资?的详解,也会包含还未进入大众视野的内容,比如?BLS签名?对于?以太坊2.0鉴权设计?的重要意义,比如在以太坊上使用?Zcash?代币。
这些新鲜事物以及推动这些事物发生的思想和人让我们相信:虽然道路漫长,但是未来可期。
本文关键词:Rollup、ValidityProof、BLS签名、以太坊和Zcash互操作、accountabstraction、CREATE2指令;Staking、DeFi、ENS;以太坊新治理流程、集市开发模式、二次方融资。
硬核技术6条
千字读懂Rollup
p0n1,安比实验室研究员,关注零知识证明和智能合约安全
Rollup?是一大类?Layer-2扩容方案?的统称,特指先在链下进行复杂的计算和状态维护,再将与状态更改相关的数据通过合约调用的方式,利用更便宜的CALLDATA在链上保存。任何人都能根据链上保存的数据复原出全局的状态,从而消除因数据可用性问题带来的安全风险。Rollup将大量交易卷起/汇总成为一个交易,在保证数据可用性的前提下提高TPS。
那么如何保证状态更改的正确性??ZKRollup?和?OptimisticRollup?是目前较热的两种不同方案,它们的核心区别如下:
ZKRollup方案的关键在于ZK,它的每一次的状态转变都需要提供零知识证明,并由主链上的合约进行验证,只有验证通过才能更改状态。即,ZKRollup的状态转变严格依赖于密码学证明。
OptimisticRollup方案中,每次状态转变无需严格验证,它是先乐观地假设每次转变都是正确的??,然后在一定时限内可以对某次转变进行挑战,如果挑战成功就证明之前的提交有问题,会惩罚提交者并将状态回滚。即,OptimisticRollup的状态转变依赖于经济激励和博弈。
两种方案的差别还可以从证明模型角度来看:前者为?
ValidityProof?
野村综合研究所高级研究员:日本央行目前没有计划发行CBDC:金色财经报道,野村综合研究所(Nomura Research Institute)高级研究员Kodai Sato最近在一次网络研讨会上表示,由于日本的银行帐户普及率已达100%或99%,金融普惠并不是日本的头等大事,因此日本央行(BoJ)目前没有计划发行央行数字货币(CBDC)。[2020/7/21]
?,只有提供了「?
有效性证明?」的状态才会被写入主链合约;后者为?
FraudProof?,用户需要在挑战期内对异常提供「错误性证明」,举报不正确的状态。
在安全性上,ZKRollup更具优势。因为OptimisticRollup或基于FraudProof的二层扩容协议必须在挑战期内投诉举报,因此可以构造一个场景让矿工配合做恶,在挑战期内拒绝掉所有提交FraudProof的投诉交易,导致不正确的状态转变会被确认,攻击者可从合约中盗取资金。但这种攻击方式对ZKRollup无效,因为它的合约中始终有正确性校验。
在TPS上,ZKRollup利用zk-SNARK技术在保障数据正确性的同时压缩了链上计算量。所有交易的计算过程不用在合约中执行,Operator??只需把存储账户状态的MerkleTree的MerkleRoot、交易数据和zk-SNARK证明提交至合约,合约验证通过后将新的状态写入。
因为zk-SNARK证明大小??与验证时间??是常数,不会随交易数量增长,因此ZKRollup可以极大地提高交易TPS。ZKRollup的链上性能限制仅取决于CALLDATA存储数据的成本,随着以太坊伊斯坦布尔升级的完成,CALLDATA使用成本降为原来的1/4,ZKRollup的性能则获得4倍提升,TPS可达到近2000。
目前已有多个团队基于ZKRollup方案开发,比如MatterLabs发布的无需信任的扩容和隐私方案?ZKSync?。ZKSync底层依赖于ZKRollup,产品路线为先专注提高简单转账的性能和易用性,再实现通用智能合约的扩容,最后再加上隐私保护,其目标是在确保安全性的前提下提升交易性能。
ValidityProof:设计Layer-2的一种新思路
阿剑,「以太坊爱好者」内容负责人
名为Rollup的Layer-2可扩展性方案风头正劲,但其实,是不是Rollup可能不算重点,Layer-2方案使用的是ValidityProof??还是FraudProof??才是重点。
此前的Layer-2方案,如状态通道和Plasma,在用户取款时,也即在链下状态上链完成清算的过程中,是无法防止运营者或用户提交非最新状态的,因此这些方案都有「挑战期」,即在状态上链后的一段时间内允许他人提交更新的状态,或者证明上链状态是无效的。我们称这种模式为「错误性证明」。
然而,一种新的思路认为,为什么不仅在某人能证明自己提交的状态转换是有效的时候才接收TA提交的状态更新呢?换言之,这种模式要求链下计算的运营者证明某些计算已然发生,并由智能合约负责验证,当且仅当新状态值被证明是经合法运算而成时才接受该值并更新状态。我们称这种这种模式为「?有效性证明?」,它只需保证证据足够小、验证所需计算量足够低便可。
日本房地产公司LIFULL与Securitize创建融资平台:日本房地产公司LIFULL与证券代币发行平台Securitize创建融资平台,可利用数字证券进行房地产投资。此前3月10日,两家公司已进行房地产证券代币发行演示实验,以解决当地的空置房问题。(Crypto Daily)[2020/3/15]
以ZKRollup为代表的方案,与其它Rollup方案以及更早的Layer-2方案的区别,就在于证明状态转换有效性的思路上。相比错误性证明,有效性证明在不少方面都有巨大优势,其最大的好处在于免去了长时间的挑战期,提高了资金运转效率和用户体验。
BLS签名之于以太坊
谢翔,PlatON算法科学家
目前,?以太坊2.0?已经全面转化为采用?BLS??签名?作为其核心签名算法。
BLS签名的设计初衷是在低带宽的通信环境下,寻找一种具有较短签名长度的数字签名方案,以代替传统的RSA签名??和ECDSA签名??。BLS签名仅需?160bit?的签名长度,且安全性与ECDSA相当。
在区块链场景里,我们总是希望尽可能地降低通信量,BLS签名不但单个签名长度更短,其工作方式也有助于达成这一目标。例如降低通信量的一个方法是使用聚合签名代替多重签名,但ECDSA无法做聚合签名,Schnorr虽满足签名可聚合,不过其本质是多个参与者对同一个消息进行协同签名,这种分布式的协作过程需要极大地增加通信次数。
相比之下,BLS签名的聚合过程是?非交互式?的,即任意节点可以将接收到的多个BLS签名消息对直接在本地进行聚合,并且支持对不同消息的签名聚合。下图描述了BLS签名聚合的过程:
这些优点使得BLS签名非常适用于以太坊??中的各类鉴权设计。以太坊2.0中的?Beaconchain?包括质押合约、?Layer-2中的分片?都采用了?BLS?来支持链间通信。
让我们以组织验证者进入委员会对提议的区块投票为例,简要地说明BLS签名在其中的作用。
在以太坊2.0中,验证者将以数十万甚至数百万计,Beaconchain会根据一定的随机性将验证者分配到委员会中,委员会对被提议的区块进行投票。每个委员会的投票将经由BLS聚合算法形成一个签名,这样一来,验证整个委员会的所有投票的工作会极为高效。
除此之外,Beaconchain节点负责管理验证者和他们的抵押权益、为每个分片提名出块者、负责验证者的奖励和处罚、协助处理跨片交易……这些任务里,所有与确权相关的动作都需要由验证BLS签名来完成。
以太坊和Zcash的「跨链」操作
吴为龙,以太坊骨灰级玩家
公告 | 日本持牌交易所bitpoint将保证金交易上限变为4倍:据官网公告,日本持牌加密货币交易所bitpoint将于2019年2月中旬将保证金交易上限由原来的25倍变为4倍。[2018/12/28]
EIP-152?:增加在以太坊合约内验证?EquihashPoW??的功能,开启Zcash和以太坊之间中继交易以及原子化互换交易的可能。
如果将Zcash和ETH当做两个独立的账本,那么以太坊合约内验证EquihashPoW就是保证了Zcash可以验证以太坊合约对Zcash账本的改动,也就是说可以通过以太坊合约使用Zcash代币。这样一来,以太坊里就可以有Zcash资产。
「资产」就是数据库中的一行,区块链是要签名和验签才能进行数据库改动的,在以太坊合约内验证EquihashPoW就是加了个哈希函数,解决验证签名的问题。
如此一来,就可以支持类似这样的场景:A通过执行以太坊上运行的一个合约,可以给B一个Zcash代币,然后Zcash验证签名,通过之后把结果告诉以太坊上的合约,由合约接着执行接下来的动作。
不过,以太坊和Zcash两者之间的这种「跨链」或互操作关系是从Zcash到以太坊单向的,双向的话需要Zcash也增加对应的功能。
Accountabstraction:为帐户的功能加入可扩展性
吴为龙,以太坊骨灰级玩家
以太坊有两种帐户类型,一种叫?外部帐户?,也就是用户帐户,由密钥控制,它的功能是固定的,只能做基础的转账以及生成合约帐户;另一种叫?合约账户?,是智能合约代码编译后部署在以太坊网络生成的,由于合约能够自定义逻辑,所以合约账户的功能是可扩展的。
账户抽象化就是在以太坊网络实施一套DID,交互可以由DID持有者直接处理,无论这个DID主体是外部账户还是合约账户。这给外部帐户加入了可扩展性,让它能够与合约帐户类似,使用更高的逻辑来操作,也能更通用的用一个「账户」的不同形态来表示外部账户和合约帐户这两种账户类型。账户抽象化后,外部账户可以管控其他外部账户,也可以分配和管控合约账户。这带来的好处包括可以自定义交易的支付主体来生成账号管理机制,实现资金使用的签名管控功能;可以帮助?DAO?更好地去设计和实现;可以让外部帐户管控由某个合约账户来出燃料费,解决现有的即便拥有合约还是需要合约部署方来支付燃料费的不够自动化的行为。
CREATE2指令:大有用途的新的合约部署方式
王渊命,Westar实验室首席架构师
EIP1014?:CREATE2指令,添加一个新的0xf5操作码指令?CREATE2?,0xf5指令的行为和CREATE相同,只不过它使用?keccak256?(0xff++address++salt++keccak256(init_code))?而不是发送者+noncehash来计算合约地址。
虽然EIP1014的CREATE2是一个很小的改动,但它对二层的设计有很大的作用。
动态 | 香港与深圳合作共同推进区块链等技术的应用:据港口圈消息,来自深圳港口协会、香港货柜码头商会、香港定期班轮协会、中国外运华南有限公司、珠江船务企业(股份)有限公司、五洲航运有限公司的代表,签署了《粤港澳大湾区香港-深圳港航深度合作倡议书》,共同倡议推进大数据、人工智能、新能源、区块链等颠覆性技术在港航与供应链领域中的创新应用。[2019/3/2]
当前以太坊在合约部署时是没办法预测合约的地址的,因为合约地址由发送方地址和合约部署时发送方的nonce决定,但发送方的nonce无法预测。我们知道,二层的交易有效是因为有一层的合约的约束,如果要求二层相关的仲裁合约在一层先部署好,就会增加成本。
CREATE2提供了一种新的合约部署方式,合约地址由发送方地址,salt,以及初始化代码决定。这样一来,二层的系统就可以基于一个尚未上链的合约来写代码——因为此时合约地址是已知的——必要时再部署合约,这就节约了成本,简化了反事实状态通道的设计方案。
用户参与3条
如何参与以太坊Staking?
RudyLu,InfStones中国区代表,Infpool矿池合伙人
第一,我们需要了解以太坊Staking的不同之处:
区别一:固定的抵押数量
现在我们熟知的大部分项目的Staking对一个节点抵押代币的数量并无限制,比如EOS、TRON、Cosmos等项目;或者通过抵押金率来作出一定限制,比如Tezos、Wanchain等项目。但ETH2.0与这些委托抵押模式非常不同,它的每个节点都需要抵押也只能抵押?32?个ETH,如果我有320个ETH,就需要建立10个节点。
ETH2.0的这种Staking设计和它的分片链结构是相适应的,通过强制设定32ETH的固定抵押数量可以保证全网节点的数量比较多,也保证了不会有抵押数量巨大的头部节点在某一条分片链上有较为垄断的记账控制权,ETH2.0挖矿的去中心化程度会因此得到一定的提升。
区别二:本金与收益不是一种币,早期均无法交易
除了Ontology、Vechain等双币结构设计的项目外,一般Staking挖矿都是「锁什么币,赚什么币」,但是ETH2.0锁定的是PoW主链上的ETH代币,发放的收益却是信标链上的?BETH?代币,它们在本质上是两种币。因为两条链并不会很快地实现互通,ETH与BETH在公开市场上的交易价格估计也不会完全一致。
在预期明年上线的阶段0,ETH2.0不会有交易功能,即便验证人??退出Staking,本金、收益也无法从账户中转出,因此早期参与的节点的所有本金、收益都是近乎于锁死的状态,只能等待ETH2.0进一步开发,逐步实现账户交易功能。
区别三:早期不存在去中心化委托挖矿
中银香港已利用区块链处理了85%的房地产估值:据南华早报报道,中国银行香港 (BOCHK) 正在拥抱区块链的使用。该行信息技术总经理Rocky Cheng Chung-ngam表示,该行已经使用区块链技术处理了85%的与抵押贷款相关的房地产估值,以及越来越多的贸易融资交易。过去,银行和(房地产)评估师不得不通过传真和电子邮件来制作和提供实物证书,而现在这个过程可以在几秒钟内在区块链上完成。Cheng表示,中银香港目前正加入其他四家主要银行,积极使用区块链贸易融资平台。香港金融管理局早在去年9月就提出了七项支持金融科技的核心举措,以应对该城市在采用这些技术时落后于竞争对手而受到的批评。[2018/4/24]
「委托」这项功能可以使代币与代币所承载的出块权相分离,持币者能够将出块权委托给信任的节点代为参与共识并赢得奖励,这也是使得Staking广为大众所认识,并逐渐火热的原因。但在ETH2.0的前两个阶段??均不存在去中心化委托挖矿,这意味着持币者只能自己建立节点运行,或者将币交给中心化的矿池代为挖矿,但代挖矿相当于把币转给别人托管,存在本金的安全风险。
第二,需要了解以太坊Staking的参与条件。
以太坊Staking的参与门槛不是很高,硬件上看,家用电脑的性能就可以运行一个节点。以太坊希望通过低门槛鼓励更多的持币者参与进来,达到尽可能去中心化的目的。
因为持币者不是专业的节点运营商,一般来讲无法保证节点24小时运行,因此在经济模型的设计上,以太坊Staking对于节点离线的惩罚力度非常小,连续3天离线的惩罚在1%左右,但离线时间越长,惩罚力度会越大,21天离线会惩罚50%。
对于参与者来说,24小时运营节点可以保证最大收益,同时也要做好节点版本升级、防止「双花」、故障监测防灾等工作,届时会有节点运营商推出专业的节点运营服务。
了解了以上信息之后,让我们看看以太坊Staking的收益分析。
ETH2.0的年增发率是随全网质押率动态变化的,以目前公布的规则看,年增发率与全网质押率的增长是0.5次方的关系。全网质押率越高,年增发率越高,单个节点的年化收益率越低。全网质押10%时,节点的年收益率为5.72%。
DeFi在2020
杨民道,dForce创始人
2020?年我们将会看到各个链之间的?跨链?和?资产跨链?实现比较大的突破,很多新资产类别进入以太坊的DeFi系统,比如PoS类型的Staking资产,实现Staking资产的借贷生息。
以太坊体系将会见证更多?Layer-2?的系统的部署,搭建在Layer-2上更容易?规模化?DeFi生态。
ENS的玩法只被你我的想象力局限
老白,DApp玩家,NFT收藏品爱好者,从ENS竞拍开始接触以太坊
ENS??是建立在以太坊区块链之上的分布式域名系统。如果以太坊是下一代去中心化网络的基础平台,那么ENS将成为与当前ICANN一样的域名注册机构,而eth将更替com成为Web3的核心构件。
ENS有较大的想象空间,也有较大的实验空间,简单介绍一些现有的玩法:
1.用ENS代替普通账户地址,可以减少因为输入错误带来的资金损失,因为当我们向ENS转账时,如果输入有误就无法有效解析出其指向的ETH地址,这阻止了进一步的操作。
2.把ENS指向代理合约地址,可以通过向ENS域名转账实现闪兑。比如我们向dai.now.eth打入ETH就可以收到dai,其原理是将ENS指向了uniswap的eth/dai兑换合约。也可以将代理合约的回退函数??,也就是合约接收到ETH后的默认功能函数设置为uniswap或eth2dai的兑换网关,从而实现兑换。
3.如果你的浏览器安装了MetaMask,就可以直接访问「.eth」域名,也就是用浏览器打开以「.eth」结尾的网站或DApp前端地址,就像打开互联网的「.com」网站一样。而这个网站或DApp前端是可以建立在IPFS之上,不依赖于单点的中心式的服务器的。比如我们通过浏览器就可以访问?https://almonit.eth?,一个构建在IPFS上的ENS导航网站,而开发者要做的只是在自己的ENS管理界面中添加一条?RECORDS?,指向网站对应的IPFS地址。
4.DApp开发者可以注册ENS的主域名,再根据用户意愿为用户分配子域名,如果这是一个加密通信类的应用,用户之间就可以用子域名做为用户名进行交互。
5.ENS的?DApp?商户应用是一个值得看好的场景。以星巴克为例,它可以通过coupon.eth注册申请会员:starbuck.coupon.eth,然后生成自己的?ERC721?收藏品,每批收藏品有孙域名如:2019santa.starbuck.coupon.eth,并把该孙域名指向一个NFT合约。可以设置用户发送0ETH至这个ENS地址就能够领取一个收藏品或者参与抽奖,从而实现商户纪念品的发行和投放。
社区建设3条
以太坊的新治理流程
阿剑,「以太坊爱好者」内容负责人
从?今年3月份?开始,以太坊社区开始摸索新的治理流程。
以?AlexeyAkhunov?为主的开发者提议在以太坊1.x的开发流程中,不再将EIP的参考实现和测试任务全部压给客户端团队,而是引入独立的工作组,由自由组合的工作组把感兴趣的EIP实现出来并生成测试,然后提交给客户端团队。Alexey自己便是这种模式的亲力践行者。
而后,有人提出可以成立?「代表人」制度?,就是一个EIP必须有一个代表人,由该代表人负责社区联络、与社区沟通、回应社区的疑问等等工作。
再后来,有人提议应该让硬分叉的时间常态化以提供可预测性,同时,硬分叉只接收已经完全准备好、没有疑问的EIP,但凡有疑问的EIP就推迟部署,不让EIP的实现进度影响硬分叉的时间。类似于火车,到点就发车,没上车的EIP就等下一趟。
我一直认为?治理流程?是治理的核心,上述多种对EIP流程的改进皆让开发责任更加分明,Credit的归属更加清晰,而且让整个社区有了更明确的预期。同时我也感叹,实践的发展似乎又一次跑在了知识发展的前面。
集市模式会引导以太坊2.0如何演化?
雷神,区块链世界观察者
一个全新的系统在设计和实现初期一般都是由发起者主导,小范围封闭式推进,以太坊1.0在起步阶段亦是如此。因为一方面发起者对于自己的想法最了解,早期封闭式开发的效率可能更高,另一方面在没有品牌认同和社区文化沉淀的情况下,吸引志同道合的参与者加入协作的难度不小。
以太坊2.0在技术层面,某种程度上可以说是一个近乎全新的系统,但在品牌认同和社区文化上则不是。以太坊创世后运行至今,社区不断演化,逐渐形成了具有较强生命力的自组织系统。有旧人不断离开,但社区的愿景和文化不断吸引着新鲜血液加入,壮大了整个生态的鲁棒性。
因此,以太坊2.0有机会在起步阶段就实践更加激进的、开放的集市式设计与开发模式,并以此为基础上尽可能地弱化权威个体对协议发展的影响,维持集市模式的特性。集市模式会如何促进以太坊2.0的演化和发展,集市模式能否比采取大教堂模式的公链项目更具竞争优势和生命力?这是除了技术之外,我对以太坊2.0最感兴趣的点。
GitcoinGrants:对公共物品融资模式的探索
Mako,v2eth.com创办者
GitcoinGrants?是一个为以太坊开源项目周期性地提供资金的众筹平台,它采用二次方融资?CLR?机制??,该机制是VitalikButerin和《?激进市场?》作者之一的?GlenWeyl?在《LiberalRadicalism:FormalRulesforaSocietyNeutralamongCommunities》论文中提出的。
可以说GitcoinGrants是区块链技术与激进市场二次方投票思想??的一次非常好的的实践,它探索的是如何以数学最佳的方式资助开源项目/公共物品,这是我对这个项目非常感兴趣的原因。
二次方融资CLR机制包括?众筹?和?配捐?两个部分:
众筹:个人对公共物品捐款,把每个人捐款金额的平方根加起来得到A,再对A求平方得到B,B就是项目方应该获得的资助总额。
配捐:项目方应得的金额,也就是B,是大于每个捐款人捐出的金额的总和的,便由基金会或私人慈善家补足这个差额。在这种机制下,项目获得的资金与一共有多少人支持关联度变得更高,如果某个项目的捐款人越多,该项目方获得的匹配资金就越多。
事实上,在一个社会配置公共物品时会面临两个最基本的问题:搭便车问题和倾轧少数派利益的问题。
在「一人一票」方式下,一张选票对结果的影响微不足道,因此理性人不会去投票,这会造成搭便车现象,融资也是一样的道理,本来想资助项目的人,认为自己的一块钱不能帮助到项目方,就不会参与;但如果采用二次方融资的方式,一块钱会被放大,理性人会有动力参与众筹,从而减少搭便车现象。
在「一人一票」方式下,少数服从多数,系统不能反应多样的产品对不同个体的重要性,进而会压制少数派的利益,放在融资中,资助哪些项目是由多数投票决定的;如果采用二次方融资,个人可以选择资助自己感兴趣的项目,并间接影响该项目的配捐金额,这可以部分解决倾轧少数派利益的问题。
自2019年1月启动以来,GitcoinGrants已帮助向开源社区募集、分发了?82.7?万美元的资助金额;在2019年的第三次配捐中,它为?68?个开源项目提供了?1982?笔捐款,价值?17?万美元;在2020年,GitcoinGrants计划至少每季度进行一次募资活动。
我建议以太坊的开源项目可以在2020年第一季度提交自己的项目??,参与GitcoinGrants二次方融资。以太坊基金会和GitcoinCore将会为社区媒体项目和基础设施建设项目提供?20?万美元的配捐资金,而哪些项目可以获得资金是由我们决定的,每个人只需要赞助1美元。
如何参与GitcoinGrants:
项目方?:开发者通过申请加入到接受捐款的候选名单中,需提交项目的相关介绍和项目每个月需要的资金。
用户?:用户给自己喜欢的项目赞助,可以选择赞助的资金总额,以及资金分多少个周期分发给项目开发者。通过GitcoinGrants捐助,平台会收取5%的费用。
以太坊基金会?:以太坊基金会确定配捐金额。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。