以太坊的配对预编译长期只有 BN254 一条曲线,安全强度约 80 比特。EIP-2539 提议为 BLS12-377 增加一组预编译,把配对友好曲线的选择权交给合约。本文讲清这条曲线的来路与提案的编码设计,以及它停留在 Stagnant 的原因。
以太坊的配对预编译长期只有 BN254 一条曲线,安全强度约 80 比特。EIP-2539 提议为 BLS12-377 增加一组预编译,把配对友好曲线的选择权交给合约。本文讲清这条曲线的来路与提案的编码设计,以及它停留在 Stagnant 的原因。
门限签名要先有一把没有完整形态的私钥。DKG 让 n 个参与者共同生成密钥:没有人见过完整私钥,也没人能把密钥往自己有利的方向偏。本文讲 Feldman 可验证分享、Pedersen 两轮回铸协议、GJKR 发现的偏置攻击与修补,以及以太坊信标链生成仪式这类万人大众筹钥匙的现实案例。
SHA-3 不是对旧哈希打补丁,而是一种全新骨架:把消息吸进一个固定容量的状态,靠置换函数反复搅拌,再从状态里挤出任意长度的输出。本文拆解海绵构造的 rate 与 capacity 分工、为什么同一个状态既能当哈希又能当流加密和密钥派生,以及 Keccak 与 SHA-3 的命名差别和以太坊的坚持。
合约调用合约时,EVM 会为每一次调用新开一个帧:各自的栈、各自的内存、共享的世界状态。CALL、DELEGATECALL、STATICCALL 的区别就在于新帧里『我是谁』和『用谁家的存储』怎么填。本文拆解调用帧的资源划分、gas 传递规则、返回数据缓冲区和 revert 如何在帧间传播。
验证大规模计算太贵怎么办?sum-check 协议把『证明所有格子加起来等于某个值』拆成一串轮流点名的小问题,验证者只用随机抽查。本文讲 LFKN 1992 年的原始构造、GKR 怎么拿它给电路验证装引擎、它如何长成现代证明系统的积木,以及随机性从哪来才诚实。
以太坊把外部算法直接插进 EVM 插槽的方式是预编译合约:地址 0x01 到 0x09 之后,0x09 位置的 BLAKE2F 压缩函数由 EIP-152 在 2019 年伊斯坦布尔升级装上车。本文讲这个插槽的输入编码、逐轮定价的 gas 规则,以及它当年为跨链验证、今天为 zk 电路 inside 电路的两种命运。
Groth16 和 PLONK 都需要一场仪式生成公共参数,Halo 用累加器加递归把这场仪式拆了。本文讲递归证明的压缩链条、为什么递归内部必须住一个 SNARK、累加器方案怎么把可信设置彻底请出去,以及它换来的体积与成本代价。
现代比特币节点同步链不按顺序逐块下载,而是先把几百兆的区块头链一口气拉完、验证好工作量证明,再回头按需下载区块正文。本文讲 headers-first 的两段式流程、为什么这比逐块同步抗欺骗、区块头验证省了什么资源,以及同步进度条背后的排队逻辑。
Chia 系的脚本系统 CLVM 是 LISP 家族的最小方言:程序和资金一起被执行,没有账户、没有全局状态、没有区块高度可查,输出是一份条件清单告诉节点这笔花费是否合法。本文讲它的求值哲学、条件系统与 EVM 的本质分野,以及 puzzle 加 solution 的花费模型。
日食攻击不推翻共识,只围住一个节点:投毒地址表、等它重启、接管全部连接,让它看到的链、看到的交易都是定制视图。本文讲攻击的三个阶段、比特币与以太坊各自的防御(地址分桶、网段分散、连接策略),以及双花和闪电损失是怎么在茧房里发生的。