如何在不披露其内容的情况下在基于区块链技术的系统中进行具有价值的交易?

近年来,区块链技术已在世界范围内积极发展,这是一个由许多相等的“节点”组成的分布式架构。反过来,``节点''以交易的形式交换信息,其中包含有关价值变动和智能合约执行的信息。同时,该技术本身可确保将这些交易分组为多个区块,达成共识以将区块包含在现有序列中,选择唯一正确的区块链(区块链)并确保所有``节点''之间的正确区块链分布。



区块链技术可以确保每个“节点”具有正确的区块链,也可以称为分布式分类帐技术。



实际上,区块链或区块链是一个持续更新的寄存器,以开放形式存储有关交易的所有信息(价值移动和与之相关的操作),并允许您跟踪参与者之间价值的起源和转移的完整历史记录。连同正确的块链在每个“节点”中的存在,这允许系统参与者确保包含在这种分布式分类帐中的信息是不变且透明的。



应该记住的是,并非每个使用分布式分类帐技术功能的参与者都希望宣传其价值的组成,质量和数量,与之一起执行的操作或此类操作的参与者。为了解决在基于分布式分类帐技术的各种系统中确保此信息的机密性的问题,可以考虑使用使用零知识协议的技术。



那银行业呢?从股份制股份公司“ Rosselkhozbank”的角度来看,实施“零披露协议”的分布式分类帐技术可用于组织银行之间的电子交互。



图片



此解决方案具有以下优点:



  • 存储有关贵重物品的信息以及与贵重物品的交易,而不会泄露此类信息的内容(机密性);
  • 高速运作;
  • 根据参与者的需求,在基于分布式分类帐技术的系统可伸缩性的实现中相对简单
  • 信息存储的高弹性。


我们建议更详细地讨论涉及使用零共享协议的解决方案,因为在我们看来,正是这一关键因素决定了在银行业中使用分布式分类帐技术的潜力。



使用零知识协议的功能



零知识协议是一种强大的身份验证协议。在其工作中,使用一对公钥和私钥,并且它用于对用户进行身份验证而不会泄露任何秘密信息。这样的协议适用于在现代信息技术的许多领域中确保信息安全。此外,还有一些选择可以使用对秘密为零的协议来构建电子签名机制,或者提高其抵御恶意因素攻击的加密强度。



零知识协议属于公钥协议。该协议围绕涉及某些动作的回合而建立。在工作过程中,分3个步骤进行回合。前2个步骤使用随机值作为输入。被选中的一方称为“证明者”,而选中的一方称为“验证者”



圆形步骤:



  1. Prover会生成一个一次性私钥和一个一次性公钥,然后将其发送到Prover;
  2. 验证者从证明者接收一次公共密钥,然后生成一个随机位,然后将其发送给证明者。
  3. 证明者接收到一些信息并对其进行计算。


证明者将结果发送给验证者以进行验证。



在所有验证过程中,正确答案的概率为50%,也就是说,在每轮验证中,证明者可以以50%的概率了解真相。



为了达到要求的准确性,应该增加这种回合的次数,从而达到将证明者视为授权的必要概率。



使用零知识协议时的主要问题是:



  1. 所需的公共密钥长度;
  2. 没有以其他任何方式共享秘密的信心。


让我们考虑一些零秘密知识的协议的理论组成,并绘制出其特征的比较表。



ZkSNARKs协议



zkSNARKs代表知识零知识非交互式参数。



这是一种加密形式,可以使人们证明自己拥有一组特定的数据,而不必透露它们。该系统仅包括两个方面:导体和验证器。指挥者在不透露该元素或信息是什么的情况下,证明该元素,信息或单词存在并且正确。这就是零知识的含义。证明和验证信息所涉及的过程非常迅速,即使对于具有大量数据的程序,也可以在不到一秒的时间内完成验证。



为了起作用,该协议必须满足零秘密知识的基本要求。



例如,创建了一个智能合约。如果用户采取某些措施,则将能够收到付款。如果用户由于对竞争对手是机密和秘密而不想透露细节怎么办?



为此,使用了zkSNARK的知识协议,该协议证明了这些步骤是根据智能合约的条款执行的,而没有透露这些动作是什么。他可以只显示过程的一部分而不必显示整个过程,并证明用户是诚实的。



zkSNARKs包括三个算法:G ^PV



生成器(C-程序,λ-输入,不应公开(机密)):(



pk,vk)= G(λ,C)



证明(x是公开输入,w是需要证明但未告知的秘密陈述):



π= P(pk,x,w)-证明prf



验证者:



V(vk,x,π)==(∃w stC (x,w))-真或假



G是一个密钥生成器,它接受输入λ(在任何情况下都不应扩展)和程序C.然后生成两个公钥:一个验证密钥pk(用于校对者)和一个证明密钥vk(验证者)。这些密钥可供任何感兴趣的一方使用。



P是将使用3个元素作为输入的那个。验证密钥pk,可公开获得的随机输入x以及需要证明但尚未告知其真实含义的陈述。我们将此运算符称为“ w”。算法P生成证明prf使得:prf = P(pk,x,w)



V验证程序算法返回一个布尔变量。布尔变量只有两个选项:可以为TRUEFALSE。因此,验证者将密钥,输入X和证明prf作为输入,例如:V(vk,x,prf)。然后确定是对还是错。



需要说明的是,参数λ生成器中使用的zkSNARKs有时会使在实际应用中使用zkSNARK变得困难这样做的原因是,任何知道此参数的人都可以生成假证据。因此,有必要将λ的值保密



因此,启动发生器必须是安全的过程,防止任何人知道或窃取λ参数



ZkSTARKs协议



zkSTARK中没有外部受信任的安装阶段并且所使用的随机性是公共信息。公众使用随机性对于公众信任零知识系统极为重要,否则,一个强大的实体可能会发挥其影响力来获取设置并产生虚假证据。由于没有第三方信任建立阶段,而是使用公共可验证的随机性,因此zkSTARKs系统创建可验证的信任。



zkSTARK不依赖于公钥和私钥对(例如ECDSA),但要依靠交互式交互解决方案的抗冲突哈希算法和非交互式证明(zknSTARKs,n =非交互式)和随机预言模型(通常用于代替通用加密哈希函数,在这种情况下,需要对随机性做出强烈假设)因此,zkSTARK可以抵抗来自量子计算机的攻击。zkSTARKs



协议具有可伸缩性,透明性,普遍适用性,并且具有量子鲁棒性。由于可验证的技术,因此建立了对该技术的信任。zkSTARKs等技术可以改善很多领域需要信任并且有大量诱骗动机的地方,例如:



  • 投票系统;
  • 执行计算并检查其结果,例如分布式分类帐中的过去交易;
  • 安全地验证信息,例如,验证身份或凭证。


有四个类别与可伸缩性有关(来自zkSTARKs的结果)。



  1. 算术电路的复杂度(在zkSNARKzkSTARK系统中,用于创建zk程序代码以这样的方式编写:可以将它们分为电路然后进行计算-实际上,电路的复杂度高于其计算效率。
  2. ( zkSNARK , zkSTARKs, ).
  3. (zkSTARKs zkSNARK 10 , ).
  4. ( zkSTARKs zkSNARK, , zkSTARKs zkSNARK, ).


zkSTARKs 协议计划在以太坊用于可验证的计算和潜在的安全/匿名交易中,以及在隐私非常重要的Dapp中使用,例如使用基本注意令牌的Brave Web浏览器。



有一家名为StarkWare Industries的新公司,旨在解决ZK-STARK的一些问题(其中一个是证明尺寸),并且将可在许多行业中使用的技术商业化,包括分布式分类帐实施。



防弹技术



ING的分布式分类帐开发部门正在试验Bulletproofs,这是一种基于现代密码算法的以隐私为重点的技术。



Bulletproofs是基于Jonathan Bootle和其他人在2016年所做的工作,以改进离散对数的使用,该离散对数是零知识证明的基础。并代表此证明的更有效形式。



重要的是,Bulletproofs具有对公钥和Pedersen义务的内置支持。(一种加密的原语,它使您可以固定任何选定的值,使其不被其他人隐藏,并可以稍后显示固定值)。这使我们能够对零知识的一般原理进行范围证明,而无需执行椭圆曲线的重型机器计算。



证据防弹符号以比范围证明更为通用的方式表示,可用于任意陈述零知识。该技术的效率zkSNARKzkSTARK相当,但内置支持椭圆曲线公钥和Pedersen义务。(因此,通常无需在测试的程序内执行椭圆曲线计算)。另外,与zkSNARKs不同根据标准假设防弹产品具有完整的128位级别的加密强度,而无需使用“可信设置”。并且,与zkSTARK不同,它们足够快,能够证明和验证常规计算硬件上的合理规模的问题。



需要更多计算能力的ZKP技术相比Bulletproofs技术的速度提高了约10倍,因为它允许交易而无需交换支付数据。



这项技术(协议)的要点:



  • 防弹是基于零知识证明的一般原则(如zkSNARKs);
  • 该技术可用于扩展多边协议,例如多签名或零知识条件付款;
  • Bulletproofs提供了一系列机密交易证明的高效得多的版本(使用批处理验证时,验证速度要快23倍以上);
  • 这样的范围证明可以在一个事务中组合,并且其大小将对数增长;
  • 通过像Provisions这样的适当汇总,批处理验证的速度是以前证明的120倍以上。


协议特征比较表



让我们编译一个比较表,其中包含零秘密知识的所考虑协议的特征



图片



结论



  1. zk-SNARKzk-STARK具有许多应用领域,包括用于实现简单的电子签名以及在假定信息保密的情况下创建电子文档管理系统。
  2. 总体而言,零知识协议非常有前途,并且在分布式分类账技术系统中使用变得更加实用。目前,每种实现都以自己的方式脱颖而出,但是,它们都需要资源,因此需要有效的解决方案,且知识范围为零。
  3. , , , , ( , , ).


1. 34.13-2018 (). . // docs.cntd.ru URL: docs.cntd.ru/document/1200161709 ( : 31.05.2020);

2. Recommendation for Key Management Part 1: General // nvlpubs.nist.gov URL: nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-57pt1r5.pdf ( : 11.05.2020);

3. / 12207-2010 // docs.cntd.ru/ URL: docs.cntd.ru/document/gost-r-iso-mek-12207-2010 ( : 11.05.2020);

4. Recommendation for Cryptographic Key Generation // nvlpubs.nist.gov/ URL: nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-133r1.pdf ( : 11.05.2020);

5. Recommendation for Key Management Part 2 – Best Practices for Key Management Organizations // nvlpubs.nist.gov URL: nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-57pt2r1.pdf ( : 11.05.2020);

6. Security Requirements for Cryptographic Modules // nvlpubs.nist.gov URL: nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.140-2.pdf ( : 11.05.2020);

7. Payment Card Industry (PCI) Data Security Standard // pcisecuritystandards.org URL: www.pcisecuritystandards.org/documents/PCI_DSS_v3-2-1.pdf?agreement=true&time=1589494129851 ( : 11.05.2020);

8. // intuit.ru URL: www.intuit.ru/studies/courses/553/409/info ( : 11.05.2020).

9. // cryptowiki.net/ URL: cryptowiki.net/index.php?title=____ ( : 11.05.2020);

10. Kerberos_(protocol) // en.wikipedia.org URL: en.wikipedia.org/wiki/Kerberos_(protocol) ( : 11.05.2020)

11. RFC5280 — Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile;

12. Recommendation for Key Management Part 3: Application-Specific Key Management Guidance // nvlpubs.nist.gov URL: nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-57Pt3r1.pdf ( : 11.05.2020);

13. Blockchain reference architecture // ibm.com URL: www.ibm.com/cloud/architecture/files/blockchain-architecture-diagram.pdf ( : 24.05.2020).

14. Key management // cloud.ibm.com URL: cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-security ( : 24.05.2020);

15. , . . / . . . — : // . — 2016. — № 1 (105). — . 141-143. — URL: moluch.ru/archive/105/24663 ( : 31.05.2020).

16. CKMS – // www.cryptomathic.com URL: www.cryptomathic.com/hubfs/Documents/Product_Sheets/Cryptomathic_CKMS_-_Product_Sheet.pdf ( : 31.05.2020);

17. HSM // www.croc.ru URL: www.croc.ru/promo/insafety/design/hardware-security-module ( : 31.05.2020);

18. HSM // cbr.ru URL: cbr.ru/Content/Document/File/104755/FT_35.pdf ( : 30.05.2020);

19. AWS Key Management Service // aws.amazon.com URL: aws.amazon.com/ru/kms ( : 30.05.2020);

20. . . // zakonbase.ru URL: zakonbase.ru/content/part/1250444 ( : 31.05.2020);

21. Diffie Hellman Protocol // mathworld.wolfram.com URL: mathworld.wolfram.com/Diffie-HellmanProtocol.html ( : 31.05.2020);

22. STS Protocol // archive.dimacs.rutgers.edu URL: archive.dimacs.rutgers.edu/Workshops/Security/program2/boyd/node13.html ( : 31.05.2020);

23. The Needham-Schroeder Protocol // www.cs.utexas.edu URL: www.cs.utexas.edu/~byoung/cs361/lecture60.pdf ( : 31.05.2020);

24. Otway Rees protocol // www.lsv.fr URL: www.lsv.fr/Software/spore/otwayRees.pdf ( : 31.05.2020);

25. Payment Card Industry (PCI) PTS HSM Security Requirements // www.pcisecuritystandards.org URL: www.pcisecuritystandards.org/documents/PTS_HSM_Technical_FAQs_v3_May_2018.pdf ( : 31.05.2020);

26. zk-SNARK? // z.cash/ru URL: z.cash/ru/technology/zksnarks ( : 31.05.2020);

27. zk-SNARKs zk-STARKs? // academy.binance.com/ru URL: academy.binance.com/ru/blockchain/zk-snarks-and-zk-starks-explained ( : 31.05.2020);

28. Bulletproofs: Short Proofs for Confidential Transactions and More // web.stanford.edu URL: web.stanford.edu/~buenz/pubs/bulletproofs.pdf ( : 31.05.2020);

29. // beincrypto.ru URL: beincrypto.ru/learn/chto-takoe-tehnologiya-raspredelennogo-reestra ( : 31.05.2020);

30. 12 - // dou.ua URL: dou.ua/lenta/articles/12-konsensus-protocols ( : 31.05.2020);

31. ISO/IEC 11770-1-2017. 1 // www.egfntd.kz URL: www.egfntd.kz/rus/tv/391980.html?sw_gr=-1&sw_str=&sw_sec=24 ( : 31.05.2020);

32. Consensus algorithm // whatis.techtarget.com URL: clck.ru/Nvade ( : 31.05.2020);

33. Introduction to Zero Knowledge Proof: The protocol of next generation Blockchain // medium.com URL: medium.com/@kotsbtechcdac/introduction-to-zero-knowledge-proof-the-protocol-of-next-generation-blockchain-305b2fc7f8e5 ( : 31.05.2020).




All Articles