主页 > 苹果版imtoken图标 > 2019 年:12 个你不能错过的以太坊新事物
2019 年:12 个你不能错过的以太坊新事物
过去一年以太坊发生了什么? 详细讲解以太坊上最值得关注的12个新事物。
坏消息:在过去的一年里,我们一直在等待的重大区块链突破仍然没有发生。
好消息:许多新的探索仍在进行中,其中许多已经被证明适用于和有助于区块链的发展,它们被吸纳,使区块链成为一个越来越健壮的系统。 除了技术,人们还在开源社区的治理、公共物品的资助等方面进行了探索,走出了一条路。 与技术相比,这些问题的解决可能更为重要,它们才是区块链可持续发展的源泉。
在这篇文章中,我们邀请了10位区块链世界的观察者和探索者,请他们写文章介绍以太坊,这是目前区块链最大的开源社区中最新的东西。 对Rollup底层思路的分析,将包括对Vitalik Buterin思考了整整一年的二次方融资的详解,也将包括尚未进入大众视野的内容,比如BLS签名对金融的意义以太坊 2.0 的认证设计,例如在以太坊上使用 Zcash 代币。
这些新事物以及促成它们发生的想法和人物,让我们相信,路虽长,未来可期。
本文关键词:Rollup,Validity Proof,BLS 签名,Ethereum 和 Zcash 的互操作性以太坊注册官网,账户抽象,CREATE2 指令; 质押、DeFi、ENS; 以太坊新治理流程、市场发展模式、二次融资。
硬核技术6千字看懂Rollup
p0n1,Ambi Labs 研究员,专注于零知识证明和智能合约安全
Rollup 是一大类 Layer-2 扩展方案的总称。 具体是指在链下进行复杂的计算和状态维护,然后通过合约调用使用更便宜的CALLDATA将状态变化相关的数据保存在链上。 任何人都可以根据链上存储的数据恢复全局状态,从而消除数据可用性问题带来的安全风险。 Rollup 将大量交易汇总/汇总为一个交易,在保证数据可用性的同时提升TPS。
那么如何保证状态变化的正确性呢? ZK Rollup 和 Optimistic Rollup 是目前比较流行的两种不同的方案,它们的核心区别如下:
从证明模型的角度也可以看出两种方案的区别:前者是Validity Proof(有效性证明),只有“有效性证明”的状态才会被写入主链合约; 后者是 Fraud Proof(错误证明)。 proof of validity),用户需要为挑战期间的异常情况提供“错误证明”,并报告不正确的状态。
在安全性方面,ZK Rollup 更有优势。 由于Optimistic Rollup或Fraud Proof-based layer-2 expansion protocols必须在挑战期内进行投诉和报告,因此可以构建一个场景让矿工与邪恶合作,拒绝所有在挑战期内提交Fraud Proof的投诉交易,从而导致不正确的状态 转换得到确认,攻击者可以从合约中窃取资金。 但是这种攻击方法对 ZK Rollup 无效,因为它的合约总是有正确性检查。
在TPS上,ZK Rollup采用zk-SNARK技术,在保证数据正确性的同时压缩链上计算量。 所有交易的计算过程不需要在合约中执行。 运营者(operator)只需要将存储账户状态、交易数据和zk-SNARK证明的Merkle Tree的Merkle Root提交给合约即可。 合约通过验证后,新的状态将写入 .
因为 zk-SNARK 证明大小(小)和验证时间(很快)是恒定的,不会随着交易数量的增加而增加,所以 ZK Rollup 可以大大提高交易 TPS。 ZK Rollup 的链上性能限制仅取决于 CALLDATA 存储数据的成本。 随着以太坊伊斯坦布尔升级的完成,CALLDATA的成本降低到原来的1/4,ZK Rollup的性能提升了4倍,TPS可以达到近1/4。 2000。
目前已有多个团队基于ZK Rollup解决方案进行开发,例如Matter Labs发布的去信任扩展和隐私解决方案ZK Sync。 ZK Sync 的底层依赖于 ZK Rollup。 该产品线首先着眼于提高简单转账的性能和易用性,然后实现通用智能合约的扩展,最后加入隐私保护。 它的目标是在确保安全性的同时改进交易。 表现。
有效性证明:一种设计 Layer-2 的新方法
《以太坊恋人》内容总监阿健
名为 Rollup 的 Layer-2 scalability 方案风头正劲,但其实是不是 Rollup 可能并不是重点,Layer-2 方案是使用 Validity Proof(有效性证明)还是 Fraud Proof(错误证明)才是关键重点。
之前的 Layer-2 解决方案,如状态通道和 Plasma,无法阻止运营商或用户在用户取款时提交非最新状态,即在链下状态和链上完成清算的过程中-chain,所以这些解决方案都有“挑战期”,即在状态上链后的一段时间内,允许其他人提交更新的状态,或者证明链上状态无效。 我们称这种模式为“错误证明”。
然而,一种新的思路认为,既然有人能证明他提交的状态转移是有效的,为什么不只接受TA提交的状态更新呢? 换句话说,这个模型需要链下计算的操作者证明一些计算已经发生,智能合约负责验证这个值是否被接受,只有当新的状态值被证明是正确的时候才更新状态。依法计算。 我们称这种模型为“有效性证明”,它只需要保证证明足够小,验证所需的计算量足够低即可。
以ZK Rollup为代表的方案与其他Rollup方案和更早的Layer-2方案的区别在于证明状态转换有效性的思想。 与错误证明相比,有效性证明在很多方面都具有很大的优势。 其最大的优势在于消除了漫长的挑战周期,提高了资本运作效率和用户体验。
以太坊上的 BLS 签名
谢翔,算法科学家,PlatON
目前,以太坊2.0已全面转为采用BLS(Boneh-Lynn-Shacham)签名作为其核心签名算法。
BLS 签名的设计初衷是在低带宽通信环境下寻找一种签名长度更短的数字签名方案来替代传统的 RSA 签名(1024bit 签名长度)和 ECDSA 签名(320bit 签名长度)。 BLS签名只需要160bit的签名长度,其安全性等同于ECDSA。
在区块链场景下,我们总是希望尽可能减少通信量。 BLS 签名不仅长度更短,而且工作方式有助于实现这一目标。 例如以太坊注册官网,一种减少流量的方法是使用聚合签名而不是多重签名,但 ECDSA 不能做聚合签名。 虽然 Schnorr 满足了签名可以聚合的需求,但其本质是多个参与者协作签署同一条消息。 这种分布式协作过程需要大大增加通信时间。
相比之下,BLS签名的聚合过程是非交互的,即任何节点都可以在本地直接聚合多个收到的BLS签名消息对,支持不同消息的签名聚合。 下图描述了BLS签名聚合的过程:
这些优点使得 BLS 签名非常适用于以太坊(包括以太坊 2.0)中的各种认证设计。 以太坊 2.0 中的 Beacon 链包含质押合约,Layer-2 中的分片均使用 BLS 来支持链间通信。
下面以组织验证者组成委员会对提议的区块进行投票为例,简单说明一下BLS签名在其中的作用。
在以太坊 2.0 中,将有数十万甚至数百万的验证者。 信标链会按照一定的随机性将验证者分配给委员会,委员会对提议的区块进行投票。 每个委员会的选票将通过BLS聚合算法形成一个签名,这样验证整个委员会所有选票的工作将极其高效。
此外,信标链节点负责管理验证者及其抵押权,为每个分片提名区块创建者,负责对验证者的奖惩,协助处理跨分片交易……在这些任务中,所有任务与确认相关的所有与权利相关的动作都需要通过验证BLS签名来完成。
以太坊与Zcash的“跨链”操作
以太坊铁杆玩家吴伟龙
EIP-152:在以太坊合约中增加验证Equihash PoW(Zcash的PoW)的功能,开启Zcash与以太坊之间中继交易和原子互换交易的可能性。
如果把Zcash和ETH看成是两个独立的账本,那么以太坊合约中Equihash PoW的验证保证了Zcash可以验证以太坊合约对Zcash账本所做的更改,这意味着Zcash代币可以通过以太坊合约使用. 这样以太坊中就可以有Zcash资产。
“资产”是数据库中的一行。 需要对区块链进行签名和验证才能对数据库进行更改。 在以太坊合约中验证Equihash PoW就是增加一个哈希函数来解决验证签名的问题。
这样就可以支持这样的场景:A可以通过执行一个运行在以太坊上的合约给B一个Zcash代币,然后Zcash验证签名,然后把结果告诉以太坊上的合约,合约继续执行下一步行动。
然而,以太坊和 Zcash 之间的“跨链”或互操作性关系是从 Zcash 到以太坊的单向关系。 如果是双向的,Zcash 需要增加相应的功能。
账户抽象:增加账户功能的可扩展性
以太坊铁杆玩家吴伟龙
以太坊中有两种账户,一种称为外部账户,即用户账户,由密钥控制,功能固定。 只能做基础转账和生成合约账户; 另一个叫做合约账户,是智能合约代码编译部署在以太坊网络上。 由于合约可以自定义逻辑,合约账户的功能是可扩展的。
账户抽象是在以太坊网络上实现一套DID,交互可以由DID持有者直接处理,无论DID主体是外部账户还是合约账户。 这增加了外部账户的可扩展性,使其类似于合约账户,使用更高的逻辑来操作,更普遍地使用不同形式的“账户”来表示外部账户和合约账户。 种类。
账户抽象后,外部账户可以控制其他外部账户,也可以分配和控制合约账户。 这样做带来的好处包括可以自定义交易的支付主体,生成账户管理机制,实现资金使用的签名控制功能; 可以帮助DAO更好的设计和实现; 可以让外部账户控制来自某个合约账户的Gas费,解决现有的即使有合约也需要合约部署者支付Gas费的非自动化行为。
CREATE2 命令:部署合约的一种有用的新方法
王元明,Westar Labs 首席架构师
EIP 1014:CREATE2指令,新增一条0xf5操作码指令CREATE2,0xf5指令的行为与CREATE相同,只是使用了keccak256(0xff++address++salt++keccak256(init_code))[12:]而不是 Sender + nonce hash 来计算合约地址。
EIP 1014的CREATE2虽然是一个小修改,但是对第二层的设计影响很大。
目前以太坊无法预测合约部署时的合约地址,因为合约的地址是由合约部署时发送方的地址和发送方的nonce决定的,但是发送方的nonce不能被预测。 我们知道,由于第一层合约的约束,第二层交易才有效。 如果要求将第二层相关的仲裁合约部署在第一层,会增加成本。
CREATE2提供了一种新的合约部署方式,合约地址由发送方地址、salt、初始化代码决定。 这样二层系统就可以基于一个还没有上链的合约编写代码——因为此时合约地址是已知的——然后在需要的时候部署合约,既节省了成本又简化了反事实状态通道设计。
用户参与 3 如何参与以太坊Staking?
InfStones中国代表、Infpool矿池合伙人Rudy Lu
首先,我们需要了解以太坊 Staking 的区别:
其次,你需要了解Ethereum Staking的参与条件。
Ethereum Staking的参与门槛不是很高。 硬件方面,一台家用电脑的性能可以运行一个节点。 以太坊希望通过低门槛鼓励更多的持币者参与进来,从而尽可能的达到去中心化的目的。
因为代币持有者不是专业的节点运营者,一般来说不能保证节点24小时不间断运行。 所以在经济模型的设计上,以太坊Staking中节点下线的惩罚很小,连续3天下线的惩罚是1%。 左右,但下线时间越长,罚款越大,下线21天罚款50%。
对于参与者来说,节点24小时不间断运行可以保证最大收益。 同时,还要做好节点版本升级、防止“双花”、故障监测和防灾等工作,届时节点运营商将推出专业的节点运营服务。
了解了以上信息后,我们再来看看Ethereum Staking的收益分析。
ETH 2.0的年增长率随着全网质押率动态变化。 按照目前公布的规则,年增长率和全网质押率的增长率是0.5的幂相关。 全网质押率越高,年增长率越高,单个节点年化收益率越低。 全网质押10%时,节点年化收益率为5.72%。
2020 年的 DeFi
dForce创始人杨敏道
ENS 的玩法只限于你我的想象力
老白,DApp玩家,NFT收藏品爱好者,从ENS拍卖开始接触以太坊
ENS(Ethereum Name Service)是一个建立在以太坊区块链上的分布式域名系统。 如果以太坊是下一代去中心化网络的基础平台,那么ENS将成为与现在的ICANN一样的域名注册机构,eth将取代com成为Web3的核心组件。
ENS有很大的想象空间和实验空间。 下面简单介绍一下现有的一些玩法:
使用ENS代替普通的账户地址,可以减少输入错误造成的资金损失,因为我们在向ENS转账的时候,如果输入错误,就无法有效解析它指向的ETH地址,从而阻碍了进一步的操作。 将ENS指向代理合约地址,通过向ENS域名转账即可实现闪兑。 例如,我们可以通过将 ETH 存入 dai.now.eth 来接收 dai。 原理是将ENS指向uniswap的eth/dai兑换合约。 也可以设置代理合约的回退功能,即合约收到ETH后的默认功能,作为uniswap或eth2dai的兑换网关,实现兑换。 如果您的浏览器安装了MetaMask,您可以直接访问“.eth”域名,即用浏览器打开以“.eth”结尾的网站或DApp前端地址,就像打开“.com”网站一样在网上。 并且这个网站或者DApp的前端可以搭建在IPFS上,不需要依赖单点的中心服务器。 比如我们可以通过浏览器访问,一个建立在IPFS上的ENS导航网站,开发者只需要在自己的ENS管理界面添加一个RECORDS,指向该网站对应的IPFS地址即可。 DApp 开发者可以注册 ENS 的主域名,然后根据用户的意愿为用户分配子域名。 如果这是一个加密通信应用,用户可以使用子域名作为用户名进行交互。 ENS 的 DApp 商户应用是一个很有前途的场景。 以星巴克为例,它可以通过coupon.eth注册申请会员:starbuck.coupon.eth,然后生成自己的ERC721集合。 域名指向一个 NFT 合约。 可以设置用户向该ENS地址发送0 ETH,用于领取收藏或参与抽奖,实现商家纪念品的发行和发放。
社区建设 以太坊的 3 个新治理流程
《以太坊恋人》内容总监阿健
今年3月开始,以太坊社区开始探索新的治理流程。
以 Alexey Akhunov 为首的开发人员提出,在以太坊 1.x 的开发过程中,不应将 EIP 的所有参考实现和测试任务委托给客户端团队,而是引入一个独立的工作组,自由组合工作的团队实施感兴趣的 EIP,生成测试,并将其提交给客户团队。 阿列克谢本人就是这种模式的实践者。
于是,有人提出建立“代表”制度,即一个EIP必须有代表,代表负责社区联络、与社区沟通、回应社区问题。
后来有人建议将硬分叉的时间标准化,以提供可预测性。 同时,硬分叉只接受准备充分且没有疑点的EIP。 实施进度会影响硬分叉的时间。 类似于火车,到站即发车,未上车的 EIP 将等待下一班。
我一直认为,治理过程是治理的核心。 上述对EIP流程的改进,让开发责任更加明确,信用归属更加清晰,整个社区的期待更加明确。 同时,我也感叹实践的发展似乎又跑在了知识的发展前面。
集市模式将如何引导以太坊2.0的演进?
雷神公司,区块链世界观察家
一个全新的系统,一般在设计和实施的初始阶段由发起者牵头,以小规模封闭的方式推广。 初始阶段的以太坊 1.0 也是如此。 因为一方面,发起者最清楚自己的想法,早期封闭开发可能效率更高。 另一方面,没有品牌知名度和社区文化沉淀,也不容易吸引志同道合的参与者加入合作。
在技术层面,以太坊 2.0 在某种程度上可以说是一个近乎全新的系统,但在品牌标识和社区文化方面则不然。 以太坊自创建以来一直在运行,社区不断进化,逐渐形成了具有强大生命力的自组织系统。 老人们不断离开,但社区的愿景和文化不断吸引新的血液加入,加强了整个生态的健壮性。
因此,以太坊 2.0 有机会在初期实践更加激进和开放的集市式设计和开发模式,并在此基础上,尽可能弱化权威人士对协议开发的影响,保持集市模式。 集市模式将如何推动以太坊2.0的演进和发展? 集市模式能否比采用大教堂模式的公链项目更具竞争优势和生命力? 这是除了技术之外我对以太坊2.0最感兴趣的地方。
Gitcoin Grants:探索公共物品的融资模式
v2eth.com 创始人 Mako
Gitcoin Grants 是一个众筹平台,定期为以太坊开源项目提供资金。 它采用二次融资CLR机制(Capital-constrained Liberal Radicalism),这是Vitalik Buterin和Glenn,《激进市场》的作者之一。 外尔在论文《自由激进主义:社区中立社会的正式规则》中提出。
可以说,Gitcoin Grants是对区块链技术和激进市场二次投票思想的一次很好的实践(二次融资是二次投票的延伸),它探索如何为开源项目/公共物品提供资金是我非常感兴趣的原因这个项目。
二次融资CLR机制包括众筹和匹配捐赠两部分:
事实上,一个社会在分配公共物品时,会面临两个基本问题:搭便车问题和打压少数人利益的问题。
在“一人一票”的方式下,一票对结果的影响微乎其微,所以理性的人不会投票,会造成搭便车现象,融资也是如此。 原本想资助项目的人认为,自己的钱如果不能帮助项目方,就不会参与; 但如果采用二次方的融资方式,一美元就会被放大,理性的人就会有参与众筹的动力,从而减少搭便车现象。
在“一人一票”的方式下,少数服从多数,制度无法体现不同产品对不同个体的重要性,进而会压制少数人的利益。 在融资方面,资助哪些项目由多数票决定; 如果采用二次方融资,个人可以选择资助自己感兴趣的项目,间接影响项目的匹配捐赠金额,可以部分解决少数人利益被榨取的问题。
自 2019 年 1 月推出以来,Gitcoin Grants 已帮助向开源社区募集和分发了 827,000 美元的赠款; 在2019年的第三场比赛中,它提供了1,982笔捐款,价值170,000美元; 2020 年,Gitcoin Grants 计划每个季度至少进行一次筹款活动。
我建议以太坊的开源项目可以在2020年第一季度(1月6日-1月21日)提交自己的项目参与Gitcoin Grants的二次融资。 以太坊基金会和 Gitcoin Core 将为社区媒体项目和基础设施建设项目提供 20 万美元的匹配捐赠。 哪些项目可以获得资金由我们决定,每人只需赞助1美元。
如何参与 Gitcoin Grants:
项目方:开发者申请加入捐赠候选名单,需每月提交项目相关介绍及项目所需资金。 用户:赞助自己喜欢的项目的用户可以选择赞助的资金总额以及资金分配给项目开发者的周期数。 通过 Gitcoin Grants 捐赠,平台将收取 5% 的手续费。 以太坊基金会:以太坊基金会确定匹配捐赠金额。
本文参与登联社区写作激励计划,好文章好收益,欢迎正在阅读的你加入。