文献阅读-区块链发展现状与展望

知识共享许可协议 版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons

文献名称:区块链技术发展现状与展望
作者:袁勇,王飞跃
网址:http://kns.cnki.net/KCMS/detail/detail.aspx?dbcode=CJFQ&dbname=CJFDLAST2016&filename=MOTO201604001&uid=WEEvREcwSlJHSldRa1FhdkJkVG1BK3krZlBpZVl2SmpsNGd4RVZVd2V5VT0=


区块链则是利用加密链式区块结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用自动化脚本代码(智能合约)来编程和操作数据的一种全新的去中心化基础架构与分布式计算范式


区块链1.0:以可编程数字加密货币体系为主要特征
区块链2.0:以可编程金融系统为主要特征
区块链3.0:以可编程社会为主要特征


拜占庭将军问题 数字缺少可信任的中央节点的情况下,分布式节点如何达成共识和建立互信


区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成
在这里插入图片描述
基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是区块链技术最具有代表性的创新点


区块结构

在这里插入图片描述


网络层封装了区块链系统的组网方式、消息传播协议和数据验证机制等要素


按照节点存储数据量的不同,可以分为全节点轻量级节点。前者保存有自创始区块到当前最新区块为止的完整区块链数据,并且通过实时参与区块数据的校验和记账来实时更新主链。全节点的优势在于不依赖其他节点而能够独立地实现任意区块数据的校验、查询和更新,劣势是维护全节点的空间成本很高;轻节点仅保存一部分数据,通过简易支付验证方式向其相邻节点请求所需的数据来完成数据校验


比特币交易系统的交易数据传播协议包括以下步骤

  1. 节点将新的交易数据向全网广播
  2. 每个节点将收集到的交易数据存储到一个区块中
  3. 节点基于自身算力找到一个具有一定难度的工作量证明
  4. 如果有节点找到该区块的工作量证明以后,向全网广播此区块
  5. 仅当区块中的所有交易均有效且之前未存在,其他节点才认同该区块的有效性
  6. 其他节点接收该区块,并且在该区块的末尾制造新的区块以延长该链条,而将该区块的随机哈希值作为先于新区块的随机哈希值

区块链技术的核心优势是能够在决策权高度分散的去中心化系统中使得各节点高效地针对区块数据的有效性达成共识


共识层

  • PoW共识:
    通过引入分布式节点的算力竞争来保证数据一致性和共识的安全性。
    哈希难题:根据当前难度值,通过搜索求解一个合适的随机数(Nonce)使得区块头各元数据的双SHA256哈希值小于或者等于目标哈希值。
    比特币通过灵活调整随机数搜索的难度值来控制区块的平均生成时间未10分钟左右。

    步骤
    1. 搜集当前时间段的全网未确认交易,并且增加一个用于发行新比特币奖励的Coinbase交易,形成当前区块体的交易集合
    2. 计算区块体交易集合的默克尔树根计入区块头,并且填写区块头的其他元数据,随机数置为零
    3. 随机数Nonce + 1;计算当前区块头的双SHA256哈希值,如果小于或等于目标哈希值,则成功搜索到合适的随机数并且获得该区块的记账权,否则继续步骤3直到任一节点搜索到合适的随机数为止
    4. 如果一定时间内未成功,则更新时间戳和未确认交易集合。重新计算默克尔树根后继续搜索合适的随机数
    符合要求的区块头哈希值通常由多个前导零构成,目标哈希值越小,区块头哈希值的前导零越多,成功找到合适的随机数并且挖出新区块的难度就越大
    10分钟的交易确认时间使其相对不适合小额交易的商业应用

  • PoS共识:
    为解决PoW共识机制的资源浪费和安全性缺陷而提出的替代方案
    采用权益证明,由系统中具有最高权益而非最高算力的节点获得区块的记账权。权益体现为节点对特定数量货币的所有权,称为币龄。币龄是特定数量的币于其最后一次交易的时间长度的乘积,每次交易均会消耗特定数量的币龄(如::在一笔交易中收到10个币之后持有10天,则获得100个币龄;花了5个币之后,则消耗50币龄)
    PoW共识中各节点挖矿难度相同,而PoW共识中难度于交易输入的币龄成反比,消耗币龄越多则挖矿难度越低。节点判断主链的标准也由PoW共识中的最高累计难度标准转变为最高消耗币龄,每个区块的交易都会将其消耗的币龄提交给该主链。
    PoW共识仅仅依靠币龄和权益,从根本上解决了PoW共识算力浪费的问题,并且能在一定程度上缩短达成共识的时间。

  • DPoS共识机制:
    系统中每个股东节点可以将其持有的股份权益作为选票授予一个代表,获得票数最多且愿意成为代表的前101个节点将加入“董事会”,按照既定的时间表轮流对交易进行打包结算并且签署(即生产)一个区块,每个区块在签署之前,必须先验证前一个区块已经被信任的代表节点所签署。“董事会”的授权代表节点可以从每笔交易的手续费中获得收入,同时要成为授权代表节点,必须缴纳一定的保证金,其金额相当于生产一个区块收入的100倍。授权代表节点必须对其他股东节点负责,如果其错过签署相对应的区块,则股东将会收回选票从而将该节点投出董事会。因此,授权代表节点必须保证99%以上的在线时间以实现盈利目标。

    PoW共识机制必须信任最高算力节点
    PoS共识必须信任最高权益节点
    DPoS共识中的每个节点都能自主决定其信任的授权节点且由这些节点轮流记账生成新区块,大幅度减少了参与验证和记账的节点数量,可以快速实现共识验证


激励层

区块链共识过程通过 汇聚大规模共识节点的算力资源来实现共享区块链账本的数据验证和记账工作,是一种共识节点之间的任务众包过程。必须设立激励相容的合理众包机制,使得共识节点最大化自身收益的个体理性行为与保障去中心化区块链系统的安全和有效性的整体目标相吻合。区块链通过设计合适的经济激励机制并且共识过程相集成,从而汇聚大规模的节点参与并且形成了对于区块链历史的稳定共识。

比特币PoW共识中的经济激励由新发行比特币奖励和交易流通过程中的手续费组成,奖励给PoW共识过程中成功搜索到该区块的随机数并且记录该区块的节点。

比特币系统中,大量的小算力节点通常会选择加入矿池,通过汇集算力提供效率,共享比特币与手续费奖励。矿池将各节点贡献的算力按比例划分为不同的股份(share)。

  • LNS(pay per last N shares)机制是指发现区块后,各合作节点根据其在最后N个股份内贡献的实际股份比例来分配区块中的比特币
  • PPS(pay per share)根据股份比例为节点估算和支付一个固定的理论收益,常用此方法的矿池会适度收取手续费来弥补其为各节点承担的收益不确定性风险
  • PROP(proportionately,成比例的)机制根据节点贡献的股份按比例地分配比特币。

合约层

合约层封装区块链的各类脚本代码、算法以及生成的智能合约。合约层是建立在区块链虚拟机之上的商业逻辑和算法,是实现区块链灵活编程和操作数据的基础。

比特币采用一种简单的、基于堆栈的、从左向右处理的脚本语言,而一个脚本实质上是附着在比特币交易上的一组指令的列表。比特币依赖于锁定脚本解锁脚本来验证。二者的不同组合可以在比特币交易中衍生出无数的控制条件。锁定脚本是附着在交易输出值上的“障碍”,规定以后花出这笔钱输出的条件;解锁脚本是满足被锁定账本在一个输出上设定的花费条件的脚本,同时它将允许输出被消费

比特币脚本系统可以实现灵活的交易控制。
多重签名可以用于公司决策,财务监督,中介担保,遗产分配等场景。

比特币脚本系统是非图灵完备的,不存在复杂循环和流控制,在损失一定灵活性的同时能极大地避免因无限循环等逻辑炸弹而造成的拒绝服务等类型的安全性攻击。


区块链的应用场景

区块链具有分布式高冗余存储、时序数据且不可篡改和伪造、去中心化信用、自动执行的智能合约、安全和隐私保护等显著的特点

五大应用场景

  • 数据存储:区块链的高冗余存储、去中心化、高安全性和隐私保护等特点使其适合存储和保护重要的隐私,避免因为中心化机构遭受攻击或权限不当而造成的大规模数据丢失或泄露。
  • 数据验证:区块链数据带有时间戳、由共识节点共同验证和记录、不可篡改和伪造,使得区块链可以广泛应用于各类数据公证和审计场景。
  • 金融流通:利用区块链自动化智能合约和可编程的特点,可以极大降低成本提高效率,避免繁琐的中心化清算过程,实现方便快捷的金融产品交易。区块链和比特币的及时到账的特点可以使银行实现比swift代码体系更快捷、经济、安全的跨境转账。
  • 资产管理:能实现有形和无形资产的确权授权和实时监控
  • 选举投票:投票是区块链在政治事物中的代表应用,基于区块链的分布式共识验证、不可篡改等特点,可以低成本高效地实现政治选举,股东投票等功能,也支持个人对特定议题的投票

三大应用模式

  • 公共链:是完全去中心化的区块链,分布式系统中的各节点均可参与数据的读写、验证和共识过程,是工具PoW或PoS贡献获得相应的经济激励
  • 联盟链:部分去中心化的区块链,适用于多个实体构成的组织,共识过程受到预选的一组节点控制
  • 私有链:完全中心化的区块链,适用于机构的内部数据管理于审计,写入权限由中心机构控制,读写权限有选择性的开放

区块链的问题

  • 安全问题
    有学者提出通过构造同时依靠高算力和高内存的PoW共识算法来解决51%攻击问题
    随着量子计算机等发展,非对称加密算法具有一定的可破解性,是一个潜在的安全威胁
    区块链的隐私保护存在安全性威胁。随着各种反匿名身份甄别技术的发展,实现部分重点目标的定位与识别仍是有可能的
  • 效率问题
    区块链要求系统内每个节点保存一份数据备份,数据日益增长,存储起来极为困难。其次是交易效率问题,区块链每秒只能处理7笔交易。最后是交易确认时间问题:出块时间为10分钟,因此交易确认时间为10分钟,一定程度限制了比特币在小额交易和时间敏感交易中的应用
  • 资源问题
    大部分算力与电力资源被浪费。如何有效聚集分布式节点的网络算力解决实际问题,是很重要的问题。发展趋势是设计有效的交互机制来汇聚和利用分布式共识节点的群体智能,以辅助解决大规模的实际问题
  • 博弈问题
    矿池可以通过称为区块截留攻击,通过伪装为对手的矿工,享受对手矿池的收益但是不实际贡献完整的工作量证明来攻击其他矿池,降低对手矿池的收益。若矿池相互攻击,则双方获得的收益均少于不攻击对方的收益。当矿池收益函数满足一定条件,会造成“囚徒困境”的博弈结局。
    如何设计激励相容的机制,使去中心化系统的节点能自发地实施区块数据的验证和记账工作,并且提高系统内非理性行为的成本以抑制安全性攻击和威胁,是重要研究问题。

基于区块链的智能合约

智能合约是区块链的核心构成要素,是由时间驱动的、具有状态的、运行在可复制的共享区块链数据账本上的计算机程序,能够实现处理数据,接受、存储和发送价值,以及控制和管理各类链上智能资产等功能智能合约作为一种嵌入式程序化合约,可以内置在任何区块链数据、交易和资产上,形成可编程控制的软件定义的系统、市场和资产。智能合约为传统金融的发行、交易、创造和管理提供了创新性的解决方法,而且在社会系统中的资产管理、合同管理、监管执法等事务中发挥重要作用。

智能合约是一种前景对应型的程序化规则和逻辑,是部署在区块链上的去中心化、可共享的程序代码。

签署合约的各参与方就合约内容、违约条件、违约责任和外部核查数据源达成一致,必要时检查和测试合约代码以确保无误后,以智能合约的形式部署在区块链上,可以不依赖于中心化机构自动代表各签署方执行合约。智能合约的可编程性使得签署方可以增加任意复杂的条款。

智能合约经各方签署后,以程序代码的形式附着在区块链数据(如一笔 比特币交易)上,经过P2P网络传播和节点验证后记入区块链的特定区块中。

智能合约具有自治,自足和去中心化等特征。自治表示合约一旦开始就自动执行,不需要其他签署方干预。自足是合约能够通过提高服务或发行资金来获取资金,并且在需要时使用这些资金。去中心化是智能合约是由去中心化存储和验证的程序代码而非中心化实体来保障执行的合约,能保证合约的公平公正

智能合约是区块链的激活器,为静态的底层区块链赋予了灵活可编程的机制和算法,并且为构建区块链2.0和3.0时代的可编程金融系统和社会系统奠定了基础。另一方面智能合约的自动化和可编程特性使得其可封装分布式区块链系统中各节点的复杂行为,成为区块链构成的虚拟世界中的软件代理机器人,有助于促进区块链技术在各类分布式人工智能系统的应用。

区块链和智能合约的主要发展趋势是由自动化向智能化方向演化。现在的各类智能合约的本质是根据预定义场景的“if-then”类型的条件响应规则,能够满足目前自动化交易和数据处理的需求。未来的智能合约应该根据未知场景的“what-if”推演,能自主决策,真正实现“智能”合约的飞跃。


区块链驱动的平行社会

区块链是实现CPSS(cyber-physical-social-systems, 社会物理信息系统)的基础架构之一,为分布式社会系统和分布式人工智能提供了一套行之有效的去中心化的数据结构、交互机制和计算模式,并且为实现平行社会奠定了坚实的数据基础和信用基础。

区块链技术有助于实现软件定义的社会系统,理念是剔除中心化机构,将不可预测的行为以智能合约的程序化代码形式提前部署和固化在区块链数据中,事后不可伪造和篡改并且自动执行,在一定程度上能够将“默顿”社会系统变为可全面观察、可自动控制、可精确预测的牛顿社会系统。

ACP(artificial societies:人工社会;computational experiments:计算实验和parallel execution:平行执行)方法是迄今为止平行社会管理领域唯一成体系化的、完整的研究框架,是复杂性科学在新时代平行社会环境下的逻辑扩展和创新。

区块链于物联网等结合形成的智能资产使得联通现实物理世界和虚拟网络空间成为可能,可通过真实和人工社会系统的虚实互动和平行协调实现社会管理和决策的协同优化

展开阅读全文

没有更多推荐了,返回首页