区块链隐私保护是为了解决公开的交易信息带 来的账户隐私泄漏问题。目前主要通过直接或间接 隐藏用户关键信息来实现,典型的隐私保护技术包 括:混币技术(CoinJoin)、隐秘地址(Stealth Address)、环签名技术(Ring Signature)[5] 以及 zkSNARKs 零知识证明算法 [6]。
混币技术、隐秘地址以及环签名技术只是间 接隐藏交易涉及的关键信息,在可靠性方面存在不 足;zk-SNARKs 零知识证明算法虽然属于直接隐藏 信息,但是其具有“可信赖的公共参数”以及效率 低下的问题。同时,量子计算的不断发展对隐私保 护研究提出了新的要求,而这些典型的隐私保护技 术都不具备抗量子攻击能力。新提出的 zk-STARKs 零知识证明算法完全依赖散列和信息理论,解决了 zk-SNARK“可信赖的设置”问题并具备抗量子攻击 的能力,但是该研究处于早期阶段,技术还不成熟且 存在证据过大等缺点。因此,设计既能保证高效安全, 还能保证交易关键信息隐藏与交易有效性验证的技 术方案依然是未来区块链研究面临的主要技术挑战。
区块链体系结构是区块链系统运行的基础,但 随着用户数量、系统规模的不断增加,其吞吐量低、 交易确认时间长、共识节点接入速度慢、存储资源 浪费等问题愈发突出,严重影响用户使用与行业拓 展。近几年,工业界和学术界从区块链结构设计等 方面开展了一些初步的研究工作。
并行化架构:区块链分片技术(Sharding)采 用并行化思想,将用户划分到不同的网络分片内, 并行处理不相交的交易集合,进而提升整体性能, 但处理涉及不同分片的交易时,需要经过复杂的跨 分片通信,开销很大。Plasma 则通过利用侧链层次 树划分整个网络,用“分治”来扩大交易规模。
链上、链下协同架构:闪电网络(Lightning Network)以类比特币区块链为基础,提出将交易 过程尽可能放在链下,进行链下快速交易,而链上 交易仅用于担保与结算。本质上,闪电网络并没有 提升链上交易性能,并且链下交易环节未存储到区 块链中,会影响交易的可追溯性。雷电网络(Raiden Network)作为“以太坊版本”的闪电网络,可与 Sharding、Plasma 结合,进一步提升交易处理能力。
并行化、链上链下协同等新型架构为解决区块 链的性能和资源占用问题提供了新的研究方向,但 是这些研究工作目前还处于相对早期的阶段,很多 具体的问题如并行化架构的合理分片、跨片通信、链上链下协同的去中心化、可追溯等问题还缺少高 效的算法和机制。
Nick Szabo 于 1996 年首次提出了智能合约的 概念:一个智能合约是一套以数字形式定义的约定,包括合约参与方可以在上面执行这些约定的协 议。区块链为智能合约提供了一个去中心化、不可 篡改、公开透明的运行环境,使得智能合约无需信 任第三方即可根据预设合约协议自动执行。目前针 对智能合约的研究主要围绕智能合约虚拟机、智能 合约升级、链下数据可信喂养等方面展开。
智能合约虚拟机可以分为两大类:自主可控的 虚拟机,如以太坊虚拟机(EVM);使用现有成熟 的编译运行环境的虚拟机,如 Java 虚拟机(JVM)。使用现有成熟编译运行环境的虚拟机运行效率较 高,但不可控因素较多,而 EVM 等自主可控的虚 拟机当前的运行效率还存在较大问题。目前的研究 工作主要有 Solidity 编译器的优化、适合智能合约 的 Web 程序集(WASM)执行环境研发等,上述工 作均处于早期研究阶段。
智能合约是现实世界契约的计算机化交易协 议,在智能合约的开发过程中,开发者无法将所有 情况考虑在内,当链上的智能合约没有按照预期运 行时,就需要升级智能合约,并且对智能合约的行 为作出解释。Corda 提出将合约法律文本与代码结 合存储于链上,当合约代码发生未预期的行为时以 法律文本为准,但仍缺乏代码可升级的灵活性,因 此一套可升级且可解释的智能合约完整方案是智能 合约大规模应用的关键所在。
智能合约存在于区块链空间,与链下真实世界 活动相关联是其大规模应用的前提。Oraclize 将智 能合约与 Web API 通过加密证明链接起来,使得智 能合约无需额外的信任,即可获得现实世界的真实 活动数据;IC3 提出可信数据喂养系统 Town Crier (TC),通过英特尔最新可信硬件 SGX 向智能合约 提供认证可信以及机密性数据。然而,现有的可信 数据喂养解决方案灵活性较差,如 Oraclize 需要将 整个 https 请求响应返回并且依赖于链下的中心化 服务器,TC 无法支持代码的更新,需要研究新型 灵活、可信的数据喂养方案以满足智能合约对链外 数据的喂养需求。