区块链的关键技术 应用与挑战 ( 来源 : 中国计算机学会通讯, 2018-07-10) 作为一种新型的去中心化的分布式账本技术, 区块链正以其去中心化 匿名性以及利用计算机科学建立信任机制等特点, 颠覆现有的生产关系, 为金融 产权 供应链等诸多行业提供变革和增长的机会 不过, 区块链在发展的过程中, 也暴露出了不少问题, 受到业界质疑, 如它的技术尚未成熟, 不能支持规模化应用, 它的安全性 性能都亟待提升等 因而, 厘清区块链目前的技术与应用状况, 对我们理性地认识区块链技术, 将区块链的应用价值最大化有着重要的意义 区块链关键技术从技术角度看, 区块链是一项集成了计算机科学 数学 经济学等多学科领域研究成果的组合式创新技术, 是有效地实现安全 可信 容错的去中心化分布式的记账系统 密码学密码学是区块链的基石 密码学属于数学和计算机科学的分支, 主要研究信息保密 信息完整性验证 分布式计算中的信息安全问题等 区块链中使用了哈希算法 加解密算法 数字证书与签名 零知识证明等现代密码学的多项技术成果 区块链采用哈希算法和非对称加密技术来保证区块链账本的完整性和网络传输安全 哈希算法被用于生成区块链中各个单元 ( 区块 ) 的头信息, 并通过在区块头中包含上一区块头信息的方式来实现区块之间的连接 同时, 使用默克尔树 ( 一种基于哈希算法的树结构 ) 对区块中的具体事务或状态进行结构化组织并将概要信息 ( 根哈希 ) 存入区块头, 使得人们对数据或状态的篡改变得极其困难 1
随着区块链技术的进步和应用的日益广泛, 比特币 以太坊 1 等 早期公有链项目完全公开化的账本难以满足人们对应用场景中对隐私的更高需求, 所以, 无须泄露数据本身即可证明某些数据真实的零知识证明技术被使用, 在新兴的区块链项目中扮演着日益重要的角色 零知识证明指证明者 ( 被验证者 ) 能够在不向验证者提供任何有用的信息的情况下, 使验证者相信某个论断是正确的协议 Zcash 是首个使用零知识证明概念的区块链加密货币项目, 而目前最大的智能合约平台以太坊也在 2017 年底的 拜占庭 分叉过程中引入了使用同态加密的零知识证明技术 zksnarks(zero knowledge Succinct Non-interactive ARguments of Knowledge) 分布式存储区块链账本采用的分布式存储记账方式, 是一种从分布在不同物理地址或不同组织内的多个网络节点构成的网络中进行数据分享与同步的去中心化数据存储技术 不同于传统的分布式存储, 区块链网络中各参与节点拥有完整的数据存储, 并且各节点是独立 对等的, 它依靠共识机制保证存储的最终一致性, 也通过这些方式来保证分布式存储数据的可信度与安全性, 即只有能够影响分布式网络中大多数节点时才能实现对已有数据的篡改 相应的, 参与系统的节点增多, 会提升数据的可信度与安全性 有别于传统数据库, 区块链只提供 增加 与 查询 操作, 通过 增加 交易来实现 修改 和 删除 操作, 比如产生区块硬分叉来实现交易的回滚, 避免数据的恶意篡改 但这也有缺点, 会带来区块链存储无限增大的问题 共识机制共识机制用于解决分布式系统的一致性问题, 其核心为在某个协 2
议 ( 共识算法 ) 保障下, 在有限的时间内, 使得指定操作在分布式网络中是一致的 被承认的 不可篡改的 在区块链系统中, 特定的共识算法用于解决去中心化多方互信的问题 按照不同的故障类型, 共识算法可分为两类情况 一类使用数学上及工程学上的方式, 确保各个节点之间的数据绝对一致, 通常用于解决可信节点间的网络通信故障问题, 常用算法包括 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) 是一种旨在以信息化方式传播 验证或执行合同的谈判或履行的计算机协议 允许在不依赖第三方的情况下进行可信 可追踪且不可逆的合约交易 其概念由计算机科学家尼 3
克萨博 (Nick Szabo) 在 1996 年提出, 描述 以数字形式定义的一组承诺, 包括各方履行这些承诺的协议 区块链技术的发展为智能合约的运行提供了可信的执行环境 区块链智能合约是一段写在区块链上的代码, 一旦某个事件触发合约中的条款, 代码即自动执行 目前, 较为成熟的以太坊和 Hyperledger Fabric 框架均包含智能合约, 支持图灵完备的语言, 在其基础上可实现多种智能合约, 包括差价合约 储蓄钱包合约 多重签名合约 保险衍生品合约等, 无须依赖第三方或中心化机构, 极大地减少了人工参与, 具备很高的效率与准确性 需要注意到, 区块链公链上部署的全部智能合约对外可见且可交互, 意味着其全部漏洞对外公开 在以太坊公链上就多次出现千万美元级的安全事件 如何编写安全可靠的智能合约是区块链技术面临的核心课题之一 经典平台自 2009 年初第一个比特币被挖出, 至今区块链技术已经历了从 1.0 2.0 到多元化的快速发展, 也诞生了多个经典的技术平台 包 4
括发布首个去中心化全球货币的比特币 包含图灵完备智能合约的以太坊 面向高性能互联网应用的 EOS 3 以及针对机构用户进行多方授权交易的 Hyperledger Fabric 等, 它们的主要特点与对比如表 1 所示 区块链的典型应用区块链的核心价值是构建了一种去中心化的信用机制, 帮助社会从信息互联跃迁到信用互联 区块链的应用价值, 主要表现在三个方面 第一, 公开透明, 避免欺诈 存储在区块链的记录不可篡改, 不可消除, 监管方能清晰地看到每一笔交易的来龙去脉, 在链条长 参与方多的复杂情况下, 区块链能有效地防止作假伪造, 减少侵犯隐私和滥用的行为 第二, 制定规则, 降低信用风险 通过将双方的约定写在区块链智能合约上, 交易在满足约定的条件后自动执行, 避免违约 第三, 去中心化, 提高效率 区块链去中心化的存储和共识, 形成可追溯 不可篡改的信息, 告别了必须经由中心机构验证带来的重复验证流程, 可缩短中间链条, 减少清结算成本, 提升效率 金融区块链可以实现金融资产的分布式管存与交易 以复杂的跨境支付为例, 常规的交易方式至少需要 24 小时才能完成, 因为双方信用主体不同, 用户需要提交大量的身份证明资料, 双方银行也需要向中间机构核对信息 而利用区块链, 可以直接建立付款人与银行 银行与银行之间的信任关系, 无须中间代理机构, 付款人与银行通过智能合约约定相关的权利义务, 即可实现实时转账和自动清结算, 监管机构也可以清晰地审查相关的交易记录, 识别洗钱等违法行为 对个人方 银行方和监管方来说, 都降低了成本, 提升了效率 环球银行金融电信协会 SWIFT 联合全球多家银行启动的全球付款创新项目 SWIFT gpi(global payments innovation), 正在研究区块链技术与跨境支付 招商银行已在 2016 年开发了基于区块链的跨境直联清算系统 5
近期, 汇丰银行与 ING 银行为美国农业巨擘 Cargill 应用区块链技术执行了首个具规模 实时贸易融资交易 在保险领域,2017 年, 上海保险交易所发布了区块链底层技术平台保交链 利用区块链不可篡改的特点验标承保, 链上记录保费 佣金 理赔等信息, 智能合约在条件达到时自动触发理赔, 有效规避骗保风险, 提升核保核赔的效率, 降低管理成本 产权区块链的另一重要应用是产权保护和产权交易 以数字资产和知识产权为例, 目前许多创作者不能拿到合理回报, 究其原因, 对于大量原创内容, 确权成本高, 维权周期长, 靠传统的方法很难解决盗版问题 其次是分发机制, 版权授予和代理的链条长, 缺少透明 精准的使用统计数据, 创作回报周期长 若利用区块链去中心化的账本记录, 结合计算机视觉 自然语言等多领域人工智能技术, 可以实现低成本的内容确权, 利用智能合约技术, 可以实现创作者对作品进行定价和授权, 自动跟踪 记录每次被使用和交易情况并自动分配收益, 缩短回报周期 ( 如图 1) 目前, 已经有不少区块链版权平台项目提供数字资产与版权交易所功能, 帮助数字资产实现高效流转, 激活资产价值 未来, 随着物联网技术的进一步发展, 线下实体资产也可以在区块链上登记与交易, 形成流动的资产网络 6
供应链与物流在供应链领域, 区块链可以使参与各方记录商品日期 位置等信息, 形成一个不可篡改的公共账本, 生产方 监管方和公众都可以追踪查询到生产相关的信息, 增加配料的透明度, 打击仿冒伪造行为, 在食品生产 奢侈品制造 跨境物流等对安全性要求高的场景尤为重要 同时, 企业还能通过上下游数据的打通与整合, 改善供应链管理, 提升生产流通效率 目前阿里巴巴和京东都在研发区块链供应链系统, 阿里巴巴联合政府 行业协会 质检机构等打造了全球溯源计划, 可以追踪进口商品的生产 通关 运输等全链路, 打击奢侈品的伪造及销售行为 京东联合清华大学等多家单位成立中国安全食品区块链溯源联盟, 用于食品的追踪和安全性合作 数据存储方式目前, 绝大多数的数据存储方式是集中存储在本地, 或者是使用几个巨头的云存储 后者的数据也在中心化的服务商中, 同样面临着被攻击 滥用和泄露的威胁 通过世界各地可供分享的闲置存储和带宽构成数据巨大的节点网络, 区块链技术可以实现真正的分布式存储 以星际文件系统 (InterPlanetary File System, IPFS) 项目为例, 文件内容转化为哈希值存储在各个节点中, 任何内容的修改都会反映在哈希值上, 所有存储的文件都抽象成特殊的 IPFS 目录供检索, 大文件会被切分成小块, 下载时可以从多个服务器同时获取, 没有中心服务器, 不会受到干涉, 不会被攻击, 安全性高, 成本更低 此外, 参与服务者通过对数据共享的贡献, 自动获取并分配相应的收益 身份认证身份系统是现代社会的基础设施, 传统的线下证件容易遗失 被盗取和伪造, 互联网上的用户身份和隐私也存在巨大的安全隐患, 用户数据大多存储在应用商的服务器上, 缺少第三方监管, 容易产生用 7
户身份数据泄露或者被滥用, 比如最近 Facebook 的用户数据泄露事 件 利用区块链技术, 用户可以拥有唯一的 不可篡改的身份 ID, 集合多维度信息, 用于验证 授权和交易 用户将完全拥有这个身份, 通过零知识证明有选择性地披露和授信, 降低隐私泄露风险 微软 IBM 等机构正在合作研发去中心化身份识别系统 (Decentralized IDs, DID), 旨在帮助难民获得身份, 从而获取教育 金融 医疗等服务 我国中钞区块链技术研究院 4 推出的中钞络谱系统, 联合合作方对数 字身份 可信数据 数字凭证等进行可信登记, 向调用这些信息的第 三方提供身份 时间戳 凭证登记等信息, 可验证 可审计 可追溯, 参与方不仅可以自己使用, 还可以跨机构认证和流转, 在政府监管 司法鉴定等诸多场景中得到应用 区块链的主要挑战 区块链技术伴随着加密货币出现, 早期政策监管不健全, 出现了 不少打着区块链名义敛财的 ICO 5 (Initial Coin Offering) 项目, 最 终都以失败告终, 区块链技术也因此受到不少质疑 2017 年 9 月 4 日, 我国出台了 关于防范代币发行融资风险的公告, 定义 ICO 为 非法融资, 要严格禁止, 区块链的应用价值也因此备受争议 部分从 业者认为, 区块链不能解决信息不对称的问题, 企业和机构的核心数 据依然不会公开到链上, 此外, 去中心化的方式所需要的共识也要消 耗大量能源, 被认为相当低效 而同时, 我们也看到在 两会 博鳌论坛等重要场合, 区块链 成为热门的讨论话题, 区块链技术也获得了不少支持 中国银行原行 长李礼辉认为,2017 年区块链应用取得了比较大的突破, 一是建立 了多维度直接交互的架构, 二是建立了可信数据的登记与证实平台, 对区块链在金融领域的规模化应用充满期待, 但要在提升区块链技术 的可靠性 安全性的同时, 还要解决标准化制度 监管制度建设的问 8
题, 预计至少需要 3 年的时间 区块链现在已经发展为一个庞大的技术体系, 随着区块链技术发展成熟, 未来会有更广泛的应用, 会更加深刻地改变经济社会形态 在这个过程中, 除了政策 公众认知方面的挑战, 最关键的是, 技术需要进一步完善, 尤其是区块链 不可能三角 难题, 该理论是货币经济中蒙代尔不可能三角理论的变形 即区块链难以同时满足 可扩展 安全 和 去中心化 三个条件 可扩展可扩展性指区块链系统处理高业务量的能力 在考虑去中心化和安全的前提下, 区块链面临的可扩展性挑战主要来源于三个方面 : 分布式网络的传输延迟 在任一节点都有机会参与记账环节的区块链网络中, 参与记账的节点需要同步全部区块信息方才可以进行交易的处理与记账 因此, 整个网络同步的效率受限于网络中延迟最长的节点 分布式账本的一致性问题 在交易大小相同的情况下, 影响区块链吞吐量的两个核心参数为区块容量和区块间隔时间 考虑到实用性, 区块容量通常不会无限制扩大 而如果区块间隔时间过小, 在全网都参与记账的环境中, 可能会由于不同节点来不及完全同步最新的区块广播而产生不同的新区块, 从而造成严重的分叉问题, 进而严重影响区块链的实际可用性 节点性能限制 目前主流的公有链如比特币 以太坊仍然使用工作量证明共识机制, 用于记账的节点需要消耗大量的计算资源来进行哈希运算以竞争记账权, 从而在效率上存在一定限制 另外, 由于区块链数据只是追加而没有被删除, 随着区块数据量的加大, 对节点的存储空间和吞吐性能也提出了越来越高的要求 以以太坊为例, 目前总区块文件的大小已经突破 500GB, 如要实现每秒上百万笔交易的交 9
易速度, 需要提供数百 MB/s 吞吐能力的节点, 这是很高的要求 安全在考虑可扩展性和去中心化的情况下, 安全是一个巨大的挑战 为了提升性能, 区块链本身在加密安全方面可能会存在妥协 如为提升交易处理性能而在非可信环境中使用非拜占庭容错的一致性算法 另外, 在完全去中心化自治环境中, 可能缺乏有效的安全应急机制, 从而可能导致对系统的攻击难以在第一时间被发现和终止, 而且, 由于区块链 不可篡改 的设计思想, 区块链状态的回滚目前仍需要分叉来进行, 这也使得区块链的可维护性不如传统方案 这一现象在智能合约领域尤为多发 2016 年, 以太坊最大的智能合约项目 The DAO 正是由于黑客对智能合约中提取以太币过程的判断条件漏洞的攻击而造成了 300 万以太币的损失, 现在该损失仍在以太坊经典的区块链上存在 类似地,2018 年 4 月, 有黑客利用 BEC 代币合约中的整数溢出漏洞进行攻击, 使其发生天文数字级的超发, 导致币值崩盘 在区块链 2.0 乃至 3.0 时代, 更加完备的智能合约为区块链带来更加广泛的应用场景, 同时也带来了更多的与现实世界进行数据交互的机会, 与区块链 1.0 即比特币及其他竞争币相比, 从区块链 2.0 开始存在大量的来自链外的数据输入, 目前这些与现实世界进行交互的区块链应用方案尚无法彻底杜绝链外作恶的情况, 这同样给整个应用的安全性带来了隐患 例如, 目前使用区块链进行商品溯源的应用, 在理论上还无法证明可避免从源头的仿冒产品以 正品 的数据被写入区块链 从更长远的角度看, 由于目前的区块链技术仍以哈希及非对称加密算法为主要基石, 那么, 这些加密算法所受到的挑战同样将成为区块链技术的巨大挑战 这其中最大的挑战之一是量子计算技术 当量子计算技术变得成熟时, 通过由主流非对称加密算法生成的公钥地址 10
来反推账户的私钥就变得轻而易举, 从而导致整个区块链体系的安全基础崩溃 为了应对这一问题, 目前比特币的大额交易多采用一次性账户来实施, 而抗量子加密算法也是业界研究的热点课题 去中心化在 2018 年, 有多种新兴的公有链项目进入公众视线并准备开始公开上线, 它们大多强调自身的高性能 ( 可扩展性 ), 而通过观察其设计思路不难得出, 它们存在一些 中心化 的设计理念 以使用 DPoS 共识机制的 EOS 为例, 其采用 21 个 超级节点 按照一定顺序出块的方式, 避免了大量节点记账的效率问题, 从而将事务处理系统 (TPS) 提升至数千的水平, 这相比之前的主流公链方案 ( 如以太坊 ) 来说是一个巨大的提升 但对于 EOS 中心化 的质疑也一直存在 不仅 DPoS, 目前采用 PoW 共识机制的比特币 以太坊等同样面临中心化的问题 由于 ASIC 6 矿机的出现, 目前普通用户的 PC 节点已经几乎无法参与记账权的竞争, 超过 80% 的算力集中在少数几个矿池内, 这些矿池的所有者已经在比特币世界中具有相当的话语权, 这同样是 中心化 的一种体现 机遇与展望区块链技术目前还处在非常早期的发展阶段, 历来创新技术从诞生到成熟应用的过程中, 都不可避免出现这样或那样的问题与质疑, 技术 产品和市场的成熟都需要时间 但是, 区块链应用前景非常广阔, 尤其是在目前参与方众多 交易链条长 中心化效率低下 不够透明 缺少信任的场合, 切实存在对区块链技术的刚需 未来, 能率先突破目前区块链的技术瓶颈, 在行业中进行规模化的应用的组织机构, 一定能成为新兴数字社会的重要力量 当前, 在核心的 不可能三角 这一技术挑战上, 多个领域的研究与工程人员在加密安全如零知识证明 环签名, 共识机制如可验证 11
随机函数 (Verifiable Random Function, VRF), 区块链底层结构如多链 通道技术 有向无环图 (Directed Acyclic Graph, DAG), 智能合约等方面都在进行探索和实践, 也催生了更多新的区块链方案设计, 尽管多数尚未经过实际落地应用的验证, 但它们提出了很多解决实际问题的思路和方法, 对于整个区块链技术的广泛应用将起到一定的促进作用 在技术方面, 可扩展 隐私保护 可信数据输入与智能合约或成为热点 其中的如下几方面值得重点关注 : 并行化方案 并行化是传统分布式系统解决大吞吐量问题的重要思想 在新兴的区块链方案中, 多处可见并行化的设计思路 并行化的实现方式, 一种是以以太坊 EOS Zilliqa 为代表的将节点和交易进行分区来并行化处理的方式, 另一种是以 IOTA Byteball 为代表的使用 DAG 来将区块生成过程并行化的方式 不同于比特币或以太坊的 1:1 链式区块结构, 在 DAG 方案中, 每个单元允许包含多个父单元 ( 不允许成环 ), 即构成有向无环图, 这样可以容纳更多交易并得到更快确认, 同时降低了资源消耗 共识机制 传统的 PoW 共识机制尽管解决了去中心化和安全问题, 但其本身的性能问题以及对计算力的大量消耗在一定程度上制约了区块链技术的广泛应用 除了前述的多种共识机制结合的方式, 研究让算力更加 有用 的共识机制同样是未来的机遇所在, 例如素数币所提出的通过寻找下一个符合条件的素数的过程作为 工作量证明 的思路, 为区块链中各个节点为整个网络提供更大贡献提供了一定的思想借鉴 跨链与通道技术 随着公有链方案的爆发, 多种平台之间的价值交换成为一个不可避免的课题 而对于已经有巨大用户基础的比特币等方案来说, 使用跨链技术 通道技术如闪电网络 (Lightning 12
Network) 使比特币具备更加完备的功能也是相当数量公司所追求的目标 而在应用方面, 目前区块链仍然处于 2.0 阶段即 应用 + 区块链, 由于性能的制约, 目前的区块链应用还处于将传统业务与区块链服务进行交互的阶段 而随着区块链技术和方案的进一步成熟, 未来将出现多种 区块链 3.0 即 应用 on 区块链 的应用, 即全部业务逻辑均在区块链上运行, 从而一方面避免前述的可信数据输入的问题, 另一方面由于传统业务将从数据中心以各类智能合约的形式迁移到全网的各个记账节点, 从而实现真正的 去中心化 从应用区块链的思路出发, 是否在非可信环境中, 构建一种价值传递体系, 参与方通过付出 成本 的方式获取激励, 从而维持关键数据及业务规则的全体共识, 是检验区块链应用是否真正解决需求的关键 结语区块链是一场伟大的技术革命, 它综合了密码学 分布式存储 共识机制 智能合约等技术, 建立了一种新型的信任与激励体系, 大大提升了透明度, 减少了信用风险, 降低了成本, 提升了效率 目前各国政府 行业巨头和创业公司都看到了区块链的潜力, 纷纷进行标准制定 技术储备和落地尝试, 在金融 产权 物流等领域都出现了不同深度的应用案例 同时, 我们也应看到, 区块链在发展过程中, 仍然有一系列问题有待解决, 可扩展性决定了区块链在各个行业的应用深度, 如何在提升区块链性能的同时, 满足安全性的要求, 保留去中心化的优势, 需要各方的积极探索, 相互合作, 共同构建一个便捷可靠的新型数字社会 ( 作者 : 杨龙飞 ( 爱奇艺技术产品中心分析师 ), 原文链接 : 13
https://mp.weixin.qq.com/s/d6fjo17qa0stiosveilcva, 转载请注 明 ) 14