圆桌派 | 链读首期AMA:RChain工程实现Casper CBC,创始人Greg技术答疑
Q
Yuki
链读品牌负责人
A
Greg Meredith
RChain创始人
12月17日晚10点,我们首期AMA嘉宾邀请到了RChain创始人Greg Meredith(格格巫)。Greg是分布式计算的先驱,RChain创始人,Rho演算的发明人。
近期,RChain首个公共测试区块链网络上线,这预示着主网上线进入冲刺阶段,项目发展到哪步,技术研发进程如何,有何困难?
RChain是对区块链瓶颈问题给出一揽子解决方案的项目,目前在其测试网3上已做到 Casper CBC共识机制的工程实现。本期我们的主题是《PoS共识机制:Casper CBC工程的实现》,为你解答更多Casper CBC细节。
目前技术开发到哪步?每天投入是怎样的,未来开发还需要多少资金?
很感谢这个问题。目前开发团队非常努力地进行包括网络压力测试下寻找bug和修改、性能改进等工作,每隔一天进行短会,也会有一些针对专门问题的讨论会。比如说,昨天我们开了一个关于如何在RChain的POS合约中进行区块合并问题的专门会议,我们分析了一些解决方案并最终达成了统一结论。
关于资金,以我们目前的开发节奏来说,每个月的花费大约在30万美刀左右,当然我们想要更进一步,因为主网上线后我们会想要加入很多的功能,所以我也一直在寻找更大规模的募资。
RChain跟eth,波卡,cosmos比有哪些优点缺点?
我们讨论过RChain项目跟其他区块链项目的区别,我们这边还是先专注于讨论RChain的技术特点,让大家自己来下结论。
RChain是根据“correct by construction”方法来构造的,使用了该领域中最好和最合适的模型。如同我们说过很多次的,区块链平台和智能合约平台之间有特定的区别,对于RChain来说,我们专注于满足4C的计算模型:
Completeness,Compositionality,Concurrency,Complexity。
Completeness完整性,我想我们都知道,是指你是否可以在上面写任何你想写的程序;Compositionality语意合成性,是否可以组合简单的程序变成复杂的程序;Concurrency并发性,程序是否可以在同一时间运行;Complexity复杂性,指你是否可以测量算力和存储的使用。所以我们使用的Rho演算,是目前最好的能满足4C要求的模型。
这一模型同时也允许动态分片,包括一个节点内的tight紧凑分片,和不同节点组群之间的loose松散分片。当然,我们也改进了最初的共识算法,我们使用CBC Casper共识,之后我们会说到。
总的来说,如果你想建立一个可拓展的区块链,你需要同时改进共识算法和计算模型。
如果你把计算模型搞对了,就更容易扩展。波卡提到使用状态机,但事实上状态机没有一个天然的计算模型,而他们的计算模型不能扩展,我们的Rho演算模型就是用来解决这一问题的。
在Rho这个计算模型中,最特别的地方是,这个模型是围绕names来进行不同渠道之间的交流。这特别有用,因为这是目前互联网使用的方式,如果你把URL看做是通往资源的入口,URL本身就是names。区块链也应该向互联网中最优的实践学习,Rho演算就让我们能做到这样的事情。
这也是我认为区块链目前最大的一个错误,就是它没有向互联网中的现有实践结果学习,互联网将各种资源组织连在一个树结构上,区块链地址也应该根据这个来构造。
我得说这种交流方式(今天的AMA)对我很有启发,看到这么多人支持项目真的很棒。
casper的节点如何加入?最大允许的节点数量是多少?
任何人都可以运营一个节点。100个节点组建成一个分片。有一个加入分片的协议,一个离开分片的协议,加入分片的协议叫做bonding,节点运营者发送request给bond智能合约,最终从众多的request当中随机选出实际的节点运营者。
要注意,在节点激活之前准备硬件是浪费时间的,等节点运行者被通知可以作为活跃节点后,会有2周时间让他去准备硬件。同样的,unbond即解除节点也有一个等待期,一旦加入分片,4个月内无法离开。
每个节点需要至少1500美刀价值的Rev(质押的代币符号)做质押,没有最大的数量限制。越多的币作质押,网络综合安全性越高,质押的数量影响着节点运营者分得的交易手续费比例。
casper每个节点的质押代币是多少?节点的惩罚细则是什么?
关于节点惩罚,最大的惩罚是节点模棱两可的行为,比如节点告诉一部分网络一个事情,告诉另一部分网络不同的事情,也就是在进行双花,那么他会被惩罚。RChain还有许多关于节点惩罚机制的情况和细节,这些可以在我们的网络链接中找到具体的清单。
但是需要注意的是,我们对于RChain节点的惩罚也很谨慎,我们知道会有软件bug、或者一些节点无法正常运行的情况,这些是可以被原谅的。所以Coop会有一个重新考量期,在这个时期内审查证据,保证这个惩罚是合理的。
如果惩罚正确,质押代币会被回收到公共代币池,否则则返还给节点运营者。
casper节点是否允许委托POS,步骤如何?
是的,我们支持staking质押代币池,同时Coop会提供staking服务商的技术支持,我认为这是很棒的想法,可以协助网络的安全和稳定。我们知道惩罚机制是很多节点商顾虑的地方,我们后续会实施部分惩罚的方式来减少对于节点服务商参与网络的风险。
pos的共识算法很多,casper cbc比起其他的pos共识算法优势在哪,不足在哪?
这是个很好的问题。CBC全称是Correct by Construction,其真正的意思是将程序从对正确性的证明中抽取出来,这听上去有点烧脑,但是一旦了解其特点后,会发现其乐趣所在。至于Casper,我们依赖于一个博弈论理论。这个理论来自于线性逻辑的语义,由Hyland & Ong提出,成功地解决了很多计算机领域的问题,其中有一个概念叫做justification pointer,带来了对计算发展历史的一个崭新观点。
08-09年,我决定在网络协议的安全问题方案上,使用justification pointer结构,而当Vladimar和我一起开始工作时,我们发现可以同样用这个来解决Casper共识算法的安全问题。
而如果从Casper底层架构问题,转到其协议的主要需求上,Casper是一个真正的公链。它的可信模型和PoW中的可信模型类似,尽管其协议不同,但都是在一个公开网络上自由运行的。它是去中心化的,和DPoS不一样,因为每个人都可以加入,我们认为这是最核心的部分,也是我们想要构建的用户网络。
加了同步性和公平约束的casper cbc,有形式验证证明活性了吗?
Casper是由construction构造的,所以形式化验证是我们计划之中的,但是我们目前已经更往前走了一步,我们希望最终所有代码是可以被形式化验证的。目前来说我们跟随一个特定的技术路线,将逐步从TLA spec最终转化到Rho演算。这是很有野心的一个技术计划,但是对此每个人都有很大的期待。
casper cbc 和ffg相比有什么不同和相同?
最大的区别应该就是CBC的correct by construction方式,还有就是之前提过的justification结构。其实以太坊目前也在逐步抛弃FFG,而采纳CBC的方式,这本身就说明了很多问题,也许我这么说就足够了(笑)。
中国社区扮演什么样的角色,有什么样的布局?
我对中国社区参与RChain的情况印象深刻,整个中国社区的开源、开放、乐于学习、交流、透明公开的精神,非常赞。有很多中国社区的主要共建者,愁虫进入了RChain董事会,莫为机狂,还有新加入的Lory,你们让我看到了大家一起共建社区,可以创造的繁荣生态。 我非常喜欢,可以和大家更多地一起去创造。
最后的自由提问阶段,Greg向社区透露,RChain目前已经提前进入金星阶段的技术研究和准备,团队即将招募新的技术成员来参与开发。
编辑 / Sandra
链读推荐
∞ 看见 | 辟谣:双十一数据造假?要的不是危机公关而是区块链 ∞
∞看见 | 接到Grin情报,收到上古大神捐赠50BTC!中本聪可能找到了 ∞