为什么合约里尽量避免使用 tx.origin
早上很多朋友@我,安比实验室发表了一篇文章zkSNARK的“输入假名”的攻击。迅速看了看,很赞。这个攻击原理其实比较简单,但是,不深入理解zkSNARK以及使用场景的朋友确实很难发现和理解。本文讲讲我对这个攻击的分析和理解。
大量零知识证明项目由于错误地使用了某个 zkSNARKs 合约库,引入「输入假名 (Input Aliasing) 」漏洞,可导致伪造证明、双花、重放等攻击行为发生,且攻击成本极低。众多以太坊社区开源项目受影响,其中包括三大最常用的 zkSNARKs 零知开发库 snarkjs、ethsnarks、ZoKrates,以及近期大热的三个混币(匿名转账)应用 hopper、Heiswap、Miximus。这是一场由 Solidity 语言之父 Chris 两年前随手贴的一段代码而引发的血案。
本篇文章是上一篇文章区块链上的随机性(一)概述与构造的延续。作为区块链上的随机性系列文章的第二部分,本文介绍了目前主流的应用在区块链项目中的随机数协议,例如 Algorand、Cardano,Dfinity 和 Randao,并分析他们是如何使用第一部分所介绍的随机数协议核心以及它们的组合。
本篇文章总结了目前主要的应用在区块链的不可预测随机数获取协议,并提炼出它们的设计思想,方法论以及依赖的假设,然后对他们进行比较。 本文分为两部分:第一部分介绍基本概念,并从零开始构造适用于分布式系统的随机数协议核心;第二部分介绍目前主流的应用在区块链项目中的随机数协议,并分析他们是如何使用第一部分所介绍的某类或者某几类协议核心。
无论工作量证明的PoW,还是权益证明PoS,还是委托权益证明DPoS,只要在共识问题里面,理论上讲都无法避免出现 51% 攻击,攻击者通过51%可逆转区块,控制主网,导致双花。本文将详细介绍PoW机制,51%攻击过程,以及安全解决方案。
FTN 合约漏洞分析
Fomo3D死亡3分钟的交易攻击分析
以太坊 Solidity 未初始化存储指针安全风险
这两天币圈链圈被美链BEC智能合约的漏洞导致代币价值几乎归零的事件刷遍朋友圈。这篇文章就来分析下BEC智能合约的漏洞
在区块链技术领域,The DAO事件可以算是一个以太坊的丑闻,当然也直接导致了硬分叉。在现实面前,面对黑客当着面利用漏洞源源不断从1.5亿美金的以太币池中...
12 篇文章,-40 学分