【前言】
完整版本的报告参见【火币区块链产业专题报告】区块链技术可扩展方案分层模型,本文是个小小的summary。
报告全文下载:
【火币区块链产业专题报告】区块链技术可扩展方案分层模型.pdf
【理解区块链技术】
公有区块链 = 分布式网络 + 密码学账本 + 激励机制/治理机制(共识机制)
分布式账本(联盟链/私有链)= 分布式网络 + 密码学账本
区块链技术的核心思想=分布式底层密码学账本+经济激励模型,两者缺一不可:一味强调技术本身,没有好的经济激励模型会成传统的技术,需要额外的主体来运作和监管,正如上面所示,在没有经济激励模型下,我们可以使用联盟链和私有链去进行,通过中央服务器去实现需要达到的效果。而当借鉴冗余思想去考虑时,足够多的冗余备份会将中央服务器的可靠度大大提升,这样的足够多就必须建立在经济激励的基础上,否则基础是不稳固的;
同样一味追求经济激励模型,而无视了技术,就会造成泡沫,沦为圈钱的空气,很多模式在传统下运行的已经很高效、很稳定了,仅仅因为竞争压力太大,蹭着区块链的热点容易圈钱而发币最终只是引鸩止渴。
所谓币改、通政经济目前只是在研究阶段,募集资金的大门一下子直接开到不具备风险识别和应对承受能力的普通百姓脚下是非常不负责任的事情,这个环节是需要引入信用背书和强制惩罚机构的,仅仅依靠经济治理是行不通的。
分布式网络:分散,确保没人控制
全网广播:确保信息一致性
密码学账本:沟通语言
时间戳/链式:保护信息一致性,不可篡改,数据可追溯
数学算法:数学/程序的严谨性
共识机制:给机器分活分钱,组织资源
挖矿:资源交易
总量恒定:激励基础
当前有个很典型缺一的项目案例就是IPFS,正如笔者在《IPFS星际文件系统初识》一文中介绍的,IPFS是一个将现有的成功系统分布式哈希表(Distributed Hash Tables (DHTs))、BitTorrent、版本控制系统Git、自认证文件系统(Self-Certified Filesystems - SFS)与区块链相结合的文件存储和内容分发网络协议,前半部分都是传统技术基本已经落地,这是为啥IPFS已经能够使用,但是关于区块链结合的经济激励和共识部分却有点儿难产,导致IPFS协议是可用的,IPFSCoin无法激励节点参与,落地效果只有一半,缺了一条腿。
【区块链技术发展现状】
业内大家还在着重解决技术这条腿时,以打着经济激励的应用类型项目自然会显得跑得太快了,还得先回到技术上扎实了再来看经济激励的设计,那么发展到现在公认的技术进展仍然只有两代
第一代:比特币(BTC),莱特币(LTC)等为代表的作为支付货币;
第二代有三方向:
1.具备图灵完备的智能合约功能是大家说的最多的一个方向,典型代表有以太坊(ETH)和柚子(EOS);
2.隐私加密保护相对于第一代区块链也是一个很重要的改进,典型代表有环签名技术的门罗币(XMR)和零知识证明的大零币(ZEC)等;
3.有向无环图DAG也是一个重大的改进方向,典型代表如IOTA等。
同时,笔者在《“区块链”的两大主流技术——传统区块链技术和DAG》也介绍过,DAG可以作为广义区块链技术第二代的,当然它也可以作为新型的“区块链技术”,与狭义区块链技术并列成为第一代分布式账本技术
【区块链技术发展方向】
鉴于区块链三元悖论,技术上大家一直着重在解决TPS不能支持实际场景的问题,于是也产生了最早提出的公链、联盟链和私有链之争的问题,大家也普遍认可未来主要的落地应用将会是联盟链模式,公链将在全局记账上发挥自己的作用。(参见《区块链技术的去中介化、精简中间过程化 - 类ONT项目:韩国Edenchain +日本proximaX》和《跨链技术和项目对比——关注Irisnet和Fusion (因为低调)》两文)。
在此基础上,通过对27个典型区块链项目分析,借鉴计算机网络分层管理、各层标准化设计的思想,将区块链与传统互联网OSI模型结合,建立区块链技术可扩展方案分层模型三个一级层级:Layer0层数据传输层,Layer1层On-Chain公链自身(底层账本)层和Layer 2层Off-Chain扩展性(应用扩展)层。在一级层级的基础上,结合区块链架构又可以进一步分解成七个二级层级来详细研究。
Layer 0层数据传输层与传统OSI七层模型对应,优化区块链与传统网络的结合问题。区块链是整个互联网协议层中的最上层,本身还是要依赖于底层的协议为它工作,虽然在比特币P2P网络设计的时候已经考虑了节点之间的发现、节点连接的握手协议、节点间地址广播和数据通信等,鉴于已经有部分项目开始探索P2P网络与传统OSI模型的结合,甚至将改进延伸到数据链路层,本报告倾向将P2P网络和传播机制并入到Layer 0层和传统OSI模型一起作为一类可扩展方案进行研究。
Layer 1层解决底层账本问题,主要负责安全,妥协性能,注重于记账功能。结合区块链架构,Layer 1层可以分解成四个二级层级,从网络层的验证机制上使用诸如分片技术去改进,从数据层的数据区块使用诸如隔离见证和链式结构上使用DAG等技术去改进,从共识层的共识机制上去改进;
Layer 2层解决广义应用问题,主要负责性能,妥协去中心化,注重于计算功能。结合区块链架构,Layer2层可以有两个二级层级,从跨链、状态通道等多链并行、链上链下结合甚至是中心化的方式来满足性能需求,借助Layer 1层来保证安全。
区块链本身只是整个互联网协议层中的最上层,它本身还是要依赖于底层的协议为它工作。对应的接口就是区块链的网络层,这也是将数据层和网络层位置对换的主要原因,虽然在比特币P2P网络设计的时候已经考虑了节点之间的发现、节点连接的握手协议、节点间地址广播和数据通信等,鉴于已经有部分项目开始探索P2P网络与传统OSI模型的结合,甚至将改进延伸到数据链路层,所以将P2P网络和传播机制并入到Layer 0层和传统OSI模型一起作为一层进行可扩展方案研究是比较合理的,而验证机制可以回归到传统的架构中。
以上两图中所有红色字体部分都是区块链技术可扩展方案的改进点,也是分层模型的最底层。
最终实现一个服务于现实场景的底层账本,不盲目万能化,Layer1层就是作为这个底层账本的主要载体充分服务于Layer2层,根基于更适合的Layer0层。
【总结】
Layer 0层解决的是区块链与传统网络的结合问题;Layer 1层解决的是底层账本问题,也可以理解成一直说的公链问题;Layer 2层解决的才是扩展性延伸和链上链下打通的问题,也可以理解成广义的应用问题。
从分层的角度去设计一个区块链项目,可以有效的规避区块链的三元悖论问题:Layer 1层主要负责安全,妥协性能,注重于记账功能;Layer 2层主要负责性能,妥协去中心化,注重于计算功能,Layer 1层底层设计时就充分考虑好Layer 2层的交互问题,这种架构设计等于将以太坊和plasma进行重新设计,从底层设计就提供一致性和可交互性。
对应到当前主流项目上,可以用下面这个思维导图来统一表示:
报告全文下载:
【火币区块链产业专题报告】区块链技术可扩展方案分层模型.pdf
应大家建议开通微信公众号方便交流,目前公众号已与简书同步更新。喜欢的朋友可以关注,以后仍会以简书为主,微信公众号同步的方式,可以搜索公众号名“Putin学习区块链”或者“PutinBlockchain”,二维码如下: