
2.2 软分叉——技术的延伸
2.2.1 共识机制(公链)
公链,也称非许可链,是指在无须许可或者第三方信任的分布式开放系统环境下运作的区块链技术系统。共识机制是区块链技术的核心,不同的共识机制会生成不同的区块链系统,具有不同的技术特征。下面是几种常见公链共识机制的简单总结与对比。
1)工作量证明(POW):基于哈希函数计算的竞争机制,优胜者获得记账权和挖矿奖励。
优点:机制简单;挖矿即共识;作恶成本高(51%攻击)。
缺点:耗费能源;效率低;矿场&专用芯片(ASIC)[1]会导致算力寡头化。
2)权益证明(POS):在POW基础上加入节点权重,引入代币作为权重依据,根据每个节点所占权重的比例和时间,等比例地降低权益证明(POS)难度,从而加快找随机数的速度。
优点:减少参与验证和记账节点的数量,可缩短共识周期。
缺点:依赖代币,仍然会浪费计算资源,且使得“富者更富”。
3)委托权益证明(DPOS):在POS的基础上,每个节点根据权重投票选出一定数量的“超级节点”,由这些节点轮流产生区块,代理它们进行验证和记账。
优点:不再需要通过“挖矿”来产生区块,可以大幅缩短交易确认的时间,能够达到秒级的共识验证。
缺点:还是依赖代币,不适用于一般的商业应用。
4)其他混合机制(DPOW):在上述机制的基础上混合。
2.2.2 记账方式
区块链技术也被称为分布式账本技术,账本的设计即每一个区块内的交易记录内容。目前区块链应用中,交易记录内容主要为区块链系统上的交易及账户信息。实际上任何事物都可抽象成交易,区块链技术在更广泛行业应用设计的主要工作是定义行业交易行为及账本记录内容。
1)仅记录交易,以比特币UTXO模式为样板。
优点:存储数据简单,量小,交易上链的先后次序不敏感。
缺点:每次计算账户余额需要遍历所有交易汇总计算。
2)同时记录交易和账户余额,以以太坊的模式为样板。
优点:可以快速读取账户当前状态;账户状态与交易记录可以交叉验证。
缺点:同时处理交易与账户,效率较低;交易上链与账户更新需要同步操作,确保一致性。
在数据隐私性方面,目前所有区块链技术系统的记录内容都是完全公开的,任何节点都可以查询所有交易记录。但是对于隐私敏感型数据和行业应用,需要设计账本的加密方式,信息公开的级别和访问权限要求。关于数据隐私管理,本书第16章“数据资产化时代的生产关系确权”中“自主权数据管理”相关部分将会予以详细论述。
2.2.3 智能合约
1995年,计算机科学家尼克·萨博(Nick Szabo)给出了智能合约的定义:“一个智能合约是一套以数字形式定义的承诺(promises),合约参与方可以在上面执行这些承诺。”
智能合约在区块链技术的逐步发展中变得越来越强大和完善。
智能合约1.0:比特币在系统设计中引入了智能合约的理念,但是在系统实现过程中仅提供了基于函数调用方式的API接口,功能有限。这其实也是以中本聪为代表的比特币开发者的初衷,过分强大的智能合约将给系统带来不可预知的安全隐患。
智能合约2.0:以太坊把智能合约发扬光大,首次实现了图灵完备的智能合约设计脚本语言,智能合约可以计算、存储以及自动执行交易并修改账户约,智能合约一旦上链不可更改(Code is Law)。基于以太坊的智能合约应用,区块链进入了疯狂生长的ICO和通证经济时代。
智能合约3.0:智能合约不仅限于交易及账户操作,Elastor、Qtum、Neo等新兴的区块链项目实现了更为复杂的智能合约功能,几乎任何应用都可以使用智能合约实现。但是,上述区块链项目市场影响有限,并未给区块链行业带来大的改变,其智能合约的安全性也没有得到大规模的验证。
2.2.4 加密及哈希算法
技术上,区块链系统加密与哈希算法的升级主要源于已有算法的安全性受到威胁,如算法被破解等。
机制上,加密与哈希算法的选择直接影响了挖矿的实现方式和效率,进而影响了矿工的收益,从而决定了以矿工为代表的区块链社群生态的变化。
对于工作量证明机制POW而言,采用ASIC可以提高挖矿效率,造成矿工发展的不均衡,会导致事实上的中心生成。例如比特币的挖矿已经出现了几个事实上的寡头,从而引发了2018年“澳本聪大战吴忌寒”等寡头竞争的行业热门事件,导致比特币社群出现了一次大分裂。以太坊和莱特币则分别选择了难以通过ASIC实现的哈希算法,以保证挖矿收益的公平性和矿工社群发展的均衡性。
2.2.5 区块与链
比特币在社会上日渐流行,比特币网络处理和检验交易的压力加大,确认交易时间从10分钟到最长超过40小时。因此,提高比特币系统的处理能力成为区块链技术领域的核心议题之一。
1.区块扩容
比特币现金(一种比特币衍生出的虚拟货币,参见本书第3章“基于比特币的衍生产品”)2017年8月成立,将比特币的区块容量由1M升级为8M,并计划进一步升级为32M,升级后,比特币现金的交易确认速度稳定为10分钟左右。但是,区块链扩容将增加矿工不均衡发展的机会,进一步导致矿工寡头崛起。因此在比特币社群中一直存在是否进行区块扩容的争议。
2.链与DAG
区块链名字中的“链”意味着所有区块通过链式结构连接在一起。链式结构可以确保区块上链的准确唯一性,但链式结构的缺点是数据不能并行处理,导致系统效率较低。
有向无环图(Directed Acyclic Graph,DAG)原本是计算机领域的一种数据结构,因为独特的拓扑结构所带来的优异特性,被用来尝试优化区块链系统的效率。DAG协议使用DAG数据结构维护区块和系统状态,DAG不要求节点从线性方式处理交易,可以并行挖DAG区块,以实现更高的吞吐量和更短的交易处理时间。DAG仍处于初级阶段,安全性和一致性尚待验证,还不能成为可行的扩展方案。