零知识证明(Zero—Knowledge Proof)指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。 零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。
是解决区块链中隐私保护的方法之一。
同态加密(Homomorphic Encryption)是基于数学难题的计算复杂性理论的密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。
同态加密方案最有趣的地方在于,其关注的是数据处理安全。同态加密提供了一种对加密数据进行处理的功能。也就是说,其他人可以对加密数据进行处理,但是处理过程不会泄露任何原始内容。同时,拥有密钥的用户对处理过的数据进行解密后,得到的正好是处理后的结果。
上面可能比较绕口,举个相对具体的例子,人们可以委托第三方对数据进行处理而不泄露信息。在云计算中,我需要将我的数据进行计算,但我不想把数据直接让云计算平台知道,这时我用同态加密对数据进行加密,送到云计算平台进行处理计算,将结果返回给我,我再对云计算的结果进行解密,得出真正的数据计算结果。这个结果与我在本地不经加密解密直接进行计算的结果是一样的。
同态加密现在最需要解决的问题在于:效率。效率一词包含两个方面,一个是加密数据的处理速度,一个是这个加密方案的数据存储量。
Gossip是分布式系统中被广泛使用的协议,其主要用于实现分布式节点或者进程之间的信息交换。Gossip特点:在一个有界网络中,每个节点都随机地与其他节点通信,经过一番杂乱无章的通信,最终所有节点的状态都会达成一致。每个节点可能知道所有其他节点,也可能仅知道几个邻居节点,只要这些节可以通过网络连通,最终他们的状态都是一致的。
Gossip是一个带冗余的容错算法,更进一步,Gossip是一个最终一致性算法。 虽然无法保证在某个时刻所有节点状态一致,但可以保证在”最终“所有节点一致,”最终“是一个现实中存在,但理论上无法证明的时间点。
因为Gossip不要求节点知道所有其他节点,因此又具有去中心化的特点,节点之间完全对等,不需要任何的中心节点。实际上Gossip可以用于众多能接受“最终一致性”的领域:失败检测、路由同步、Pub/Sub、动态负载均衡。
安全多方计算(Secure Multi-Party Computation, SMC)是解决一组互不信任的参与方之间保护隐私的协同计算问题,SMC要确保输入的独立性,计算的正确性,同时不泄露各输入值给参与计算的其他成员。
“有向无环图(DAG,Directed Acyclic Graph)是目前区块链行业公认的先进底层分布式账本技术。区块链和DAG账本虽然同属分布式账本技术,但与传统区块链类似于一个同步数据库不同。DAG是一个分布式的异步数据库,无区块概念。它使用交易为单位记账,记账颗粒度更细;在DAG中,交易验证、可信节点选择和双花的检测等过程被解耦,节点自行选择被引用的交易单元并进行验证,整个过程是并行的,真正释放了P2P网络的潜力。同时,交易可以被任何相邻节点快速验证,这样,交易越多,速度越快。理论上来说,DAG 账本的高并发支持能力是无限的,节点越多,并发能力越强。”
闪电网络是为了解决比特币系统交易吞吐量低的问题(大概10分钟出一个块,每秒大约7笔交易,每笔交易大概要6个块以后才被认为是安全的,可以确认),它通过巧妙的离线交易形式,支持大量的高频微支付交易。论文:The Bitcoin Lightning Network:Scalable Off-Chain Instant Payments。白皮书:The Bitcoin Lightning Network
星际文件系统IPFS(InterPlanetary File System)是一个面向全球的、点对点的分布式版本文件系统,目标是为了补充(甚至是取代)目前统治互联网的超文本传输协议(HTTP),将所有具有相同文件系统的计算设备连接在一起。原理用基于内容的地址替代基于域名的地址,也就是用户寻找的不是某个地址而是储存在某个地方的内容,不需要验证发送者的身份,而只需要验证内容的哈希,通过这样可以让网页的速度更快、更安全、更健壮、更持久。
可以暂时用Git+Blockchain+Bittorrent来理解IPFS。这篇文章讲述的比较好,可以参考:什么是IPFS?(一)。
Algorand是MIT机械工程与计算机科学系SilvioMicali教授与合作者于2016年提出的一个区块链协议,主要是为了解决比特币区块链采用的pow共识协议存在的算力浪费,扩展性弱、易分叉、确认时间长等不足。其主要思路就是通过随机算法从一群大范围的验证者中选取一部分验证者运行BFT算法(Micali教授实现的BA*算法),从而达到提高共识效率的效果。(先把大量的人->少量的人,少量的人再用PBFT做共识)
知乎上有讨论这个算法:https://www.zhihu.com/question/59648250/answer/170370955 其中有很多解释的很好。论文地址如下,比起其他共识算法要复杂很多。ALGORAND∗
附上摘自中国信通院白皮书的一张表:
技术工具 | 同态加密 | 零知识证明 | 群签名 | 环签名 | 差分隐私 |
---|---|---|---|---|---|
原理概述 | 对原始数据进行加密,使得加密数据和原始数据进行相同处理时结果相同 | 证明者向验证者证明一个声明的有效性,而不会泄露除了有效性之外任何信息 | 允许群体中的任意成员以匿名方式代表整个群体对消息进行签名,并可公开验证 | 一种简化的群签名,环签名中只有环成员没有管理者,不需要环成员间的合作 | 通过添加噪音来达到隐私保护效果 |
技术特点 | 可在不解密的情况下对密文进行计算和分析 | 证明者无需任何事件相关数据,就能向验证者证明事件的真实可靠 | 能为签名者提供较好的匿名性,同时在必要时又通过可信管理方追溯签署者身份 | 不需要分配指定的密钥,无法撤销签名者的匿名性 | 具有严谨的统计学模型,能够提供可量化的隐私保证 |
适用领域 | 云计算、电子商务、物联网等 | 电子商务、金融、银行、电子货币等 | 公共资源管理、电子商务、金融等 | 云存储、电子货币等 | 电子商务、物联网等 |
技术成熟度 | 全同态加密理论上可行,商用化程度还需提高 | 通用场景的零知识证明理论较为成熟,性能优化后逐渐商用 | 广泛应用在网络安全中,需要提高计算效率 | 实际应用还较少 | 已经得到成熟应用,但复杂性需提高 |
参考资料:
同态加密的实现原理是什么?在实际中有何应用?
Lightning Network Technical Design Overview
IPFS网络是如何运行的(p2p网络)
区块链协议新方向-图灵奖得主Macali开发Algorand