吕国宁,曾任云币网CTO、imToken联合创始人,现在他的身份是Nervos联合创始人。
2014年
,他以
CTO身份进入云币网
(前身为貔貅交易所)组建开发团队,并将整个交易所代码在
github上开源,直到现在很多交易所
仍在沿用他们的代码。
2015年以太坊刚出世,
他便慧眼识英雄开始关注其背后的技术。
2016年
,他和何斌联合创建了
imToken
。
2017年
,他加入
Nervos团队,开始了行业新篇章。
交易所、钱包、项目,其中一样做到行业顶尖已是难得,而他一把抓,堪称行业多面体。
他说区块链给了他自由,他可以选择自己想做的事情。入圈
4年,行业纷纷扰扰,他依旧是那个相信技术
、尊重技术,并且想要用技术改变世界的大男孩。
前天我们邀请吕国宁来到哔哔直播间讲述它对Nervos以及公链发展的理解,以下是吕国宁的直播内容整理。
01
Nervos小历史
Jan (谢晗剑)、Terry、何斌和我是多年的好友,当年我们都在一家美国咨询服务公司工作,之后一起跳槽进入云币网。15年离开云币之后,何斌和我创建了imToken,谢晗剑和Terry创建了杭州秘猿科技。
16年imToken第一版
上线之后,我开始对智能合约以及相关的安全审计产生了很大的兴趣,后来就离开了
imToken。在智能合约领域做了一年多的尝试
之后,我发现这个领域不够成熟,很难形成大产业。
Jan 和Terry
在筹备
Nervos项目
时,
Terry
列了一个长长的名单,打算把这些人拉进来一起做,而我是名单上的第一位。
当时,
Terry打电话邀请我加入,我立马就答应了,然后我们就开始讨论如何去说服名单里的其他人。
Terry非常聪
明,非常活泼,非常善良,非常帅
……(此处省略10000字)他在项目管理方面经验丰富。
Jan技术非常好,他是以太坊的核心开发者,曾经有两年的时间在以太网的核心开发团队,作为V神的左右手一起参与了Python客户端的维护以及以太坊下一步的协议——Casper的早期研究和立项。
曾经由
Jan带领的
秘猿团队在联盟链,尤其是高性能联盟链领域有两年的积累沉淀。
Jan本人
有多年的以太坊开发经历,见证了以太坊性能问题的始末,可以避免
Nervos的重蹈覆辙
,同时,他对未来公链的新方向有更多的理解。
这些都是我们的核心优势,是不能通过看白皮书或者开源代码就可以马上获取的,是我们的隐藏实力。
02
以太坊有历史包袱
我们对以太坊特别熟悉,不仅仅是以太坊的底层细节和生态,我们对以太坊的开发团队也非常熟悉。
我非常尊敬以太坊的核心开发团队,因为他们非常坚持去中心化,他们在去中心化这一点上从来不做任何的妥协。
大家都会拿以太猫导致以太坊拥堵这件事来表明以太坊性能不够好。曾经有一个投资人说,
Nervos
的方案需要解决以太坊的扩容问题,而在我看来,以太坊扩容的方案根本不
work
。
因为以太坊
最核心的问题是
它有
历史包袱
。
以太坊的口号是做世界计算机,希望设计一条公链承载所有的应用。以太坊是现阶段在用户数量、应用数量以及生态方面最为丰富的一条公链系统。
如果以太坊
重新思考怎么解决问题,怎么修改架构设计
、
经济模型,非常困难
的。
因为
它
每一次改动都必须保证向后兼容
,
从
技术方面来看挑战
很大
。
因此,我们认为以太坊的优势会越来越小,新一代的公链会出来,这个行业会给后来的从业者更多的机会。
03
区块链发展进入资本时代
公链之争已经拉开序幕,但巨头可能还没出现。
根据我们对这个行业的观察和理解,现在的区块链发展已经进入到资本时代。由资本推动的行业有一个特点,它能快速地推动这个行业的分工和细化。
我们观察到,尤其是在国外,已经有资本把大量的钱和资源投入到密码学、加密经济学、分布式系统、共识算法、分片算法等不同的领域,很多优秀的研究者诞生了。不管是从算法、技术,还是从工程层面,区块链在可预见的未来都会有快速的演进。
相对于老的公链,新生公链没有历史包袱。老的公链能否和新生公链竞争取决于老的公链能否快速地演进。
这就需要从系统架构设计的角度去考虑,未来所有的模块是不是可以被替换。举个例子,共识协议是可以替换的,二层拓展也可能会有新的方案,而达成共识的数据存储这件事情是稳定的,不可被替换的。
因此,Nervos把系统设计成分层架构。最底层专注于最简单的、最稳定的、不会被替换的通用存储结构。同时,把上面的每一个层次都设计成可以被替换的模块。
如果将来有更好的共识算法、协议、密码学算法及机制出现,我们都可以把它引进来。尤其是在二层和DApp层面,要做到以最快的速度把它们吸收进来。
04
Nervos分层解决方案
Nervos有一个底层基础公链——Nervos CKB,以及在这个底层基础公链之上运行的若干条的应用链,比如钱包、区块链浏览器、开发框架SDK及相关基础模块等,所有的加在一起就构成了Nervos,一个一整套的公链解决方案。
Nervos是一个整体架构设计,它通过二层拓展方案去解决公有链的性能问题。
不管是比特币还是以太坊,大家都在尝试引入更好的共识算法或者更好的分片方式,去解决区块链的性能瓶颈问题。
但我们认为让一条公链去承载全世界所有的计算和存储,这件事情并不work。想象一下,如果全世界所有的人都使用一台计算机,这台计算机就会变得非常昂贵和复杂。
因此,Nervos项目提出了分层解决方案,把区块链底层基础设施分为两层,分别是 layer1和 layer2。
layer1不关注效率,只关注安全及为上层链做优化, layer2关注效率性能和易用性。
区块链的底层设计中有一个
“
不可能三角
”,
安全性、去中心化和性能三者只能取其二。我们把它工程化,通过分层用不同层次去满足不同的需求,并且把它们组合到一起的方式来打破不可能三角。
05
全局共识非常昂贵且低效
Nervos在共识方面有自己的思考。所有的人和事,不需要每一步都通过全局达成共识,与其相关联的部分直接达成局部共识即可。
因为全局共识非常昂贵且效率最低。
我们认为单独的应用或场景,可以通过局部共识运行。他们可以单独跑一条链,并把这条链注册到一个全局共识的底层链上。如果这条链出现了争议,再去底层的全局链做仲裁。如果有人作恶,系统会对作恶方进行经济上的惩罚。我们认为这种方式更安全也更高效。
06
分片技术还远不成熟
为什么不使用分片?我们觉得目前解决区块链基础设施有两个方向,
一个是二层解决方案,另一个是分片。
分片想要达到的结果是,在一个分片中,在不依赖整体共识的情况下达到性能的提升。这跟我们使用区块链全局共识保证安全性是矛盾的。
另外,分片的方案不止一种。比如把参与验证的节点进行分片,比如以太坊把存储的状态数据进行分片。目前,分片技术还远没有到成熟的这个阶段,一些实验室可能会有一些分片的方案出来。
如果区块链技术没有在真实环境中长期实践,同时能解决重大的问题,我们很难说这项技术是成熟的。分片这条路,是一条崎岖和漫长的路。
07
以中间路线做治理
公链治理是公链的灵魂,我觉得这种说法有点儿过了。治理依旧非常重要,但公链是属于世界的,不是属于某个团队的。