libsnark源代码,建议想深入零知识证明的小伙伴都读一读。Bellman库主要围绕Groth16算法,libsnark给出了SNARK相关算法的全貌,各种Relation,Language,Proof System。为了更好的生成
理解以太坊 gas refund
在区块链上,由于一切信息都是透明公开的,提供一个安全实用的随机数是一个非常困难的问题。但是随机数是很多应用的基础,比如游戏,博彩,流程控制等。因此,提供一个实用可靠的随机数是基于智能合约的应用的迫切需求。
加密钱包完全由私钥控制,如果私钥丢失,钱包将无法访问。 这在某种程度上是安全的。 但是,它在实际应用中会造成很多麻烦。 本文解决方案是提供一种方式备份及恢复私钥的方法。
联系我们~
Libra白皮书技术解读
RPC原理及以太坊RPC的实现
当我们应用区块链解决生活中问题的时候,它的价值就产生了。如果还不清楚Substrate的基本概念,在开始本文的阅读之前,我希望你能大概浏览Substrate开发者中心的文档或者参考之前的教程使用Substrate搭建你的第一条区块链来了解Substrate相关的基础知识。本文会从零开始开发一条承载具体业务的区块链
I know that I know nothing —— 苏格拉底
相信很多人都听说过零知识证明,但是只有极少数人听说过模拟,然而模拟是理解零知识的关键。
ethers.js 库是为以太坊 提供的一个的小而完整的 JavaScript 库。
ethers.js库旨在为以太坊区块链及其生态系统提供一个小而完整的 JavaScript API 库 它最初是与 ethers.io 一起使用,现在已经扩展为更通用的库。
要解释「零知识证明」,我们需要先解释「证明」,然后解释什么是「知识」,最后再解释什么是「零知识」。
最近又重新看了看ZCash的白皮书。话说,看ZCash的白皮书需要一点耐心,144页的白皮书形式化太多,通篇就只有一张图(地址和Key生成关系图)。本文画图总结了Sprout和Sapling的交易Transaction的数据结构。
我认为区块链很难称为一个“技术”。它更像是一个领域,包罗万象。或者形而上地说,区块链更像一个有机体,融合了各种不同的理论技术。
零知识证明是构建信任的重要技术,也是区块链这个有机体中不可缺少的一环。
为什么合约里尽量避免使用 tx.origin
早上很多朋友@我,安比实验室发表了一篇文章zkSNARK的“输入假名”的攻击。迅速看了看,很赞。这个攻击原理其实比较简单,但是,不深入理解zkSNARK以及使用场景的朋友确实很难发现和理解。本文讲讲我对这个攻击的分析和理解。
大量零知识证明项目由于错误地使用了某个 zkSNARKs 合约库,引入「输入假名 (Input Aliasing) 」漏洞,可导致伪造证明、双花、重放等攻击行为发生,且攻击成本极低。众多以太坊社区开源项目受影响,其中包括三大最常用的 zkSNARKs 零知开发库 snarkjs、ethsnarks、ZoKrates,以及近期大热的三个混币(匿名转账)应用 hopper、Heiswap、Miximus。这是一场由 Solidity 语言之父 Chris 两年前随手贴的一段代码而引发的血案。
PoW(工作量证明)是区块链系统中广泛使用的协议,用于解决双花难题。但是,如果攻击者拥有超过全网哈希算力的一半,那么该攻击者就可以发起双花攻击或51%攻击。如果哈希算力足够强大,那么发起攻击的成本会低的惊人,这将会对众多PoW区块链造成巨大威胁。
我们提出了一种技术方案,将矿工的挖矿历史权重信息与总计算难度相结合,以达到缓解51%攻击的问题。分析表明,使用这种新技术,将会使传统攻击的成本增加两个数量级。
Zcash的发展大体经过了OverWinter(过冬) -> Sprout(发芽) -> Sapling(树苗)这几个阶段,随着业务和功能的逐渐丰富,密钥系统也越来越复杂,刚开始接触时感觉一头雾水,但是静下心来仔细分析,就能逐渐领略其中的魅力。
区块链钱包作为数字货币世界的入口,它糟糕的体验把大部分人挡在门外,说的就是你:助记词备份(或私钥备份)。 现在一个激动人心的签名方案让体验提升一大步,也是博客的主角:门限签名技术(Threshold signatures: 也可翻译为阈值签名)及ZenGo钱包。
ZenGo钱包不需要备份助记词,交易也不需要输入密码,一切只需要FaceID/TouchID。
扫一扫 - 使用登链小程序
106 篇文章,294 学分
3 篇文章,269 学分
55 篇文章,237 学分
13 篇文章,206 学分
16 篇文章,163 学分