以太坊 四个区块链底层协议的研究方向

以太坊 四个区块链底层协议的研究方向

-整合zk-SNARK:
通过新指令(opcode)或者更理想的,利用EVM(以太坊虚拟接)现有的256位模运算指令,让以太坊合约获得验证succinct zero-knowledge proof的能力。由于verification key可以在链下生成,这个任务比看上去要容易些,虽然要达到相当的实用程度还需要很多其他方面的工作。

我们最初始的目标是利用这个功能来实现超安全混币(ultra-private coin mixing)功能,一个私密名誉系统(privacy-perserving reputation: “哈罗,这里是我的积分超过250的证明,但是我不用告诉你我是谁。”), 以及两方金融合约。

长远的目标则是在以太坊上实现Hawk。在前面提到的会议上以及会议外,我们与这些技术的一些相关开发者非常有成效的讨论了我们应该如何推进和达成这些目标。

-Casper
Casper是以太坊将要采用的POS算法,正在Vlad Zamfir的领导下进行开发,Lucius Greg Meredith, 我和其他一些人提供帮助。

关键部分包括用于替代“链共识”的“块共识”(by-block instead of by-chain),以及“基于投注的经济共识”,以使区块链的确认速度相对于POW的线性效率,达到指数级。

我们的目标是同时实现更短的出块时间(我个人认为4秒会是一个平衡安全性,资源浪费以及中心化风险的选择,Vlad则一如往常的更激进些),更好的确认机制,以及大幅降低能量消耗(大约10-100倍的降低price-of-anarchy)。

目前Vlad和Greg正在形式化定义和实现算法中的非经济部分,试图在数学上证明算法的收敛性质。下一步会试图优化经济部分。

-可伸缩性
我们试图结合分片(sharding), 随机采样,Merkle证明和异步调用,来将事务处理吞吐量从10~20个事务每秒提高到超过100000个每秒(如果super-quadratic versions也用上,理论上吞吐量可以达到无限大)。

可伸缩性改进的基本想法在六个月前就已经确立,我们的研发团队对这个设计有非常强的信心。

现在的关键是如何调整细节以使得在这个可伸缩设计中尽可能多的保留以太坊1.0的功能。

例如,在相同的分片中应该依旧可以使用同步调用,但是跨分片的调用则只能是异步的。

-EVM升级
Martin Becze正领导着将WebAssembly作为升级版以太坊虚拟机候选项的研究。WebAssembly与EVM有许多相似之处:它们都需要运行不可信的代码,都要求代码尽量短小,都需要多个互相兼容的实现。

WebAssembly唯一缺的就是Gas的计算。我们也许可以用WebAssembly来做EVM的JIT编译器,这可以极大的提高ethereum js的运行速度。

也有可能直接将其做为虚拟机,只要增加一个transformation步骤,在每一个jump指令之前加入一条扣除Gas的指令。

诸如BLOCKHASH, SSTORE之类的环境指令可以被抽象出去,通过FFI来调用。例如:SSTORE(k, v)变成FFI(0x55 ++ k ++ v), 这里0x55代表SSTORE)。

-其他

除此之外,要研究的问题还存在于以太坊平台之上的中间层,包括on-chain services,去中心化管理,身份和信誉系统,随机数生成,Solidity的形式化验证(伦敦有一个很棒的团队对此很有兴趣,已准备开始探索),预测市场的实现,以及和以太坊并列的一些项目(例如Whisper)。不过以太坊基金会会将这里的大部分工作留给社区完成,因为基金会的策略正在转向聚焦核心功能。


-参考

1. http://8btc.com/thread-24467-1-1.html

以太坊 四个区块链底层协议的研究方向_第1张图片

你可能感兴趣的:(区块链)