区块链年度报告--(六)技术发展趋势:隐私保护机制和分布式账本 ...

Unknown view 32 2017-9-1 07:58
share to
Scan QR code with WeChat

区块链年度报告--(六)技术发展趋势:隐私保护机制和分布式账本 (1)

记者:铅笔盒

隐私保护机制

3.1 同态加密

由于隐私和机密至关重要,所以对所有区块链而言,加密术是重中之重。许多解决方案都采用加密技术来提供强大的数学证明,从而保证数据和交易的隐私。

在近期的一篇名为《有关加密技术的温馨提示》的博文中,R3CEV(区块链联盟)的Kathleen Breitman 就简单地给出了一个不错的工作性定义:

“加密指的是给纯文本作伪装来隐藏信息这一举措。对文本进行加密的这套规则叫做加密算法。算法的原有功能取决于加密密钥,或者是以信息作为算法的输入项。用户想要从算法输出中获取信息,就必须有一套解密算法,在解码密钥的辅助下,还原原来的文本。”

如果这个加密法采用密码文本来解译纯文本,那么你得到的就是同态加密(结合数字签名字数),而这个也正是本文将讨论的加密技术的技术。同态加密可以在无需先进行解密的情况下,在加密数据上完成计算。也就是说,这项技术允许在保护数据/交易隐私的同时,在不披露数据/交易的前提下进行计算。只有这些拥有解码密钥的人才能访问真实数据/交易。

同态加密就是解码(加密(A) +加密(B))=A+B,即D(E(A)+E(B))=A+B,也就是加法同态。

因此在加密数据上进行的解密计算,也就等于加密数据的计算。

3.2 零知识证明

零知识证明(ZKPs)这类加密技术采用的是不同种类的同态加密法,其分为:

1)根据事态得出结论;

2)达到这一状态所需信息;

3)证明这一状态是有效的。

零知识证明并不是新概念,其首次提出是在1985年《交互式证明系统的知识复杂度》一文中。零知识证明加密技术允许两方(证明人与验证人)来验证某提议的真实性,并且无需披露任何除证明真实性之外的信息。在加密货币和区块链的例子中,主要就是与交易信息相关的数据。

“零知识证明必须满足下面三条属性:

· 完整性:如果声明正确,那么诚实的验证人(即正确按照协议执行的人)就可以根据诚实的证明人确认这一事实。

· 稳健性:如果声明出错,那么作弊的证明人是无法使诚实的验证人信服的,当然不排除极小概率。

· 零知识:如果声明正确,那么作弊的验证人是无法获得除了这一事实之外的任何信息的。这一点可以通过展现下面这个场景来进行界定:假设现在只有声明需要证明(并且无法联系到证明人),那么每个作弊的验证人都有某种模拟器,这种模拟器可以生成一份副本,使其“看上去像是”诚实的证明人和作弊的证明人之间的互动。

前两条属性在交互式证明系统中较为常见。第三条就是零知识证明。”

3.3 环签名

环签名是一种特殊的群签名,没有可信中心,没有群的建立过程,对于验证者来说,签名人是完全正确匿名的。环签名提供了一种匿名泄露秘密的巧妙方法。环签名的这种无条件匿名性在对信息需要长期保护的一些特殊环境中非常有用。例如,即使RSA被攻破也必须保护匿名性的场合。

具体特性如下:

1、正确性:如果按照正确的签名步骤对消息进行签名,并且在传播过程中签名没被篡改,那么环签名满足签名验证等式。

2、无条件匿名性:攻击者即使非法获取了所有可能签名者的私钥,他能确定出真正的签名者的概率不超过1/N,这里N为所有可能签名者的个数。

3、不可伪造性:外部攻击在不知道任何成员私钥的情况下,即使能从一个产生环签名的随机预言者那里得到任何消息m的签名,他成功伪造一个合法签名的概率也是可以忽略的。

3.4 群签名

一组加密签名至少需要一位真正的参与者,但所有组员的签名都会显示为有效签名,因此无法识别谁是真正的参与者。群签名可以使任何人通过密钥来证明他们的团体成员身份,而无需确切透露是哪一个密钥创建的这个签名。

3.5 双链(Chinaledger)

Chinaledger提出了双链隐私保护方案,把所有参与者都能访问的分布式账本记为“链A”,把只有中央对手方和监管者能访问的分布式账本记为“链B”。

在链A上,交易指令以密文形式出现。交易发起方将对手方信息和交易内容信息用自己的私钥签名,然后打包用中央对手方的公钥加密,发给智能合约。所有参与人均可通过分布式账本技术平台,在链A上见证这一笔内容被加密了的交易。如果交易是资金和资产在链上对流,双方都需提交这种格式的交易指令。

中央对手方用自己的私钥解密后,将明文的交易指令发到链B上,检验交易指令中发起者签名的有效性,并获得链B做出的是否透支的判断。

如果透支检查正常通过,中央对手方在链B上为双方完成交易后余额的维护。

上述手续完成后,中央对手方在链B上生成、在链A上向发起方发送交易确认消息。

整个过程如下图所示:

图表 Chinaledger双链运行过程演示

区块链年度报告--(六)技术发展趋势:隐私保护机制和分布式账本 (2)

从区块链到分布式账本

区块链是在个人电脑网络中共享数据的一种软件。区块链能够使电脑在链上按时间顺序传递各区块记录。区块链技术也被称为分布式账本。“分布式账本”的意思是,各用户共享同一个“账本”或者按软件定义的成套账目。

4.1 基础技术的发展趋势

4.1.1 多层账本:隐私与效率的另类解决方案

区块链的技术架构使得其业务数据在默认情况下是对全网的参与节点公开的,而这样的特性在现实应用(特别是金融领域)中是无法满足法律体系对参与者隐私保护的要求的。纵使业界已经开始探索使用零知识证明、同态加密等密码学领域的技术去解决因素保护的问题,但相关探索仍处于早期阶段。因此,一些机构开始探索多层账本的机制用于解决隐私保护问题的可能性。

所谓多层账本机制,即区块链网络中的参与机构将涉及隐私的业务放在仅限参与方可见的账本中处理,而将最终的执行结果放到另一层账本上进行结算及公证,确保其历史数据的不可篡改性。这样,不仅在一定程度上解决了隐私保护的问题,而且还能大幅提高业务交割及结算的效率。

4.1.2 可扩展性:从7笔/秒到10万笔/秒

区块链技术的分布式验证机制在确保历史记录的真实性、可靠性上有着传统的中心化方案不可替代的优势,但这是以业务处理性能的下降为代价的。最早期的区块链技术框架需要解决的仅仅是信任问题,因此对业务处理性能的优化也没有投入很多的精力。但随着金融机构对区块链技术的广泛关注,使得业界意识到业务处理性能的突破迫在眉睫。因此,各种区块链项目纷纷开始展开这方面的研究,在理想条件下,某些技术解决方案已经能实现10万笔/秒的业务处理性能。

4.1.3 从UTXO模型到账户模型

早期的公有链项目主要立足于支付领域的应用,由于其交易数据记录对全网公开的特性,为在一定程度上实现匿名性,这类项目使用了所谓的UTXO(Unspent Transaction Outputs,未花费的交易输出)模型。在这种模型中,所有的交易都构成了一个链式的结构,每一个交易都可以被追溯到历史上的一个或多个交易的输出,而未花费的输出项则为可用的余额。这样,网络上的节点通过未花费的交易输出模型及非对称加密算法就可以验证新交易的合法性,而无需追溯账户交易的完整历史。此外,该模型导致了找零地址的存在,这带来了一定程度的隐私性,不过这一点并不是绝对的,因为区块链的特性使得每一笔交易都可以通过大数据分析推导出一定的相关性。另外,在类似冷钱包支付管理这样的场所,因为需要在支付签名时预先指定所需要使用的未花费交易输出列表,UTXO模型会对签名管理等工作增加一定的复杂性。

以太坊项目引入了账户模型的机制,由分布式的共识去校验和维护某个账户内的状态,这样也减轻了钱包管理系统的复杂性,更有利于轻钱包客户端的建设,也为冷钱包进行交易签名的工作带来了便利。而且,由于没有了找零地址,使得在某些场所中对账户的财务审计等工作更加简便,只需要对某个具体的账号余额及其交易流水进行管理即可,而无需像UTXO模型那样要识别某个交易里涉及的多笔输出对应的到底是找零地址还是实际支付行为。不过,这也使得对某个账户里的交易流水记录的追踪更为容易了,在一定程度上是以牺牲隐私性为代价的。

4.1.4 多重签名发展趋势:从数量到权重

多重签名(Multi-signature)技术能够将区块链资产的控制权从单独的个体手上分离出来,交给多个管理方,以防止黑客攻击、内部盗窃等行为而造成的损失。

传统的区块链账户多重签名方案是所谓的N of M,即将账户的控制权平分给M个控制者,需要有N个以上的控制者用自己的私钥对某个具体的交易进行签名才能调动资金。这样的做法比较简便,但可能无法满足复杂权限划分下的需求。

另一种多重签名方案是所谓的权重方案,即将账户的控制权以100%的单位进行分配,然后指定需要超过一定权重(如70%)以上的私钥进行签名,才能动用资金。这样会在一定程度上提高多重签名管理和使用的灵活性。

除了资产管理外,多重签名也有望使用在智能合约的管理上,这样可以更有效地管理智能合约的执行,并在某些异常情况下对智能合约进行特定的操作(如冻结运行、版本升级等)。

btcfans公众号

Scan QR code with WeChat

From the Internet
Disclaimer:

Previous: “技能的游戏”:美国市场科技供应商推出比特币博彩游戏 Next: RBC:英伟达将主导下一波区块链技术

Related