可扩展区块链的墨客实践——硅谷陈小虎

  • 寻觅
  • 更新于 2019-12-25 14:45
  • 阅读 1106

未来区块链发展技术的方向,分层架构一键发链,分片、纵向拓展,根据不同共识协议构建多样性的应用。 对现有共识方案的总结,RBFT、SAV Protocol。

中关村大数据产业联盟秘书长赵国栋:重庆社群已经开通,重庆当地的各区县、各委办局领导都在看咱们的分享。昨天井大的分享,非常成功。这位老兄总是在三言两语之间,就指出了问题的本质。相信看过昨天分享的同学们都有收获。今天咱们跨洋分享继续。井大是井系区块链的精神领袖,陈小虎井系区块链的的掌门人。请小虎同学给大家带来一场技术的盛宴。小虎从2012年开始接触区块链,在区块链领域已经递交了30多项专利。 我提前跟小虎学习了一下。有几个要点:

第一,就像以太坊一键发币的功能类似,小虎在实现一键发链的功能。 第二,基于墨客公链可以建立不同功能、不同类型的区块链。 第三,墨客公链,长期来看有可能成为下一代网络的基础。这里面涉及大量的技术问题,我们还是请小虎一一道来。

陈小虎:感谢赵国栋老师。非常高兴能有机会跟大家共享MOAC区块链的一些技术实践。我们团队最早可以追溯到6年前,昨天井大也大致讲了最初的起因。从2017年开始,我们针对已有的区块链技术的弱点,在我们对软件系统,以及区块链技术的深刻理解下,对可扩展的商用区块链的公链实现,提出了独特的设计和开发计划,这就是墨客的来源。目前看起来,我们在2017年初提出的多层架构,多链系统,已经成为目前区块链发展的重要方向。在与其他项目交流的过程中,看到越来越多的项目采用类似我们的框架。这个一方面是好事情,证明我们有很好的前瞻性,我们的努力是正确的,而且比其他的项目有了更多的发展时间。另一方面也说明区块链现在是逆水行舟,不进则退,有这么多的追赶者,如果我们不努力,很快就会被超过。这里的话特别提一下以太坊,以太坊在过去的3年中,基本上没有值得让人眼前一亮的技术进展。而且从目前看,按现有的技术进展,短时间内也不会有太大的突破。这是很可惜的事情,反过来讲,也是我们的机会。在提出了我们自认为比较先进的架构之后,具体的实现也是非常有挑战性的。经过团队的不懈努力,我们在2018年四月成功地实现了主网上线,然后在此基础上不断拓展,基本实现了要求。当前,我们的一个重要方向是在应用落地方面,我们与一些具有重大应用价值的应用合作,集中精力,让它们能快速,稳定的上线。这里的例子有FileStorm,PAS项目等。后续我们的其他成员会陆续介绍。

第十八期:《可扩展区块链的墨客实践》 主持人:赵国栋 赵国栋,中关村大数据产业联盟秘书长、国家大数据战略1142工程副组长、现任上市公司朗新科技、富邦股份、奥维云网独立董事、工信部专家库成员,中国计算机学会大数据专家委员会委员,首辅智库理事,XX智库发起人兼学术委员。北京邮电大学经济管理学院特聘导师。《大数据时代的历史机遇》、《产业互联网》、《数字生态论》、《区块链世界》、《区块链与大数据》作者。 分享嘉宾:陈小虎 分享者简介: 陈小虎:MOAC(墨客)公链创始人、CEO。浙江大学学士、硕士,加州大学硕士;硅谷18年以上的软件研发和管理经验;联合创办了多家初创企业;2012年起参与区块链技术的研发,井通区块链底层技术的发起和推动者之一;2017年推出墨客公链,首创多链分层分片架构;擅长算法、软件架构,具有非凡的洞察力和远见;在区块链技术领域递交了30多项专利。

第一部分 系统链和应用链。

接下来,我会稍微具体介绍一下我们的架构,也是今天的主要内容。先给大家看一个图。 这是我们的双层架构,原来叫母子链架构,后来应用方觉得叫子链不够高大上,所以现在改称系统链和应用链。这种双层架构有几个特殊的地方:1. 应用链的生命周期是由系统链的智能合约来控制的。这个相当于是给应用链提供了一个去中心化的”上帝“的角色。这个概念很重要。因为对于一个区块链来讲,区块链的初始化,可信的随机数,还有可信私钥交换等等,都需要这么一个角色。如果没有一个去中心化的,很多系统只能将就用中心化的。在这里,墨客的系统链能够提供一个可编程的去中心化的“上帝”,是非常有用的。再给大家看另外一个图。 这里就是第二个特殊的地方。

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

第二部分 底层的系统链

接下来我想提一下底层的系统链。刚才讲了,应用链可以有多种共识,而且可能有很多的应用链实例。那么系统链必须是一个有足够安全性和去中心化的公链,才能支撑得起上面的大量的应用。墨客的底层公链采用POW的方式。因为我们认为目前只有POW满足这样的要求。墨客的POW采用类似于以太坊的GPU挖矿。但是所有的POW公链有个问题,就是如果你不是所有同质POW的老大,你很容易受到51%攻击。具体做法就是短时间内,从其他同质POW网络中租用大量算力,对目标POW公链进行攻击,得手后再退出。这种短时间的租用其实成本非常低,低的让人惊讶。那么MOAC作为小算力的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,这个是未来墨客发展的方向。我们希望它能够支持百万以上的节点,并且不需要消耗太多的能量。这个图大家可以体会一下,我今天的讲话就到这里,谢谢大家。

第四部分 交流互动环节

赵国栋:辛苦小虎,感谢小虎的分享,的确不负技术盛宴之名。 赵国栋:大家有什么问题,可以敞开问哈,不要错过了和硅谷大牛直接切磋的机会。 赵国栋:而且井大也一直在线,随时补充。 井大:MK是首创分层架构,应用链这里,实现了分片,而且实现了原子跨链,比cosmos和pokadat先落实。 群友:问题1:RBFT我们的整个JT在容错性上有改进吗? 陈小虎:回答问题1:有很大的改进,而且可以解决目前Libra的准入限制和节点数量问题。 颜阳:问题2:目前,这种分层架构能否用几个技术指标体现出它的性能? 陈小虎:回答问题2:分层架构有两种扩展,水平扩展和垂直扩展。垂直扩展刚才井大讲了,可以最多有4层,水平扩展是无限的。可以至少支持1000条应用链。具体的tps我就不讲了。每一条应用链都类似于一个以太坊。可以支持多合约。 赵国栋:目前区块链几个热点技术,墨客都有涉及,而且取得了成果。 颜阳:问题3:分层架构体现了它的应用的灵活性,但是有的时候底层链需要不得不update的时候,会不会增加发布的复杂性? 陈小虎:回答问题3:应用链其实有一个很好的特性,应用链的代码是和底层系统链的代码是分开的。底层的更新不影响上层的应用。更加极端一点,应用链可以脱离底层单独运行,但是就少了很多跨链和刷新的功能。但是神奇的是,根据需要,应用链可以再接回底层。 陈小虎:补充一下,上述讲的应用链的4种共识方式,每个都有独立的代码。陈小虎:未来可以让用户自己定义新的共识方式。武源文:真正面向海量应用生态的强大架构设计 。 颜阳:多层架构这样其实解决了我们在应用过程中,还要倒回来重新修改封装的底层的问题,对于运营来讲,带来了很大的便宜性。 陈小虎:对的。赵国栋:咱们今天交流就结束了,谢谢小虎,谢谢井大,明天跨洋交流我们继续哈。陈小虎:谢谢各位的观看。

点赞 3
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
寻觅
寻觅
江湖只有他的大名,没有他的介绍。