您现在的位置是:首页 > RChain > RChain资讯网站首页RChain资讯

RChain的独门科技树——近期微信群的答疑选编

  • atticbee
  • RChain资讯
  • 2019-06-18
简介简单的来说呢,RChain你们就理解成一个世界Excel。当然这个Excel很牛逼,将来你往里面存电影也是可以的。Rholang合约就类似里面的公式。里面的单元格,按照URL或者目录树之类的组成树状结构,每个结构都有权限,只有对应的节点达成共识才能修改。你跑一个节点,就是选择参与目录树上哪个位置进行验证。越靠近根节点,越重要,节点越多。然后,这个单元格里的成千上万个公式,都是同时更新的! 这才是一个无限扩展的区块链该有的样子。这样的架构下,这个世界Excel表,是可以扩展到让全世界一起用的。

关于RChain的架构和跑节点:
 

简单的来说呢,RChain你们就理解成一个世界Excel。当然这个Excel很牛逼,将来你往里面存电影也是可以的。Rholang合约就类似里面的公式。

里面的单元格,按照URL或者目录树之类的组成树状结构,每个结构都有权限,只有对应的节点达成共识才能修改。

你跑一个节点,就是选择参与目录树上哪个位置进行验证。越靠近根节点,越重要,节点越多。

然后,这个单元格里的成千上万个公式,都是同时更新的! 这才是一个无限扩展的区块链该有的样子。这样的架构下,这个世界Excel表,是可以扩展到让全世界一起用的。


关于RChain是不是忽悠:


RChain基于rho演算,前身是业界用了很多年的pi演算,并发的分布式计算基本都用这个来建模,图灵奖都发了。

但是pi演算搞不了名字空间,所以g神加入反射,这样最后一层纸被戳破以后,区块链的科技树才算攀对了。

科技树攀对了,以后发力不断,走自己的路,让别人无路可走。比如飞机出来以后,热气球、飞艇的科技树就没人去攀了。
 

关于科技树理论:
 

除了RChain,别的都是错误的科技树上的项目。

一个热气球,和一个更大更漂亮的热气球,没本质的突破。

等RChain的飞机完善以后,都是一夜之间被淘汰扑街的命

以太2.0快出来了,EOS的dapp日活量增加到多少了,RChain不赶紧就没机会了——热气球升级到更大的气球了,飞机快没机会了?


基于图灵机计算模型的区块链项目都是攀错了科技树:
 

以前大家都流行用基于图灵机的语言写代码,这种语言在分布式、异步、并发的执行环境下,不光可组合性、可扩展性不好,而且有很多坑。毕竟人的思维方式是单线程的,图灵机也是单线程思维方式下的产物。在区块链之前,代码有漏洞问题不大,最多泄露内存,崩溃,被植入木马之类的,还有防火墙,沙盒之类的重重保护。

到了区块链,所有的合约都和航天飞机的控制程序那样关键(mission critical),因为都是钱而且没有任何保护,丢了都没地方投诉,跟脱光了的妹子一样,一旦有bug,任何人只要有钱都可以调用合约来羞辱你。

所以在区块链时代,还是用基于单机环境的图灵机计算模型,就是在错误的科技树上越走越远

  • 传统的项目,没有并发合约,被RChain完爆。
  • 分片,本质上是集群级别的并发,分片内并发都搞不好,分片之间的合约交互同样也搞不好。RChain是先难后易,分片内的并发搞好了,分片之间就是更高一级的并发,是水到渠成的事情。
  • 合约执行和共识不是异步的,跑不了rsong那样的通用计算型应用,也被RChain完爆。
  • 合约不是反应式的,defi的资金流动不起来,各种合约没法像各种微服务一样进行编排,组合成更复杂的系统,也被RChain完爆。
  • 基于图灵机的语言,形式验证是个噩梦,不验证被黑客羞辱,验证要费钱给请专门的人来搞验证。RChain的行为类型系统,免于让你被羞辱。


RChain的并发和异步
 

合约的运行必须是并发,异步,非阻塞的才能实现通用计算。因为出块达成共识,其实就是一个耗时巨大的io操作。

并发,就是很多合约可以同时跑。

异步非阻塞,就是你要改变账本状态的时候,需要出块让其它节点同意你修改,进行这个操作时间太长,所以不能在那里傻等,干别的事再说,等大家同意这个账本改写操作了再干下一步

只要有编程常识,都知道要提高一个系统的负载能力,需要并发执行,然后耗时长的操作需要异步非阻塞。

然而合约的并发很难搞定,共识协议相对容易些,基本上就是各种折衷和取舍。别人是共识协议出发搞项目,只有RChain是从合约执行机制开始规划项目的。


关于RChain的虚拟机


RChain没有虚拟机。RChain的虚拟机,如果算有的话,就是RSpace,这张世界Excel表。

传统的项目基于图灵机,虚拟机的指令就是从内存里读一个数到寄存器,从寄存器a拿出一个和寄存器b想加,等等。

RChain的指令就一个,Rho演算的reduction规则,你可以理解为Excel表里公式的一次更新。

RChain的设计的好处之一就可组合性。你机器内存多大,那个Excel表就可以放多大。CPU有几个,Excel表就可以同时更新多少个公式。你机器内存小,就验证Excel的一部分,内存大,就验证很多部分。你CPU跟不上,就主动缩小验证的Excel区域到跟上为止。一切都是那么自然。

Excel表里几千几万个公式可以同时更新(Rho演算的Reduction规则),这就是并发。

放在区块链中,每个节点更改Excel单元格的时候,需要喊一声给分片里其它节点:我要改这几个单元格了,你们同意吗?这就是出块。喊玩先不等回音,先更新别的单元格去,等撕逼完了达成共识再回过头改,这就是异步。

你喊完一声(出一个块)后可以先干别的去。比如你听到别人喊的要处理一下(其他节点出的块)——别人想改一个单元格,喊了问你同不同意。没冲突就同意,有冲突大家撕逼投票,看谁的票多。共识达成,再正式的更新公式,改写单元格。

这种异步执行是通用计算上链的基础。比如链上存储大数据。举个例子,一个节点可以长喊一声: 我要在上海影视交流群文件存储区放一部电影,这部电影就是个超大的块,然后让大伙去记下来。这个过程中你不要傻等这个超大块在所有节点中复制完,先处理点别的博彩了什么的小事务。很多轮流出块的项目,比如EOS,以太(包括以太2.0),所有基于VRF的项目如Algorand,Dfinity,都做不了这点,所以他们的科技树统统攀错了。
 

文章评论

    共有条评论来说两句吧...

    用户名:

    验证码:

Top