• 零知识证明(zero-knowledge proofs)


    这世界变得比我们想的还快,最近学到一项技术叫「零知识证明」,简单的说,就是你向我陈述一件事情,虽然我听不懂你在说什么,但我可以判断这事情的真假!

    举个例子,假设A是色盲,A想知道B是不是色盲,但问题是A本身都分不清红绿,如何判断B能否分清呢?方法可以是这样:A一手拿红球、一手拿绿球,秀给B看并请他指出那颗是红球,然后A把两手放到背后交换(或不交换),再拿给B看也请他再指出那颗是红球,这样的过程重覆100次,如果B每次都能指出同一颗球(只有A知道有没有在背后作两颗球的交换),就可以大概率判定B不是色盲,而即便到最后,A还是无法判断红绿(零知识),有趣吧!

    MIT最近的一项- zkledger -就在作这方面的研究,如何让人们的交易可以在不知道彼此是谁的状况下,但又可以信赖对方是有交易可信度的人,以防止诈骗和篡改问题。

    零知识证明(Zero-Knowledge Proof, ZKP)是由S. Goldwasser、S. Micali及C. Rackoff在1980年代提出的,起源于最小泄露证明:

    1. 完整性:如果陈述为真,那诚实的验证者Verifier将由一个诚实的证明者Prover来确信这一事实。
    2. 健全性:如果陈述为假,那说谎的Prover不能说服诚实的Verifier(但有很小的机率会骗得过)
    3. 零知识性:Verifier无法取得任何额外的知识。

    换句话说,零知识证明是概率「证明」,而不是确定性证明,因存在小概率的健全性误差。(例如Prover就是故意不想证明自己的能力)

    最早使用此技术在区块链的是Zcash

    Zcash is a privacy-protecting, digital currency built on strong science. Shielded Zcash transactions are completely private. Like Bitcoin, Zcash transaction data is posted to a public blockchain; but unlike Bitcoin, Zcash ensures your personal and transaction data remain completely confidential. Zero -knowledge proofs allow transactions to be verified without revealing the sender, receiver or transaction amount. Selective disclosure features within Zcash allow a user to share some transaction details, for purposes of compliance or audit.

    他们使用了zk-SNARK(Zero-Knowledge Succinct Non-Interactive Argument of Knowledge)来证明满足有效的交易条件,且不用泄露发送者、接收者、交易金额等资讯。以太坊(Ethereum)上的智慧合约目前也已经可以运用zk-SNARKs(算法),其可使矿工们不用重新计算交易,只要对方提得出证明。但目前遇到的瓶颈在于运算时间太长、运算量太大。

    据悉,荷兰ING推出了其改良版:零知识范围证明( Zero-Knowledge Range Proof, ZKRP ),它允许证明方在不需验证方实际了解确切内容,验证方就能证明证明方的讯息是在某个一定范围为内,例如:是否已达特定年龄、有一定金额的资产,而ZKRP号称比ZKP的效率快上10倍,这让隐密交易的时间成本大大降低,又符合实际需求。ING更提出了「零知识集合隶属」(zero-knowledge set membership)证明,能将让零知识证明不仅应用在数字上,更能包含其他类型的数据,这将为企业隐私增添更多应用范围,例如可判断一个用户是居住在欧盟的某个国家,而不用他提供确切的地址。

    另外,安永会计师事务所也推出了「安永营运链—公链版(EY Ops Chain Public Edition)」,新闻稿宣称这是「世界第一个可以在以太坊(公链)网路上运行的『零知识证明(zero-knowledge proof,ZKP)』应用」。

    这类的技术推陈出新,使得未来的包括IoT、消费、金融、保险、贷款、交易等,都不需要提交所有资料,也能证明自己符合某种消费或交易资格,进而保有个人隐私,又能最大化运用范筹。

    参考链接:

    https://medium.com/@amoshuang/%E9%9B%B6%E7%9F%A5%E8%AD%98%E8%AD%89%E6%98%8E-zero-knowledge-proofs-284c403ce58c

  • 相关阅读:
    POJ 3468 区间更新,区间求和(经典)
    HDU 1698 区间更新
    POJ 2828 单点更新(好题)
    HDU 2795 单点更新,区间优先查找(想法)
    HDU 1394 树状数组求逆序对
    HDU 1754 单点更新,求区间最大值
    Servlet 3.0 对异步处理的支持
    Servet3.0于Servlet2.5比较
    你的灯还亮着吗读书笔记3
    你的灯还亮着吗读书笔记2
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13312600.html
Copyright © 2020-2023  润新知