2021/06/10| AMA:区块链的内力与招式,RChain VS 其他链

2021/06/10| AMA:区块链的内力与招式,RChain VS 其他链

邀请嘉宾:莫给机狂

主持人及收录:光之十一

红包小助理:蓝精灵

同步小助手:冰河、小七、徐 Rose

莫给机狂:大家好,我叫莫给机狂。简单介绍一下自己。莫给机狂,RChain 合作社中国社区成员,毕业于浙江大学和卡耐基梅隆大学计算机专业,后定居于美国,长期在 IT 业界工作。作为区块链技术爱好者,2017 年开始关注 RChain 的技术,和 RChain 合作社成员有很多深入交流,并一直在中国社区宣传和推广 RChain 的独特技术路线。很荣幸参加今天的交流。

凌晨:首先很感谢 RChain 中文社区的热情和给到云顶这次 AMA 的机会。自从马斯克推特喊单碳排放后,该词汇便一直围绕着币圈,于是深耕发掘到 RChain。自己也写了一篇文章,这次主要想邀请你们,让我代表我们的社区成员对你们进行深入的问答。

Q1. 最近有一篇公众号文章流传甚广,其中声称 RChain 不但是碳中和第一链,还是协调全世界的平台,请问这是忽悠吗?

莫给机狂:我是 RChain 的老会员,自从踏入币圈以后,看了很多公链项目,但一直被 RChain 的技术所迷恋,很开心能在今晚把它展现给大家。RChain 社区里的老人都知道,Greg 做了很多期关于气候变暖、世界协调的访谈,不断的重复 RChain 是个必不可少的这样的平台。最近在国际金融论坛的演讲,Greg 也是重复了这一点。很多人确实不理解,觉得这种说法太玄幻、太虚,反而让投资者觉得这个项目就是个空气币。这个问题上,我觉得这是因为绝大多数人的认知还没到那个层次——你只站在二层楼那么高,而 Greg 是站在百尺高楼的楼顶,所以你是看不到他的视野的。

实际上,区块链的信任模型确实是世界协同必须的。举个例子,全世界合作一起减排,发行统一的碳积分,那这个积分系统由谁来管理?谁都不合适,即使联合国设立个委员会来管也不合适,因为涉及的钱太多了。所以最好就是区块链这种“代码即法律”的无需信任的系统。进一步 Greg 也认识到,除 RChain 以外的其他公链,都无法提供一个给全世界几十亿人同时使用的平台,因为现实生活中,所有人、IOT 设备的行为都是并发的,没有一个统一的顺序。而除 RChain 以外的所有公链,都因为没有并发的计算模型,由此都需要通过各种方式给链上的交易排序。

那么问题来了:你能给几十亿人,几百亿设备的每分每秒的行为都排好队,给个号吗?显然不现实。然后其他的公链又出了个昏招:分片。分片就是说,好,一条队不够,那我们做 N 个队让大家排。但那也不对啊,比如我给 Greg 5 个 REV,这个交易,到底是排 Greg 的队,还是我的队呢?其实链上的世界计算机就是对链下的映射,现实生活中,每时每刻都有很多沟通、交流事件发生,本来就不需要排各种队去处理。

所以,你只要排队了,一开始就错了。而 RChain 不排队,RChain 只管处理、协调交易之间的冲突。这就是 RChain 的思路。这才算符合天道的世界协作平台。

Q2. 早闻 ETH 的 Layer 2 方案即将进行扩容,在这之后,请问区块链还会需要 RChain 吗?

莫给机狂:Layer 2 实际上只是把耗时久的计算放到链下,每隔一段时间,只把一堆交易的运算结果打包,把这堆交易的整体状态更新上链。Optimisitc rollup 是留出一段时间,让人去挑毛病,如果没人挑出毛病了,那结果就是可信的。ZK rollup 是用密码学手段,给那一堆交易做个防伪标签,再把这堆交易的结果和防伪标签一起写回主链。用那个排队做比喻,Layer 2 就是:我们大堂里太挤了,一个队排不下,你们出们去排个队自己解决下,然后每隔一段时间把处理结果放进大堂里的长队(主链)里来。

所以,你很容易看出问题:你还是在排队。队与队之间,互操作性是很差的,你只能通过“隔空喊话”的形式来处理两条队之间的交互。也就是说,这些队(各个二层网)之间,都是半独立的,没法无缝的协作。如果你们看各种论文、解决方案,为了解决二层网之间的协作,都是用各种跨链原子交换类似的加锁解锁的方式,且不论效率,这个只对简单的资产原子交换可行,对一般的通用计算是无能为力的。

还有一个很重要一点就是,二层网为了追求速度,一般都配置很少的节点数。这样区块链的一些特性就被牺牲了。因为结果会被发布到主网,所以”可信无篡改“可以保证,但“公平”,”抗审查“的属性就丢掉了。所有的这些问题,就是因为他们在不停的排各种队,一条队不够就来一堆半独立的队,这并不是真正的扩容。这一切都要等 RChain 的基于 Rho 演算的不用排队的方案正式部署到主网(暂时部署在测试网),区块链才能真正的解决扩容问题。区块链才能真正的解决扩容问题。而且更让我激动的是,RChain 也可以借鉴 Layer 2 的思路,把耗时久的计算放到链下的,但不同的是,RChain 可以把计算和部署解耦,在把计算放链下的同时,部署还是放链上!这一切都是因为 RChain 是静态部署的,而其他项目是动态部署的,计算和部署不能分开。RChain 为什么可以静态部署?因为它用了 Rho 演算! 计算放链下是不会违反区块链的特性的,但是部署是不能放链下的下了链你就丢失区块链的特性了。

Q3. 在 ETH 2.0 出来以后,请问是否仍有 RChain 的用武之地?

莫给机狂:前面说了 Layer 2 就是出去排队,把结果放回大堂里的队里。那么,分片,就是在大堂里把一条队变成很多条队,那么分片就是在大堂里把一条队变成很多条队。所以其他项目的分片和 Layer 2 都一样,都需要面对队与队之间的互操作问题。都需要面对队与队之间的复杂的互操作问题。解决不了,得到的就只是一堆一盘散沙的半独立系统,并不是个可扩展的方案。而这个问题,在图灵机框架下,无解。种因得果,各种问题在你选了图灵机计算模型,要把交易排队的时候就已经种下了。而 RChain 根本不做排队,它记录每个个体之间的并发信息交换然后放到链上,接着用共识协议验证信息,并处理可能冲突。

RChain 的这个架构,不光可以在分片内去完成并发,而且分片之间也能保证原子互操作性。这样的好处就是,程序员写跨分片的复杂的代码,和单分片内是一样的,没有差别。“万块并发,万链如一”就是 RChain 的架构优美之处。为什么 RChain 能做到这点呢?因为它基于可组合的 Rho 演算,其他项目基本都基于不可组合的图灵机。一个分片的图灵机就是一条队,顺序处理各种交易。两个分片的图灵机就是两条队,并不会成为一台更大的图灵机。而一个 Rho 演算虚拟机相当于一张 Excel 表, 两个甚至 N 个分片的 Rho 虚拟机可以组合成一张更大的 Excel 表,这就是可组合性。这里面还有很多细节,今天没法讲太多,有兴趣可以再聊。

光之十一: 最有影响力的软件里都有机总的代码潜伏。

莫给机狂: 对的,影响过历史的进程,还真不是吹的 LOL

Q4. RChain 可以做跨链吗?请问跟波卡,Cosmos,等等,这些跨链项目相比的优势是什么?

莫给机狂:当然可以。万块并发,万链如一,最后 RChain 还会做到万链归一。

跨链类项目是做一条中继链,让很多其他链都通过它来传递代币或者消息。有的例如波卡,还会为接入的链提供信用背书,让子链也具有主链同样的安全性。所以他们的目的就是成为一个类似骨干网那的基础架构,联通很多不同的链。然后在上面做个抽象,提供一个统一的视图做 DApp 开发。但做过网络工程的人知道,骨干网是需要最强大的硬件来支持的。没有并发加持,相当于妄想让一个家用机的路由器来带一个大型公司的骨干网。

而且,做跨链,你不光只是传递消息和代币,还需要强大的协调能力:需要能检测并处理各个跨链事务的冲突,还能提供一个“可组合的安全性”。比如你调用其他链上的一个合约,需要保证你给他的一些权限不会被泄露给第三方,不然,你不敢跨链去调用其他合约,相当于你没有防火墙直接把裸机暴露在互联网上。这些能力,现 在我只见过 RChain 的技术可以提供。RChain 有无限并发可扩展的强悍特性,快速的冲突处理能力,加上行为类型系统在链上加以约束,这才是最理想的跨链平台。

Q5. RChain 是适合开发 DeFi 的平台吗?请问在这方面有什么独到的优势?

莫给机狂:DeFi 现在还是早期,从逻辑上推演,DeFi 必然走向 RChain 的架构。RChain 是反应式的合约体系,类似一个 Excel 表,输入变了,依赖于这个输入的合约自动触发运行,不需要主动调用。无数 DeFi 合约之间可以并行运行,但链上又有冲突检测机制保证它们运行结果之间没有冲突。

生活中的各种金融系统实际都是按照 RChain 的思路运行的,有各种依赖关系,自动根据一些事件,比如:违约、价格跌破一定阈值等,触发结算,每个机构、每个产品、系统都可以并行的跑系统都可以并行的跑,而不是排成一条长队去依次处理。而且,RChain 的基于行为类型系统的快速形式化验证,提供了“可组合的安全性”,这个对 DeFi 来说太重要了!没有这个,你就不放心把各种金融产品组合起来,成为一个更大的产品,比如:ETF、各种衍生品、等等。

反应式合约+并发+可组合的安全性加起来,RChain 是 DeFi 的不二之选!

Q6. RChain 说自己是世界计算机,而 Dfinity 也说自己是世界计算机,请问二者之间有何差异?

莫给机狂:受我们群的传奇身家几十亿的毛总启发,我要提到一个”含块量“的概念了。都是世界计算机,但“含块量”可以完全不一样。区块链必定是世界计算机,而世界计算机并不一定是区块链!只有满足区块链的几个特性的,这台世界计算机才算得上区块链:高度冗余,计算以及结果可信、无篡改,公平、抗审查。

Dfinity 还在搞排队那套,所以它没法实施可扩展性,,所以走的是和以太坊 Layer 2 类似的路线,计算放链下的容器里,结果上链,就是出去排队的意思。这个方式可以保证冗余、结果无篡改,因为计算数据、结果上链。然而我没看到以太坊 Layer 2 种的 Optimistic 或者 ZK roll up 的那种结果的验证机制,计算过程的可信也不能保证了。当然和 Layer 2 一样,“公平”,“抗审查”也不能保证,因为那个容器的运行者完全可以决定执行哪些交易,次序如何,它说了算。所以,Dfinity 丢掉了一大半区块链的特性,“含块量”低的可怜,应该开除出区块链的队伍。

再者,单链几百 TPS 的性能也是不足以承担世界计算机的可扩展性要求的。RChain 的 Casper CBC 协议,是完全的 Leaderless,所有节点任何时刻都平等地位, 没有带头大哥, 在保证无限可扩展性的同时,所有区块链的特性都能保留,这才是真正的“含块量”100% 的世界计算机!

Q7. 有消息说 Coinlist 上的明星项目 Casper Labs 是从 RChain 分叉出去的,并且 Fork 了 RChain 的代码,请问它的技术路线和 RChain 有何不同?

莫给机狂:Casper Labs 是 RChain 在熊市深陷财务危机的时候,被一个著名机构把一大半开发团队挖走折腾的项目,Scala 版本的代码一开始是抄我们的,当然后来他们用 Rust 重写了。

可惜啊,虽然操刀的著名机构和币圈大佬,但对 Rho 演算一知半解,反而觉得太小众,是个累赘,所以要求开发团队把 Rho 演算阉割了回到以太坊那样的图灵机(最终用了 WASM 虚拟机),当时我就大笑三声。因为,他们只看到 RChain 用 Casper CBC 共识协议来并发出块,觉得炫酷,所以只抄了这部分,我称之为“剑招”。但是 Rho 演算才是 RChain 区别于其他所有项目的精华所在,我称之为内力。有了内力,你才能不用排队。你只学了并发出块的剑招,没学会并发执行的内力,技术上肯定翻车嘛。当然我只论技术,商业上成功与否不讨论。

这个区块拓扑图是 CSPR 的电报里 Copy 来的:

2021/06/10| AMA:区块链的内力与招式,RChain VS 其他链

这个密集恐惧症的图,是 RChain 的测试网上抓下来的:

2021/06/10| AMA:区块链的内力与招式,RChain VS 其他链

哪一个更厉害?看看两个项目的区块图的区别你就知道了。而且我看了 CSPR 的区块浏览器,发现没看到一个区块有多个父块的 Hash。说明它们可能已经完全退回到一条长队了。还有很多轶事,要知其中详情,可看拙作《笑看 Casber Labs 只练半本九阴真经的下场》(点击跳转)。

Q8. 这边有一 张( RChain 和其他公链对比的总表(点击跳转) ),其中 多次强调形式验证,关于形式验证是什么意思?请问可以具体解释一下吗?

莫给机狂:形式验证是终极的保证智能合约代码安全性的方案,就是出一个数学证明,证明这段代码无论输入怎么样都能满足所需要的特性:比如任何账户余额不能为负,总的代币量不会有变化,等等。

形式验证是很难实现的,尤其是它的复杂度是一级一级往上升的:

Level 1. 单合约,单线程;

Level 2. 多合约,单线程;

Level 3. 单合约并发;

Level 4. 多合约协作+并发;

Level 5. 多合约跨分片协作+并发。

RChain 因为用了可组合的 Rho 演算+配套的行为类型系统做链上快速形式验证,内力充沛,从 Level 的 1-5 都可以轻松打卡,因为难度都是一致的。检查一张小的 Excel 表,和检查 N 张 Excel 表组成的大表,逻辑上没啥大区别。而其他项目的图灵机体系下,底下几级还可以爬爬,但越往上越复杂,指数爆炸教你做人。然而你不去做形式验证的话,黑客可以免费帮你做,然后发现通不过,就发现了可能的攻击途径,一样教你做人。 所以,这是条不归路。详情可见《RChain 的乾坤大挪移》(点击跳转)

Q9. 币圈都说得 TPS 得天下,不少公链都吹嘘自己几十万、几百万的 TPS,这方面您是如何看待的呢?请问为什么相较中心化而言,去中心的 TPS 会那么难提升呢?

莫给机狂:对的,很多项目都在吹嘘 TPS。TPS 是忽悠外行的,这一行,最难的保证区块链特性不丢失的情况下爆 TPS。就是说,我们追求的是“含块量”高的 TPS。你含块量低了,TPS 再高也没个卵用,因为单机系统 TPS 比你高的多了去了。

举个例子:Solana 的 TPS 高达 65000,感觉很厉害。一般的韭菜是看不出里面的门道来的,但我今天就可以聊一下,它的高 TPS 是靠牺牲“含块量”弄出来的,没什么意义。它的思路就是,让一群人撕逼决定排队的次序太慢,所以干脆排队的次序都让一个 Proof of History 节点来指定,指定完了以后,用一堆哈希函数串起来,就没法篡改了。网络里其他的节点都是打酱油的,根据这条队上排好的交易次序依次执行,那 TPS 就接近于单机跑了。

然而这里,“排队”这个事就中心化了。这个中心化的节点,可以在排队的次序里动猫腻,或者,根本不给你服务(不让你排进来),你也没办法。这是直接违反区块链的精神的,甚至比 21 个节点的 EOS 还要烂。区块链这么伟大,是因为怎么“排队”这个事情不是一个节点决定的,而是一群节点共同决定,很公平, 很有号召力。如果这点没了,我还不如退回到现在的中心化系统呢,那里至少如果我受到了歧视性的待遇,我还能打官司告那个中心化的平台去。

所以,你去中心化到底是为了什么?这种“隐藏的中心化”也是 V 神痛恨的,他在最近的博客里没点名的批评了。然而人家比较清高,不像我那样喜欢怼……

那么,含块量 100% 的 TPS 为什么那么难整?又回到开始了,因为除 RChain 以外的所有项目,都需要给交易排队!你只要排了队了,不管白皮书怎么天花乱坠,你的 TPS 就限定了,走不出不可能三角。RChain 因为没了排队这个最根本的约束,已经突破了不可能三角了。不可能三角,只是对”一条队“而言的。RChain 因为没有队,所以直接一个筋斗云跳出三界外,不在五行中了。RChain 只要一步一个脚印,在保证 100%“含块量”的前提下,不断去优化这个架构就行。

Q10. 现如今在做 DAG 的项目有很多,比如:FTM,Conflux,等等。请问 RChain 的 DAG 比较这些起来有何特色?

莫给机狂: DAG 可以用在两个地方: 节点间的网络连接拓扑,以及区块间的依赖连接拓扑。第一种不推荐,因为无秩序的连接,乱糟糟的只会降低全网共识的收敛速度。网络连接层这块已经有很好的算法了;第二种用途才是 DAG 的杀手锏:把区块组织成 Dag,可以实现并发出块。就是说,很多节点都可以同时出块,不需要像以太坊那样,PoW、PoS 协议轮到的那个节点才有出块权。只要同时出块了,块之间就可能有兄弟姐妹关系。比如我和凌晨都同时出了一个块,这两个块之间是兄弟关系,不可能是父子关系,所以,肯定要用 DAG 来连接所有节点并发出的块。

然而,同时出块,形成 DAG 仅仅只是剑招,要真正发挥 DAG 的威力,你还得有相应的内力去配合:并行的执行这个 DAG!而且执行时,每个节点可以不用步调一致,没有这个内力,只会搞得和 CSPR 一样走火入魔,退回到单链。并行执行的话,这个 DAG 上的块、交易你都不能排序了。除了 RChain 以外的所有 DAG,因为都用的图灵机,还是要把 DAG 上所有的交易排成一队,不然就跑乱套了。所以这个感觉,就像一台超跑,挡位卡死在一档了,要多难受就多难受。但是没办法啊,没有 RChain 这样的并发虚拟机的内力,是发挥不出真正并发的威力来的,更别说还需要配套上并发下的形式验证了。

群友:一直以为 Layer 2 跟 ETH 2.0 一样,今天看机总讲解,明白了。

莫给机狂:大道至简,只要明白大家都在“排队”这个道理,大多数的项目也就一眼能看穿本质了。

群友 :买了那么久的币,真正开始买 REV 后才真的了解到底层技术。

群友 :是机总讲解的通俗易懂了,之前看文章全是专业语,很苦恼也不明白。辛苦了。

莫给机狂:我觉得,一个东西如果只能讲的云山雾罩,不让人看清楚,那就是一开始就不想让你搞清楚。不能靠忽悠、传销,要以德服人。市场自己会去价值发现。价格回归价值的过程,就是财富被动暴增的过程。

2021/06/10| AMA:区块链的内力与招式,RChain VS 其他链

文章来源于网络,如有侵权联系站长做处理。发布者:btcbtc,转转请注明出处:https://www.zmyg.org/2686.html

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注