可扩展区块链未来技术路线和共识方案——硅谷陈小虎

dspring9981 2019-12-06 05:20:08
中关村大数据产业联盟秘书长赵国栋:今天咱们跨洋分享继续请小虎同学给大家带来一场技术的盛宴。小虎从2012年开始接触区块链,在区块链领域已经递交了30多项专利。
我提前跟小虎学习了一下。有几个要点。
第一,就像以太坊一键发币的功能类似,小虎在实现一键发链的功能。
第二,基于公链可以建立不同功能、不同类型的区块链。
第三,公链,长期来看有可能成为下一代网络的基础。
这里面涉及大量的技术问题,我们还是请小虎一一道来。
陈小虎:感谢赵国栋老师。非常高兴能有机会跟大家共享区块链的一些技术实践。我们团队最早可以追溯到6年前。从2017年开始,我们针对已有的区块链技术的弱点,在我们对软件系统,以及区块链技术的深刻理解下,对可扩展的商用区块链的公链实现,提出了独特的设计和开发计划。目前看起来,我们在2017年初提出的多层架构,多链系统,已经成为目前区块链发展的重要方向。在与其他项目交流的过程中,看到越来越多的项目采用类似我们的框架。这个一方面是好事情,证明我们有很好的前瞻性,我们的努力是正确的,而且比其他的项目有了更多的发展时间。另一方面也说明区块链现在是逆水行舟,不进则退,有这么多的追赶者,如果我们不努力,很快就会被超过。
这里的话特别提一下以太坊,以太坊在过去的3年中,基本上没有值得让人眼前一亮的技术进展。而且从目前看,按现有的技术进展,短时间内也不会有太大的突破。这是很可惜的事情,反过来讲,也是我们的机会。在提出了我们自认为比较先进的架构之后,具体的实现也是非常有挑战性的。经过团队的不懈努力,我们在2018年四月成功地实现了主网上线,然后在此基础上不断拓展,基本实现了白皮书的要求。当前,我们的一个重要方向是在应用落地方面,我们与一些具有重大应用价值的应用合作,集中精力,让它们能快速,稳定的上线。这里的例子有FileStorm,PAS项目等。后续我们的其他成员会陆续介绍。
第十八期:《可扩展区块链的墨客实践》
主持人:赵国栋
赵国栋,中关村大数据产业联盟秘书长、国家大数据战略1142工程副组长、现任上市公司朗新科技、富邦股份、奥维云网独立董事、工信部专家库成员,中国计算机学会大数据专家委员会委员,首辅智库理事,盘古智库发起人兼学术委员。北京邮电大学经济管理学院特聘导师。《大数据时代的历史机遇》、《产业互联网》、《数字生态论》、《区块链世界》、《区块链与大数据》作者。
分享嘉宾:陈小虎
分享者简介:
陈小虎:MOAC(墨客)公链创始人、CEO。浙江大学学士、硕士,加州大学硕士;硅谷18年以上的软件研发和管理经验;联合创办了多家初创企业;2012年起参与区块链技术的研发,井通区块链底层技术的发起和推动者之一;2017年推出墨客公链,首创多链分层分片架构;擅长算法、软件架构,具有非凡的洞察力和远见;在区块链技术领域递交了30多项专利。
第一部分
系统链和应用链。
接下来,我会稍微具体介绍一下我们的架构,也是今天的主要内容。
先给大家看一个图。

这是我们的双层架构,原来叫母子链架构,后来应用方觉得叫子链不够高大上,所以现在改称系统链和应用链。
这种双层架构有几个特殊的地方:

应用链的生命周期是由系统链的智能合约来控制的。这个相当于是给应用链提供了一个去中心化的”上帝“的角色。这个概念很重要。因为对于一个区块链来讲,区块链的初始化,可信的随机数,还有可信私钥交换等等,都需要这么一个角色。如果没有一个去中心化的,很多系统只能将就用中心化的。在这里,墨客的系统链能够提供一个可编程的去中心化的“上帝”,是非常有用的。再给大家看另外一个图。

这里就是第二个特殊的地方。
这个架构定义了一个应用链和系统链,以及应用链和应用链之间通讯的通用框架,使得应用链有强大的功能,同时又可以“一键发链”的方式快速部署。
这里还值得一提的是,应用链可以周期性地将自己的区块哈希刷新记录到系统链当中,相当于是用系统链锚定了应用链的最终性。补充一句,一键发链,主要是针对标准化的简单应用,有点宣传的意思在里面。这样应用链即使是没有最终性的,比如POW,POR,也就有了最终性。另外,由于系统链通常比应用链安全许多,这样的锚定,可以大大提高应用链的安全性。并且由此可以衍生一些附加的功能,比如区块链扁平化等。举个例子,比如对于存储容量比较小的应用链节点,可以在刷新之后,把不需要的历史记录删除,只要少量的节点记录全部历史即可。这样的做法,对于IOT节点是非常有用的。这个双层结构,非常有意思。就像DC/EP,既可以改革,还不颠覆现有格局。
我们完成了应用链的多种共识方式的实现。这是基于这样一个逻辑,应用是多种多样的,不能靠一个共识方式支撑所有应用。因此,我们提出了几种不同的共识模式供应用方选择:
第一个是快速合约应用链ProcWind,可以认为是一个通用处理器。
第二个是去中心化存储应用链FileStorm,可以看成是一个去中心化的文件存储系统。
第三个是强随机数应用链RandDrop,可以看成是一个专用处理器。
第四个是物联网应用方案IOTMist。
特别针对物联网节点容量小(包括存储,cpu,内存)的特点,采用多层(>2)的结构,应用链可以作为上层应用链的系统链,从而构建一个树状的区块链系统,满足物联网特殊的需求。
前面三个都已经实现,最后一个还在开发中。
第四个特殊点在于,我们由此可以根据不同共识协议构建多样性的应用。
更为重要的是,一个应用可以采用多个应用链来满足需求。
由于前面提到过的统一的框架,所以,一个应用可以同时使用两种不同的应用链ProcWind和Filestorm,实现应用逻辑和相关数据存储的去中心化。物联网这个可以做垂直4层。这样的应用,对未来基于海量用户以及用户自己控制的海量数据的场景,这个框架是很合适的。可以容纳10亿个节点。想一想现代数字城市。
对于应用来讲,降低用户的准入门槛非常重要。现有的区块链的访问方式其实并不友好。最常见的基于智能合约的应用,用户在调用任何一个功能的时候,都需要消耗一定量的gas,这样要么用户事先就有了一定量的token,或者应用方自动给潜在用户事先充值。都很麻烦。墨客的应用链的实现可以不需要采用token,所以避免了用户的准入门槛的问题。但是底层的系统链通过资源控制,可以避免应用链上的恶意用户的sybil 攻击。至于用户说不想要token,我们的应用链完成可以实现。
第二部分
底层的系统链
接下来我想提一下底层的系统链。刚才讲了,应用链可以有多种共识,而且可能有很多的应用链实例。那么系统链必须是一个有足够安全性和去中心化的公链,才能支撑得起上面的大量的应用。墨客的底层公链采用POW的方式。因为我们认为目前只有POW满足这样的要求。墨客的POW采用类似于以太坊的GPU挖矿。但是所有的POW公链有个问题,就是如果你不是所有同质POW的老大,你很容易受到51%攻击。具体做法就是短时间内,从其他同质POW网络中租用大量算力,对目标POW公链进行攻击,得手后再退出。这种短时间的租用其实成本非常低,低的让人惊讶。那么作为小算力的POW公链,我们必须解决这个问题。etc好像就是这样被攻击了。是的,再给大家看一个图。

这个是我们的解决方案。具体的做法,我们创造性地采用考虑历史权重的POW,英文是POW-HWD。这个方案的工作原理是利用:诚实的挖矿节点会持续地挖矿,而攻击者只是愿意短时间内消耗一定资源来攻击。因此,在考虑历史贡献的情况下,可以降低突然涌入的大算力的影响。
在配置合适的历史窗口参数下,我们可以把攻击者的成本提高100倍-1000倍。这样,小算力的POW的公链也能相当程度地提高抗攻击能力。相关的内容我们已经发表在今年7月的IEEE blockchain conference上面。
第三部分
共识方案的一些总结
最后,我再给一点新的干货。这个是我对现有的共识方案的一些总结,也是对未来墨客发展方向的一个探索。之前都没有公开过,这里给大家共享,大家看这个图。

基本上所有的区块链的共识协议,需要解决一个根本问题。就是用什么方式决定谁可以产生下一个区块。可以是上帝选择,或者轮流出块,或者投票选取,或者是随机选取。选用不同的方式,就对应着不同的特性。也对应着不同的功能,成为不同的链。比如说PBFT,问题就是消息量太大,准入许可要求,在线率问题。POW的问题就是消耗能源,没有最终性。但是POW有个很好的特点是抗拷贝。因为POW的算力是物理要求,不能同时复制多份。对于POS来讲,就很容易复制另外一份。在这个图里面,一个重要的信息是不同的协议能够适用的节点数量。目前,支撑节点数量最多,也就是最去中心化的是POW。大家看最下来两个绿色的协议,一个是RBFT,这个是目标之一,我们希望是能够超越Libra的Hotstuff协议。
在系统链这层,能够把pow+pos同时结合起来。另外一个是SAV Protocol,这个是未来发展的方向。我们希望它能够支持百万以上的节点,并且不需要消耗太多的能量。这个图大家可以体会一下,我今天的讲话就到这里,谢谢大家。
第四部分
交流互动环节
赵国栋:辛苦小虎,感谢小虎的分享,的确不负技术盛宴之名。
赵国栋:大家有什么问题,可以敞开问哈,不要错过了和硅谷大牛直接切磋的机会。
赵国栋:而且井大也一直在线,随时补充。
井大:首创分层架构,应用链这里,实现了分片,而且实现了原子跨链,比cosmos和pokadat先落实。
群友:问题1:RBFT在容错性上有改进吗?
陈小虎:回答问题1:有很大的改进,而且可以解决目前Libra的准入限制和节点数量问题。
颜阳:问题2:目前,这种分层架构能否用几个技术指标体现出它的性能?
陈小虎:回答问题2:分层架构有两种扩展,水平扩展和垂直扩展。垂直扩展刚才井大讲了,可以最多有4层,水平扩展是无限的。可以至少支持1000条应用链。具体的tps我就不讲了。每一条应用链都类似于一个以太坊。可以支持多合约。
赵国栋:目前区块链几个热点技术,都有涉及,而且取得了成果。
颜阳:问题3:分层架构体现了它的应用的灵活性,但是有的时候底层链需要不得不update的时候,会不会增加发布的复杂性?
陈小虎:回答问题3:应用链其实有一个很好的特性,应用链的代码是和底层系统链的代码是分开的。底层的更新不影响上层的应用。更加极端一点,应用链可以脱离底层单独运行,但是就少了很多跨链和刷新的功能。但是神奇的是,根据需要,应用链可以再接回底层。
陈小虎:补充一下,上述讲的应用链的4种共识方式,每个都有独立的代码。
陈小虎:未来可以让用户自己定义新的共识方式。
武源文:真正面向海量应用生态的强大架构设计 。
颜阳:多层架构这样其实解决了我们在应用过程中,还要倒回来重新修改封装的底层的问题,对于运营来讲,带来了很大的便宜性。
陈小虎:对的。
赵国栋:咱们今天交流就结束了,谢谢小虎,谢谢井大,明天跨洋交流我们继续哈。
陈小虎:谢谢各位的观看。
...全文
200 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

791

社区成员

发帖
与我相关
我的任务
社区描述
区块链技术专区
区块链 技术论坛(原bbs)
社区管理员
  • 区块链技术
  • ccc908
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧