LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资讯 > 行走笔记:RChain,重塑互联网

行走笔记:RChain,重塑互联网

2020-07-18 行走 来源:区块链网络

本篇笔记来自币乎昨晚(7月17日)的直播分享。RChain创始人Greg为我们深入讲解RChain如何重构互联网。

以下,Enjoy:

很高兴能来币乎和大家做AMA.

一、自我介绍和项目介绍

我在RChain已经工作很长一段时间了。(哈哈哈)在这之前我大概花了三十年时间从事底层技术的研究,无论是RChain还是RChain上的dapp都需要这些底层技术。

今晚我给大家的内容,其实是我在大概二十年前就开始的工作。

这些可以回溯到上世界八十年代我的博导开创的工作。他有个梦想,能够打造CBC (Correct-by-Construction 按构建逐步校正的软件开发方法,行走注)的软件。RChain就是我导师梦想的继承者。

我还清楚地记得第一次见到他是在加拿大渥太华的一次会议上,当时我是一位发言人,他也是演讲者之一。他那时的工作让我看到了一种可能性,打造CBC软件。CBC的意思是正确性证明。我马上就被他的演讲吸引了。而这一切就是RChain的起源。

三十年前渥太华的会议上,他提出的想法是逻辑和计算之间的关系。我一旦看到了这种关系,马上意识到这不仅会改变软件开发的方式,同时也会改变很多事情的发生方式。这也是我今晚要和大家分享的RChain所做一切的核心。

二、重构互联网的“类型”

今天直播的主题是重构互联网,但不是说RChain可以重构互联网。我们的意思是“类型”?可以重构互联网。

可能大家对“类型”这个概念不熟悉。我来解释下。类型的意思是你可以对计算机程序做限制。

软件开发的过程是,开发者有一个想法,想要一个程序以什么方式,执行某个行为。有想法后就会写代码。这个行为、信息加上代码就会由编译器来检查、判断是否符合编程的限制,是否可行。

大多数的语言,比如JAVA只会对数据的形态进行对应的限制。比如可能接收的输入值是一个整型的列表,那输出就需要是一个整型的列表。而这就是计算机语言中非常常见的限制。

比如排序的功能就是将整型的列表,无序随机的列表,经过排序变成有序的列表。

除了这样的限制之类,类型可以对更加丰富的信息进行限制。比如你可以用类型去限制信息的安全性来避免信息的泄漏。也可以用类型限制秘密的分享。

类型也可以提供关于活性的信息。这样就能看到程序是否有进展,不会出现死锁。死锁是程序进入死循环,一个部分等待另一部分执行的结果,而另一部分又在等待这部分的结果。

在想到互联网发展时,类型的概念就变得更加有趣。可以说互联网现在正在经历重构。正在不可避免的从少数几个大公司控制的中心化网络转为一个去中心化的应用。而去中心化应用又是为去中心化社区服务。在此过程中,区块链可以扮演重要的角色。

但重构的过程却远远超越了区块链技术。毫无疑问,这样的重构会影响到社会、政治、经济等。除了区块链之外,还有一些关键技术会共同创建软件服务。

但有意思的一点是,很多人没有意识到逻辑正在经历一场演化和革命。我们对逻辑的认知也在发生变化。逻辑与我们生活其他方面的联系也正在不断变化。

但数字领域相应的变化却没有赶上逻辑的变化。这一切又会影响到其他领域,比如物理、化学,甚至影响到了更新的量子物理学的认知,影响是非常广泛的。

如果我们将代码看作数据集,存储在库里,或者作为区块链的智能合约,但我们却无法搜寻它的内在结构,或者基于功能进行搜索。相反我们会用原数据和升维工程,比如A知道b知道这个库。

这些意味着数据目前是不透明的。数据占据了很大一部分存储空间,但它是不透明的。

我不知道在座有多少人熟悉这样的一段历史。十五年前有一个团队发明了叫做KUGO(音)的系统,允许开发者搜索根据用户所提供的类型进行搜索的类型引擎程序。

如果大家记得我刚才讲的Rho函数的例子,是吧无序的整型列表输出为一个有序的整型列表,你也可以将类型输入到KUGO(音)中,就会返回所有能够匹配的函数。

当你用类型搜索时,很有可能想要搜到的是有序的列表,但返回的是无序的,也就是说KUGO(音)的搜索功能并没有实现。

但这样逻辑的革命,不仅仅包含了线性的革命,也包含了不同类型的逻辑。这场革命会允许我们去定义类型系统。

比如这样的类型系统就可以将类型和逻辑挂钩,同时可以将程序和证明挂钩。

所以当逻辑革命出现后,就会出现类型的革命。这是顺理成章、水到渠成的结果。因为二者是有关系的。

RChain提供的功能是根据类型的功能和结构进行检索。也就是说我们可以搜索单线程的代码,也可以搜索多线程的代码,同时可以搜索分享密码的代码,还可以搜索死锁状态的代码等等。

基于代码的功能、结构进行搜索带来的结果是,可以让编译器搜索代码中的新型错误(bug)。

举个例子,搜索多线程代码就变成检查正在编译的代码是否存在资源竞争的情况。而搜索共享秘密的代码会变成检查当前编译的代码是否存在安全隐患。

上述例子都可以在Rho系统中找到对应的搜索功能。在资源竞争的问题里,如果你能检查出状况,就能避免DAU的bug。而查找这些bug都是以太坊不能实现的。

除了搜索代码的功能之外,可以影响到代码的生成,尤其是可以增强利用人工智能生成代码的能力。

我记得1993年,我还在一家研究机构工作,和电信合作。我提出了一个人工智能的算法,可以将散布在不同代码库里的碎片整合起来,其中就包含区块链智能合约的碎片。而实现其功能的,就是类似搜索的系统。

在这个系统中,人工智能接收到用户的查询请求,然后搜索整个互联网寻找必要的代码碎片。再将碎片整合成程序满足用户需求。这样使用人工智能整合代码碎片,就能实现很多功能。

但这个逻辑不仅限于代码,可以应用于其他领域。比如几何推理。这个算法叫做逻辑形式操作语义。它可以生成、查询语言,而且可以利用到类型系统。

三、问题互动

1、REV对RChain网络有哪些作用?

REV有两个核心功能保证RChain网络的安全性:

第一个是避免DDOS攻击,可以打造全球计算机和全球存储系统。而每个人只要能连上网,都能访问这个全球计算机和存储系统。这样就能避免DDOS攻击。

比如有攻击者要攻击RChain网络,就会提交或者一直运行程序占用资源,其他人就无法使用到RChain的资源。

而REv就会起到“看门者”的作用。如果用到RChain资源就会有一定的开销。如果要运行一个永不停止的程序,就意味着REV的开销是无限的;

第二个功能是在共识机制中扮演重要作用。RChain是一个POS的共识机制,使用REV可以确保验证人可以遵守共识协议的规则。

如果您可以提交加密证据证据某个验证人没有遵循共识规则,那么他们抵押的REV就会被没收。最后留下来的就是那些遵循协议规则的验证人。

2、能介绍一下RChain的staking机制、参与门槛以及如何参与吗?

所有的区块都有溯源的证明。这个证明允许我们审核验证人在出块的时候是否是诚实的。这样我们就知道哪些验证人是不诚实的或者正在进行双花攻击。而我们也能对其采取相应的惩罚。

这个设计是希望有尽可能多的验证人参与。我们相比其他POS协议,会尽可能少的设计通胀,而使验证人尽可能多的得到回报奖励。

我们有一些成文的staking机制发布,其中解释了staking的细节和重力系统。如果是大额抵押,会有相关的折扣。这个也已经公布。

这些设计就让我们能够实现尽可能小的通胀,而是验证人尽可能多的得到奖励。

3、RChain的Casper和ETH 2.0的什么差别?

区别很多,仅就其中之一做详细解释。

以太坊的Casper 协议用的是 FFG,是没有活性的,你可以证明其会出现僵局的现象。为了打破僵局,就要设置同步限制。同步限制的一个组成部分就是在验证人提出的提案中必须要包含多少个信息。

只有达到了足够的信息,才能提出一个提案。而在RChain的系统中不包含统一的世界时钟。因为在去中心化系统中做统一的世界时钟技术难度非常大。

而且这也并不是个好的想法,因为必须要信任中心化的世界时钟是可信的。

但之前提到的区块自带的信息却可以用来保证同步的限制。但除了保持活性所设置的同步限制,还有其他方面也需要被考虑,包括公平。

Casper的核心并不是一个公平的设计,还需要增加一些其他的功能才能保证公平性。可以用摇滚乐队为例,如果其中一个成员只管自己演奏,而不管其他成员做什么,就不是一个好的乐队和系统。设置了同步限制就可以保证乐队中所有成员都会听其他成员演奏,还可以证明他听了别的成员的演奏。

4、为什么要一定是要去中心化的平台,听到您刚才讲的功能在中心化平台上不是也一样实现吗,而且中心化效率更高。不是吗?

中心化的系统会很高效。自然界往往会有中心化和去中心化的对比。以细胞为例,在某些方面细胞对某些资源是有限制的。包括细胞中的原子、原子核,都是服从细胞的,但另一方面细胞又会持续大量复制。之所以有复制现象是因为如果一个系统里只有一个细胞,一旦被杀死,系统会随之死亡,中心化就意味着不安全。

因此你始终要在中心化的效率和风险中做权衡。没有任何解决方案是放之四海皆准的,始终是个寻找平衡点的过程,这也是RChain要做的。

一方面通过本地化的资源,尽可能实现效率,另一方面又不会将珍贵的资源集中于系统中一、两个玩家手中。

5、从技术的角度,也许是可以重构互联网的,但是如何吸引普通人使用起来这个新技术呢?

问题问得好,也很重要。

我的方法是先去证明技术的用途。比如能够应用在无人车上,影响到无人车的算法,人们立即就能够注意到这个技术;或者用这项技术治愈某种疾病,人们就会认识到这项技术;或是使用这项技术允许开发者以不同方式搜索代码,至少开发者社区会意识到。这就是我希望吸引到别人注意这项技术的方式。

我十几岁时在市场上卖草莓。我会在早上选最好吃和漂亮的草莓,摆到摊位上。人们看到草莓好看,马上就受到了吸引。草莓的外表就能吸引人,我不需要做任何兜售。新技术的推广道理也是一样的,就去打造一些有用的,能够满足人们需求的技术,人们自然而然就会注意到。当他们注意到了结果之后,就会更多去探索背后的技术。

6、rholang解释器很慢,有优化的计划吗?

首先我们有很多计划去做优化。大概十五到二十年前有一种方法,可以将某个解释器变成虚拟机。又可以将虚拟机变成可以自解码的,类似于编译器的东西。

我们会关注这个方法来优化rholang的解释器。

下一步我们会将基于JAVA的虚拟机变成内生的硬件,实现更高速的运行。因为现在JAVA的虚拟机还是比较慢。

再往后,我们会设计rholang专用芯片。现代芯片的指令集并不是非常适合我们想要做的并发执行,所以我们要设计自己的芯片。

通过三步走的计划,来提高rholang的速度。第一步是从解释器变成编译器;第二步是从基于JAVA虚拟机到原生代码,最后是开发自己专门用途的芯片。

7、最近DeFi很火,RChain有进入DeFi领域的计划吗?

我们有计划。但要做去中心化的金融工具,必须要思考更基础层面的东西。目前Defi更多是个热门的流行词,而不是有稳健、坚实基础的技术。

我想指出,目前区块链技术还不够可靠,不够作为建立可靠金融工具的基础。

尤其是大家可以回忆下报道出来的Defi 的一些关键漏洞,就能知道将至关重要的代码放在任何现有的区块链上都不是明智的决策。

最好一开始去做那些低风险,吞吐量又比较小的事情。这是我们从互联网发展中得到的启示。

谷歌最开始只有一个单一的搜索界面和简单的按钮。如果你用谷歌搜索的结果不好,没有人会有巨大的损失,之后它的搜索功能就更加强大,可以搜索图片、论文、视频等。随着系统更加成熟,漏洞被解决之后,你就可以用系统做更好复杂的事情。区块链也应该遵循同样的路径。

8、Rchain主网已经上线很长一段时间了,为什么还是不能实现Rev的交易?

REV通证经济更多和监管有关。美国的监管使得我们必须特别谨慎来决定是否将REV作为证券型代币。

REV其实已经上了抹茶交易所,可以在中国和其他国家进行交易。但不是在全球任何国家都可以交易,主要受监管环境影响。但随着监管和技术同步发展,可能在交易开放方面会更加容易。

9、Rchain会重点关注哪些类型的Dapp?

问题问得很好,也和我对Defi的认识直接相关。我们想做高吞吐量、高交易但低风险的Dapp。

现在大家可以看看以太坊或比特币网络上跑的所有的Dapp的流量,和任何互联网的app,比如脸书的流量对比,都是非常低的。

类似社交媒体、流媒体,就属于高吞吐、高流动性和低风险的应用。在社交媒体上发帖子,不会有任何损失,不会有人因此丧命。但作为媒体的意义是给人与人建立了连接,这对于生活质量也非常重要。

对于Rchain来说,我们就是要关注那些高吞吐量但低风险的Dapp。举例我们将开源的应用前端和Rchain的后端结合,做了一个链上的聊天室,就是一个非常好的DAPP。

最后祝大家周末愉快。

以上就是昨晚币乎直播的笔记全部内容

—-

编译者/作者:行走

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...