独家专访|复杂美区块链底层研发工程师袁海雷作客链客区块链技术社区,分享区块链创新构想与生态建设

原创
1728 天前
1488

大家下午好,非常荣幸邀请到复杂美区块链底层研发工程师袁海雷来到链客现场,和大家一起探讨“区块链创新构想与生态建设”这一话题。

欢迎袁总。

首先给大家介绍一下袁海雷的背景资料:

袁海雷

杭州复杂美区块链底层研发工程师

前ORACLE甲骨文高级工程师

2014年开始研究区块链,参与chain33区块链多项底层技术的开发,对区块链和基于区块链的应用有比较深入的理解。

接下来进入正题,有请袁总就现场回答我们精心准备的几个问题。

链客记者:我们知道复杂美是国内知名的区块链公司,拥有多项区块链发明专利,请您先给我们介绍一下目前的公司概况?

袁海雷:大家下午好,我是袁海雷是杭州复杂美科技区块链底层研发工程师,也是复杂美南京分部的技术负责人,非常有幸能在这边同大家一起探讨区块链技术以及区块链的创新构想及生态建设。复杂美科技是公司CEO吴思进在2008年创立的,吴总的特点呢是有比较强的个人预见力和独立判断能力,2013大家还不知道区块链是什么的时候,他已经是区块链的忠实拥护者,并且在2014年就提交了第一个区块链发明专利。2015年,他去央行讲解了区块链票据。2016年,吴总已经带我们做出了区块链应用的Demo。2017年,我们落地了海航海平线的区块链票据项目以及美的的区块链供应链系统,2018年我们在github上开源了区块链系统的所有源代码。2019年我们落地了50多条平行链项目,涉及多个业务领域。

我们的总公司呢是在杭州,在南京和广州有分公司,有100多人的研发团队,公司300多项发明专利都是大家在区块链研发过程中写出来的。2020年,我们在国家大力支持区块链的东风下,继续深耕区块链技术和应用。

链客记者:咱们链客的社区里有很多区块的技术达人,也有很多新人想进入区块链领域来学习相关技术,请袁老师用简短的语言给大家普及一下区块链技术概况?

袁海雷:这个问题其实以前也一直有思考,因为身边大部分人都是做技术的,他们对区块链的认识就是这是一个分布式数据库。那么这句话也不能说不对,但肯定不能算全对。区块链和分布式数据库的区别是,区块链不具备一个中央控制方,没有一个节点可以控制账本数据的生成,只能是大家之间互相协调,再生成一个一致性的账本。它们的一致性算法是有区别的,比如区块链的一致性算法是需要解决网络中拜占庭错(比如节点欺诈,传输错误等),而传统的分布式系统往往采用raft这类算法,这类算法是不能对抗欺诈节点的。所以区块链更像是一个独立的数据资产世界,这个世界里的规则不是由某一个人或是某一些人说了算,而是大家相互协调,形成一个一致性的结果,大家统一记录下来。

链客记者:复杂美在链客社区推出了一款非常不错区块链学习课程,这套课程的特点有哪些?主要讲的是哪些方面的内容?

区块链学习视频:网页链接

袁海雷:那么这套课程还是比较接地气的,因为录制课程的都是我们的核心开发者,参与了我们区块链系统从0到1到现在的整个开发过程,这个课程介绍了区块链的基础、挖矿、扩容提速、智能合约、可插拔存储、加密技术、共识算法等等,课程中也有大量的实际操作,比如演示如何部署比特币的网络、以太坊的网络以及chain33的公链系统,并在上面如何去构建一笔交易,如何去签名一笔交易,再如何把交易发送到区块链上,以及如何开发智能合约的流程等等。整个课程有六个章节,第一章包含了区块链概念的导入、区块链的发展现状、区块链思维等等。第二章包含了比特币、以太坊和chain33公链环境的搭建、以及各自账户模型、交易流程、挖矿方式的介绍,第三章和第五章可以放在一起看,主要介绍了以太坊上智能合约开发部署以及chain33公链上基于go语言、EVM虚拟机、WASM虚拟机合约开发介绍,第四章是跨链相关的,介绍了当前主流的一些跨链技术以及chain33平行链跨链技术的具体实现,第六章是存储相关,介绍了默克尔树和MPT树在比特币和以太坊中的实现以及chain33中对存储方式的改进,想深入了解区块链技术的可以在线学习一下这个课程。

链客记者:学习完这套课程以后,学习者能够掌握到哪些技能?在学习的过程中需要注意什么?

袁海雷:这个课程侧重于实际的操作,大家如果能够按照的课程把其中的实际操作也跟着做一遍,就可以达到能够独立部署区块链系统,以及如何在链上开发智能合约的能力,并且通过实际操作反过来也能加深对区块链概念的理解,所以学习完整套课程,大家在区块链理论知识和动手能力上应该都能获得一定的提升。

在学习中注意什么?这个可能每个人的情况都不太一样,那就讲讲我自己的学习过程吧,就记得在15、16年左右,那是打算要了解怎样去实现一个联盟链的共识算法,当时也不知道有什么系统可以参照,找的是麻省理工大学教授写的那个PBFT的论文名字叫可实践性的拜占庭容错算法,当时也没有人翻译这个看的是英文很辛苦,但看完一遍之后还是比较懵懂,也没有想清楚怎么和区块链关联,于是又看第二遍,花了不少时间,中间还是有不少没理顺的点,那后来我换了一个方式,在GitHub上找开源的区块链项目看到了tendermint 这个项目,于是我就搭建了一个环境,结合交易流程理了一下它的共识代码的逻辑,然后再回过头来看,之前不管是论文里还是其他看过的概念性的东西都有了更深的认识。

所以我的建议是在学习过程当中发现理论性的东西不好理解时,可以做一些实际操作,比如搭一条链、构造签名笔交易发到链上,观察一笔交易的整个生命周期,这样理论结合实际的方式可能学习效果会更好一些。

链客记者:上面介绍了生态里会有很多独立的平行链,每个平行链可能都有自己的资产或积分,那么咱们这个生态里这些相互独立的平行链之间能不能支持资产的交互?

袁海雷:简单来说,平行链是依附于主链,共享主链共识网络的区块链,理论上一条主链下可以挂无数的平行链。平行链与平行链之间数据相互隔离,但是资产又可以通过跨链来进行交互。每条平行链都可以有自己独立的区块链浏览器,DAPP应用, 钱包, 社区等生态设施。

它具备以下一些优势:

第一个是部署成本低:因为共享了主链的共识,省去了公链所必要的庞大的共识网络,只需要很少几个节点就能实现公链的效果。

第二个优势是执行高效:通常的区块链设计,交易都是串行执行。而我们平行链的设计,从整体上来看,交易可以做到并行的执行,因为在主链上,交易只做共识和存储。而实际的执行都是在平行链上做,当多条平行链共存时,不同的平行链上交易是并行执行,互不干扰的。比如一个区块中有3000笔交易,其中100笔是主链的,还有2900笔是多条平行链的,那么主链只需要执行这100笔交易,另外2900笔交易只做共识和存储,再分散到各条平行链上并行执行。

第三个优势是保持整套区块链网络的稳定:由于复杂的合约都可以开发或运行在平行链上,主链上可以只运行一些基础核心的合约。所以主链的稳定性会比较强,进而保证整个区块链网络的稳定。

第四个优势是高扩展性:平行链可以部署自己的微共识,组成一个中小型的区块链网络,形成自己的生态。

所以跨链是我们平行链生态中的一项基本能力。我们支持平行链的资产跨链到主链,主链的资产跨链到平行链,平行链与平行链之间的资产是通过主链上的交易智能合约来进行自动交换的。比方说,海底捞部署了一条平行链,在自己的平行链上发行了它自己的积分,肯德基也部署了一条平行链,同样在链上发行了自己的积分。那么它们只要在主链的智能合约中协商好两者之间积分兑换的模式,就可以实现积分的自动兑换。同样的,生态内任何资产都可以通过这种方式进行流转。

好的非常感谢袁总给我们小伙伴的带来的精彩解答。

接下来是自由问答时间,大家有问题现在可以提问。

一、开发者学习区块链应该要了解下区块链架构?

袁海雷:如果要进行区块链底层技术开发,首先需要理解区块链底层技术架构。业界通常认为以比特币为代表的区块链技术为区块链1.0,而以以太坊为代表的区块链技术为区块链2.0。它们之间的区别:2.0的以太坊是图灵完备的,而1.0的比特币是图灵不完备的。所谓图灵完备,就是指一切能计算的问题都能计算,这样的虚拟机或编程语言叫图灵完备。而两者各有其优势,图灵不完备会更安全些,图灵完备会更智能些,可以开发各种智能合约。

随着区块链技术的进步,出现了区块链3.0的说法,业界普遍认为3.0将来应用在社会治理的各领域,包括了身份认证、公证、仲裁、审计、物联网、物流、医疗、智慧城市等诸多领域,应用范围扩大到整个社会,区块链技术有可能成为“万物互联”的一种最底层的协议。当然目前阶段还没有看到哪个区块链项目能达到3.0所述的这个高度,我个人认为在区块链的性能,区块存储,跨链交易等一系列关键问题没有得到完善解决的情况下,3.0还是只一个概念,还需要从业者继续努力。因为这是一个很现实的问题,当5G,物联网等基础设施都起来了,带宽足够大,设备足够多。这时大量节点(数以十万甚至是百万计的节点)都要接入区块链,大量的数据都要上链(比如日活千万或更多)。如果我们发现区块链在这种情况下,既没办法同时处理这么多数据,也没有办法存储海量的数据。那么是无法承载上述这些比如身份认证,智慧城市,智慧家居等业务的。

二、公链和联盟链在架构方面的差别?

袁海雷:那么对于公有链和联盟链之间比较大的区别主要有2个:第1个.是激励层的区别,公链有激励机制,而联盟链通常是不需要的。因为公链是一个完全开放的区块链网络,它需要吸引更多的人主动参与到它的生态里来,所以需要设定一定的激励机制。而联盟链是一个半公开的区块链网络,联盟里的成员具有共同的利益它们才会组织到一起。比如银行之间,核心企业和它的上下游企业之间等,并且它们的成员出入通常都需要经过授权审批,所以联盟链中是不太有必要去设定激励机制的。

第2个是共识机制的区别,目前公链比较常用的有POW,POS,DPOS这几种共识。那么POW指的是你拥有的硬件资源越强大,那么轮到你出块的概率就越大;POS一般是指你拥有的资产越多,持有资产的时间越长,轮到你出块的概率越大;DPOS的话类似议会制,它先选举出一部分议员,然后由这些议员轮流出区块。

而联盟链一般不太采用这种共识机制,通常是采用改进版的pbft(比如tendermint或是libra用到的hotstaff共识)。

除了这两层有比较大的区别,其它的比如合约层,网络层,数据层都是相对来说比较通用的。

三、区块链的萌芽发展?

袁海雷:比特币白皮书在2008年10月份公开,而第一台比特币节点是在UTC时间2009年的1月3日18点15分,挖出了第一个区块并获得了50个比特币的报酬, 所以,区块链的萌芽是在2008年底到2009年初这一阵。但实际上区块链并不是一项新技术,而是一系列现有技术的综合。这些技术在很早之前就已经存在,经由中本聪的精妙设计组合而成区块链技术。其实我们着重了解其中三个关键词,就可以大概知道区块链是什么东西,这三个关键词分别是:账本,分布式和加密。

所谓账本,就类似于我们的银行账户,我们每天的收入和支出是由银行这一中心化机构来给我们记帐的。而区块链中(比如比特币)我们的每一笔转账交易都是由全网所有区块链节点共同记录的。

第二个关键词分布式:区块链中记账的节点不属于某一个个人,组织或团体,它是由分散在全球各个网络内的不同的节点同时来记录,并且现在比特币还往卫星上部署区块链节点,所以说我们的账本除了在全球各个不同网络内,同时还在存在太空里。所以这个账本的安全性是非常强的,几乎是不可能丢失的。

第三个关键词是密码学: 区块链里主要用到了hash算法,数字签名等密码学算法。实际在区块链中使用密码学技术,主要并不是指对上链的内容进行加密,而是通过密码学技术使账户信息无法被篡改。

由于时间的关系,今天的活动就此结束。最后,再次感谢袁总莅临“链客Talk”的精彩解答,我们下期活动再见。

上一篇:区块链+ERP如何解决信息孤岛问题

▎推荐阅读

整体解决方案显威力区块链让建筑行业重获新生

大难面前,区块链如何解决救援物资

区块链技术让慈善重塑信任,让爱延续

独家专访|博睿昊康”董事长杨昊东做客链客Talk:区块链+健康产业应用落地

——End——

链客区块链技术社区

链客区块链技术社区成立于2018年4月,是国内知名的区块链技术交流平台。社区拥有专业高质量的技术问答内容和分享前沿区块技术笔记,提供完整的区块链技术学习课程体系,为推动区块链技术的发展而努力。

链客Talk依托于链客区块链技术社区,邀请行业技术大咖及CEO、CTO、KOL、知名学者、大学教授,一切从对话开始,音频、视频、文章、AMA等多种形式展现当下最前沿的技术交流与社区用户互动分享,包括新技术突破、痛点解决,一起见证区块链技术的缘起时刻。

广播电台《链客Talk》每周30分钟节目和节目片花。首期覆盖7个城市2亿人口和蜻蜓FM、喜马拉雅FM、荔枝FM。目标:100+城市覆盖中国95%领土。

链客Talk让更多区块链爱好者认识、学习、掌握全新的区块链技术,在这里,齐聚业内技术大咖,国内腾讯、头条、广播及圈内财经等网络媒体全程参与,100万区块链技术爱好者参与围观,打造全新“为区块链技术发声”品牌。

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。