Greg Meredith:了解存储机制的历史,对区块链的存储机制是必要的

  • A+
所属分类:RChain新闻

4月30日17:00,RChain 创始人Greg Meredith做客MXC抹茶社区,就“RChain 升级主网后的发展之路”进行干货分享。

以下为Greg Meredith分享实录:

主持人:欢迎Greg来我们MXC抹茶社区,可以简单介绍一下您的背景吗?

Greg Meredith:感谢您给我介绍RChain的机会。对我来说,我更愿意谈论RChain这个项目和社区,而不是我自己。我是一个数学家、音乐家、父亲、养蜂人以及其它一些身份,但是大多数情况下,我是一个关心地球的人,就像其他许多人那样。我知道我们为解决气候变化的影响而采取的行动太慢了,我相信区块链技术如果可以扩展的话,可以使人们能够应对挑战,而不必完全等待政府或行业。

主持人:我们知道RChain最近已经主网上线,这对于项目来说是一个全新的阶段,RChain是一个以技术为核心的公有链,因此我们今天也会更关注于技术方面,并且回答来自社区的一些问题。RChain主网上线后,技术方面的短期、中期、长期规划是怎样的?

Greg Meredit:我们短期的目标是要打开目前的网络瓶颈,主要包括优化三个方面:短期其目标,需要对RChain最后的状态进行确定,树状结构的合并以及线程管理的优化;中期目标是要发展生态,将支持至少4个高交易量而低风险的项目在RChain上发展;长期目标将集中于LADL和平台层的商业化。

具体说来,通过LADL我们可以为众多编程语言和虚拟机自动生成类型系统,这意味着众多区块链平台上的智能合约将自动获得更强的安全性。

其次,我们还能在广泛的执行环境中生成Casper实例化,这意味着区块链平台能以快得多的速度运行,并且拥有最终状态的确定性和更好的安全性。

最终,你将可以一键生成一个高性能的区块链平台。这就意味着平台层将不会特别昂贵,从而将价值赋予社区、网络效应和平台上的应用生态。

主持人:如果我们可以一键生成区块链平台那将是非常有趣的事情。我们也看到一些区块链也声称类似的功能,比如波卡。您能将两者做一个比较吗?

Greg Meredit:我还没有看到Polkadot提出这一主张,他们的主张是将不同的区块链连接在一起。他们还将平台视为商品,但是互操作性只是下一个价值主张的开始。

而真正的下一个价值主张应该是数字资产管理。过去十年中,在internet上,所有的主要应用其实都是数字资产管理系统。从脸书到instagram到TikTok再到Spotify,主要都是关于数字资产的管理。

Polkadot与互操作性有关而与数字资产管理无关。如果是关于后者的话,他们应该具有明确的查询模型,该模型适合事务语言,而这是他们缺乏的。

主持人:RChain区别于其它公链的优势在哪里?

Greg Meredit:我可以从三个方面来阐述。第一,最终确定性状态,这个特性可以让新加入的节点不必往前追溯到链的最开始,它们只需要追溯到最近的一个最终确定性状态,这也意味着区块链的状态可以不是永远增长的;第二就是高性能,随着我们解决树结构合并问题和线程管理的优化,我们将看到高得多的性能提高;最后,正确性,通过类型系统,我们可以实现自动化的形式验证,从而可以避免代码层面的错误,比如像曾经出现的DAO bug就完全能避免。

主持人:RChain是怎样实现数据上链的呢?RChain的数据存储和IPFS之类的区别是怎样呢?

Greg Meredit:RChain首先是一个数据库和存储机制。这意味着它带有查询语言(rholang)和事务模型。通常,互联网已经理解了广义“键/值”的概念,例如,http协议实际上只是一个通用的”键/值“查找协议。”键“就是这些URI或URL,”值“就是这些位于URI处的资源,例如网页、API等。

这样的协议表明”键“是具有结构的,它们是一种”路径“。这对于构造对资源的访问非常有帮助。但是,http了解您并不总是确切知道您要查找什么资源或它们在哪里。因此,存在”搜索“的概念。IPFS在成立初期就错过了这点,并且正在极力追赶。

事实证明,这是非常基本的。任何存储机制(您可以将www视为一般的存储机制)都需要提供两样东西:首先是查询机制,因为您并不总是确切的知道要查找的内容,或者因为您想以编程的方式获得一堆东西而不必一个一个获取;其次是事务语义,对于www,事务模型是REST。虽然对于如需携带状态的票务订购系统而言,它并不是最理想的,但至少它的交易模型是清晰的。

IPFS没明白这些功能是多么重要。相反,RChain则是从根本上提供一种新的数据库体系结构:它解决了SQL和no-SQL之间的紧张关系,并提供了一个查询和事务模型来进行分布式和扩展。rholang具有的“模式匹配”,提供了一种查询机制,它的通讯规则是事务模型。从这个意义上讲,这就是下一步——Internet3.0语义。

要正确的理解这点,了解一些关于存储机制的历史是必要的。在关系型数据库出现之前,并没有真正的存储标准。有很多基于文件的分层数据库。这实际上是IPFS基于互联网推动的基本模型。但是一旦关系型的数据库出现,那些存储机制经历了什么呢?它们消失于历史中。其原因在于,关系模型解决了两个基本用途:高效查询和事务处理。

RChain在这个方向上探索并取得了成功。rholang和RChain建立于“进程演算”的数学模型之上,从字面上看,就是一种基于时间扩展的关系。这种基于时间扩展的比喻抓住了同时存储代码和数据的想法,让它们可以有效的在语义和句法上并列使用。

主持人:RChain的反应式智能合约具体是什么意思呢?它相较于目前的一些链上智能合约有什么优势?能否举例说明?

Greg Meredit::并发性!下面这段是用rholang写的构建去中心化交易所的核心代码。

for( ask <- askStream; bid <- bidStream ) { match fit( ask, bid ) case good => doSale( ask, bid ); case ok => …; case nogo => putBack( askStream, ask ) | putBack( bidStream, bid )  }

你可以看到代码非常简洁。它从一连串的要价流中获取要价,并从一连串的出价流中获取出价,当要交和出价相匹配的时候则达成了交易,否则它们会被重新放回它们各自的流中。当然,对于一个完整的交易所来说,还需要更多的代码。但是这就是交易所的核心逻辑,并且它被一行rholang代码就表达了。这就是反应式合约的强大之处,它们表达了各种Internet程序模式,从复杂的事件流程处理到用户界面交互模式。

主持人:我听说RChain开发人员最近在JavaScript自动转换成并发Rholang语言上取得了突破,这大大降低技术难度,让程序员能轻松写出并发区块链编程语言。能具体谈谈这项突破吗?

Greg Meredit::我并不认为这是一种突破。rholang的要点在于它在语法上表示并发,JavaScrip在语法上模糊了并发性,这是倒退的一步。

主持人:除了JavaScript,其它编程语言未来可以自动转换成rholang吗?RChain考虑过怎样更好的利用现有的技术资源来降低开发门槛吗?

Greg Meredit:其他程序不应转换成rholang,在我们获得硬件支持之前,应该采取另一种方法。主要原因是很少有流行的编程语言支持并发的语法分析和资源控制。这隐藏在逻辑中而不是语法中。

使用语法时,编译器和类型检查器可以检查各种属性,例如该程序是否会死锁,是否会将信息泄漏到不安全的通道等。您可以检查JavaScript语法中的此类属性,您必须了解逻辑,否则将很难解决。

主持人:可以介绍一下RChain上的生态项目Dappy吗?这个项目有哪些亮点呢?

Greg Meredit:Dappy最大的亮点是名称链接。其次,它是优秀的预言机(oracle)技术构件。

主持人:最近在举办Dapp想法的评选,可以介绍一下有哪些出色的dapp参加了吗?或者您认为RChain的dapp生态会在哪些方面出现突破?

Greg Meredit:RChain的生态系统主要需要低风险、高交易量的应用程序。例如游戏、聊天、社交媒体等。而突破点在于,当人们在使用它时甚至都不会注意到区块链底层。

主持人:RChain经历的很多次危机,甚至有过破产的传言,但是我们看到RChain这么多年一路经历坎坷却坚持下来了,您能告诉我们是什么支撑了RChain,让这个项目坚持到现在。

Greg Meredit:社区,一直是社区。RChain并不仅仅是一种技术。RChain是一个社区的人们,他们认为需要做一些事情,并共同努力才能完成。