编辑: LinDa_学友 | 2019-07-02 |
3 议(共识算法)保障下,在有限的时间内,使得指定操作在分布式网 络中是一致的、被承认的、不可篡改的.在区块链系统中,特定的共 识算法用于解决去中心化多方互信的问题. 按照不同的故障类型,共识算法可分为两类情况.一类使用数学 上及工程学上的方式,确保各个节点之间的数据绝对一致,通常用于 解决可信节点间的网络通信故障问题,常用算法包括 Paxos、Raft、 ZAB 等,常见于大数据分布式系统,这些算法不具备对不可信节点的 容错性. 这类算法也包括用于解决拜占庭将军问题的拜占庭容错算法 (BFT)等,该算法允许有一定比例的不可信节点. 另一类共识算法则通过经济利益的博弈, 来鼓励对系统的贡献及 提高不可信节点的作恶成本.常用算法包括工作量证明(Proof of Work, PoW)、权益证明(Proof of Stake, PoS)等,PoW、PoS 算法分 别通过提供算力或持有权益来平衡利益博弈. 为适应不同的应用场景, 区块链共识机制的研究集中于优化系统 的可扩展性、运行效率、容错性等方面.在新兴的区块链方案中,会 将各种共识机制结合使用,例如在分层/分片方案中,最上层的主链 使用 PoW 机制以确保全局共识的有效性并用来对抗女巫攻击
2 ,而在 相对小范围的分片(sharding)中, 使用 PoS 或者 BFT 算法来实现更高 效率的共识.典型的案例包括未来引入基于校验器管理和约 (Validator Manager Contract, VMC)分片方案的以太坊以及 Zilliqa 等.尽管这些方案尚未落地验证,但它们代表了未来区块链设计的趋 势. ? 智能合约 智能合约(Smart Contract)是一种旨在以信息化方式传播、验证 或执行合同的谈判或履行的计算机协议. 允许在不依赖第三方的情况 下进行可信、可追踪且不可逆的合约交易.其概念由计算机科学家尼
4 克萨博(Nick Szabo)在1996 年提出,描述 以数字形式定义的一组 承诺,包括各方履行这些承诺的协议. 区块链技术的发展为智能合约的运行提供了可信的执行环境. 区 块链智能合约是一段写在区块链上的代码, 一旦某个事件触发合约中 的条款,代码即自动执行.目前,较为成熟的以太坊和 Hyperledger Fabric 框架均包含智能合约,支持图灵完备的语言,在其基础上可 实现多种智能合约,包括差价合约、储蓄钱包合约、多重签名合约、 保险衍生品合约等,无须依赖第三方或中心化机构,极大地减少了人 工参与,具备很高的效率与准确性. 需要注意到, 区块链公链上部署的全部智能合约对外可见且可交 互,意味着其全部漏洞对外公开.在以太坊公链上就多次出现千万美 元级的安全事件. 如何编写安全可靠的智能合约是区块链技术面临的 核心课题之一. 经典平台 自2009 年初第一个比特币被挖出,至今区块链技术已经历了从 1.
0、2.0 到多元化的快速发展,也诞生了多个经典的技术平台.包5括发布首个去中心化全球货币的比特币、 包含图灵完备智能合约的以 太坊、 面向高性能互联网应用的 EOS3 以及针对机构用户进行多方授权 交易的 Hyperledger Fabric 等, 它们的主要特点与对比如表
1 所示. 区块链的典型应用 区块链的核心价值是构建了一种去中心化的信用机制, 帮助社会 从信息互联跃迁到信用互联.区块链的应用价值,主要表现在三个方 面.第一,公开透明,避免欺诈.存储在区块链的记录不可篡改,不 可消除,监管方能清晰地看到每一笔交易的来龙去脉,在链条长、参 与方多的复杂情况下,区块链能有效地防止作假伪造,减少侵犯隐私 和滥用的行为.第二,制定规则,降低信用风险.通过将双方的约定 写在区块链智能合约上,交易在满足约定的条件后自动执行,避免违 约.第三,去中心化,提高效率.区块链去中心化的存储和共识,形 成可追溯、不可篡改的信息,告别了必须经由中心机构验证带来的重 复验证流程,可缩短中间链条,减少清结算成本,提升效率. ? 金融 区块链可以实现金融资产的分布式管存与交易. 以复杂的跨境支 付为例,常规的交易方式至少需要