02
功能
区块链技术在功能方面的发展面向的主要是丰富的应用需求。
自从比特币诞生以来,对区块链功能改进最大的技术无疑是以太坊的智能合约,该技术使得区块链的功能从记录交易的账本进化为通用的数据处理平台,极大地拓展了人们对于区块链在未来的应用场景的想象力。
现在的区块链技术的发展方向是在提供图灵完备的智能合约的基础上同时实现更多的功能,以下从权限控制、外包计算、可信随机数等几个方面简单介绍一下。
1)权限控制
在区块链最简单的实现上,每个账户地址对应一对公钥和私钥,掌握这个私钥就可以完全控制该账户。这种每个账户由一个私钥控制的方式非常简单易懂,但是也有一些缺点:
首先,有的账户可能不是属于某一个人,如公司账户或者夫妻共用的账户等,因此我们希望以更灵活的方式让多个用户共同控制一个账户;其次如果账户对应的唯一一个私钥意外丢失或被盗则用户会立刻失去对账户的控制权,风险过高;最后,有时我们需要区分不同用户使用账户中资产的权限,例如区分大额支付和小额支付所用的私钥等。
为了解决上述问题,比特币引入了多重签名账户,这种账户需要预先设定若干对公钥和私钥,只有使用足够多的私钥签名的交易才是有效的;而在以太坊等支持智能合约的系统中则可以通过编程实现更灵活的权限控制。
然而,直接给每笔交易需要附加多个签名会导致交易的长度随签名个数增加,也会增加验证的负担。Schnorr 签名等多重签名技术使得我们可以将任意多个签名聚合成一个签名,只需一次性验证签名操作即可判断交易是否得到了聚合公钥对应的所有私钥的授权。
2)外包计算
在目前去中心化预言机尚未得到解决的情况下,除了点对点支付以外完全能不依赖于链外信息即在区块链内部实现全部流程的应用并不太多,外包计算就是其中之一。外包计算的基本流程是甲方把输入数据交给乙方,由乙方完成计算后再把计算结果返回给甲方,甲方验证计算结果正确后付费给乙方。
外包计算对于传统的数据库也是一项非常前沿的技术,其最大的难点在于甲方验证计算的成本必须显著低于执行整个计算任务的成本,否则外包计算就失去了外包的意义,这点可以通过前面说的可验证计算技术或者可信执行环境 TEE 实现。
除了计算的经济性外,外包计算通常还要求保护输入数据和输出的计算结果的隐私性,也即乙方要在不知道甲方到底要做什么的前提下完成计算任务。
外包计算隐私性的传统密码学解决方案是采用安全多方计算或者全同态加密计算,前者的缺点是需要参与者之间进行交互,不适合区块链的场景,后者的主要缺点在于效率过低。
如果在安全性上降低一些要求,则可信执行环境 TEE 技术也可以达到保护计算隐私性的目的。因此目前看来最适合区块链的外包计算的技术还是使用带有 TEE 功能的安全芯片,在未来可能会出现效率可接受的基于密码学的解决方案。
3)可信随机数
随机数是很多算法和程序设计时都需要用到的重要资源。在区块链上实现一个公平公正公开的随机数对于链上的很多应用乃至一部分区块链共识协议本身都有着十分重要的意义。
在链上实现可信随机数的技术有承诺-打开(Commitment-opening)方案、基于秘密共享(Secret Sharing)的方案、以及基于唯一签名(Unique Signature)和可验证随机函数(Verifiable Random /span>
这些方案虽然可以提供质量比较高的随机数,但是都无法完全杜绝攻击者影响和操纵随机数的情况。如何更好地限制攻击者能对随机数造成的影响是密码学家们关注的研究课题。
03
互联互通性
区块链的预言机机制(Oracle mechanism)研究的是如何以去中心化的方式在区块链上可靠地获取链外的数据,这是长期以来阻碍了很多公链应用落地的核心难题。特别是在可预见的未来内多个不同的区块链(包括公链和联盟链)将长期并存的背景下,在不同的区块链间实现数据和价值的相互流通越来越成为一个亟待解决的难题。
尽管通用的预言机至今仍没有一个普遍适用的方案,但是仅用于跨链操作的专有预言机已经有了一些初步的实现:
此文由 比特币官网 编辑,未经允许不得转载!:首页 > 比特币行情 » 公链前沿研究的三大视角 |硬核系列