zkSNARK 零知识验证】的更多相关文章

参考文献 ZCash7篇,有社区翻译版,但还是推荐看原汁原味的     https://z.cash/blog/snark-explain.html Vitalik3篇,小天才作者我就不介绍了,这三篇介绍得也是很透彻 https://medium.com/@VitalikButerin/quadratic-arithmetic-programs-from-zero-to-hero-f6d558cea649 https://medium.com/@VitalikButerin/exploring-…
https://blog.conformal.com/category/btcd/ https://github.com/btcsuite/btcd/tree/master/docs https://github.com/btcsuite/btcd https://github.com/ethereum/go-ethereum Secp256k1是比特币中使用的ECDSA(椭圆曲线数字签名算法)曲线的参数,其在高效密码学标准(Certicom Research,http://www.secg.o…
libsnark 是实现了 zkSNARK 模式的 C++ 库.zkSNARK 是一个证明/验证计算完整性的加密方法,也即零知识验证的算法, https://github.com/scipr-lab/libsnark.       作者:ebit堡主链接:https://www.zhihu.com/question/59968824/answer/171779341来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 我觉得,最实用的有两个功能:比特币搬砖:生产bitc…
作者:林冠宏 / 指尖下的幽灵 博客:http://www.cnblogs.com/linguanh/ 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 GitHub : https://github.com/af913337456/ 腾讯云专栏: https://cloud.tencent.com/developer/user/1148436/activities 虫洞区块链专栏:https://www.chongdongshequ.com/…
作者:林冠宏 / 指尖下的幽灵 博客:http://www.cnblogs.com/linguanh/ 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 GitHub : https://github.com/af913337456/ 注:发现掘金的图片屏蔽了博客园获取,导致我的一些文章在博客园这里的图片显示不了,因为现在我的文章是我首发在掘金的 目录 前序 交易体的结构 note commitment 和 nullifier ZCash 1.…
导言:原文的作者是著名的Ghost和Spectre 这两个协议的创始团队的领队Aviv Zohar.原文作者说他的这篇原文又是引用了以下这两篇学术论文: How to Explain Zero Knowledge Protocols to Your Children (Quisquater et. al.) Cryptographic and Physical Zero-Knowledge Proof Systems for Solutions of Sudoku Puzzles (Gradwo…
先来思考一个问题:如何写一个能消耗对方时间的程序? 消耗时间还不简单,休眠一下就可以了: Sleep(1000) 这确实消耗了时间,但并没有消耗 CPU.如果对方开了变速齿轮,这瞬间就能完成. 不过要消耗 CPU 也不难,写一个大循环就可以了: for i = 0 to 1000000000 end 但这和 Sleep 并无本质区别.对方究竟有没有运行,我们从何得知? 所以,我们需要一个返回结果 -- 只有完整运行才有正确答案. result = 0 for i = 0 to 100000000…
一般在写方法的时候,第一步就是进行参数验证,这也体现了编码者的细心和缜密,但是在很多时候这个过程很枯燥和乏味,比如在拿到一个API设计文档的时候,通常会规定类型参数是否允许为空,如果是字符可能有长度限制,如果是整数可能需要判断范围,如果是一些特殊的类型比如电话号码,邮件地址等,可能需要使用正则表达式进行判断. 通常,我们一般都是在方法开始的地方进行条件判断,然后抛出合适的异常,这是最普通和通用的做法,但是在.NET中,利用一些语言特性和类库,可以使用一些其他的方式将我们从复杂繁琐的工作中解放出来…
在Yii1.1的数据验证是由CValidator完成,在CValidator中提供了各种基本的验证规则 <?php public static $builtInValidators=array( 'required'=>'CRequiredValidator', 'filter'=>'CFilterValidator', 'match'=>'CRegularExpressionValidator', 'email'=>'CEmailValidator', 'url'=>…
我不敢说俺的方法是最佳方案,反正这世界上很多东西都是变动的,正像老子所说的——“反(返)者,道之动”.以往看到有些文章中说,为每个客户端安装证书嫌麻烦,就直接采用把用户名和密码塞在SOAP头中发送,然后在服务器端自定义一个消息拦截器来验证用户名和密码. 以老周不靠谱的学识水平认为,这样做不好,直接把明文而且敏感信息放在SOAP头中传输,这尺度实在太大了,太暴露了,广电局是不会允许的,虽然现在流行穿得越少越好,但那些是婊子的境界.像用户名密码这些重要信息,怎么能直接传输呢,这很容易被偷窥的. 其实…