BLS12-381指南

开始鼓捣之前,我希望我知道的。 近年来,椭圆曲线BLS12-381逐渐火了起来。许多协议都将其应用到了数字签名和零知识证明中:Zcash、Ethereum 2.0、Skale、Algorand、Dfinity、Chia 等等。 不幸的是,现有的关于 BLS12-381 的资料里充满着晦涩的咒语,比如

  • XPTY
  • 发布于 2023-07-28
  • 阅读 ( 1407 )

模块化:比较数据可用性(DA)层

以太坊、Celestia、EigenLayer 和 Avail 都可以作为数据可用层。

本文分别从:出块时间,最终确定性及共识,数据可用性采样、轻节点安全性 等维度来对比各个 DA 层

UniswapX 协议白皮书

UniswapX 聚合了链上和链下流动性,以不断优化价格的形式将 MEV 内化到协议中,为用户提供无需 Gas 兑换,并可扩展以支持跨链交易。

  • Tiny熊
  • 发布于 2023-07-25
  • 阅读 ( 2824 )
  • ( 153 )

友好的零知识介绍

在本文中,作者用一个形象的例子"沃尔多在哪里"给我们介绍零知识证明的概念、进而说明为什么要关注ZKP以及它们何时有用。我们还了解了它们的工作原理,以及它们为我们提供了哪些属性。并探讨了一些当前和未来可能应用

智能合约安全审计入门篇 —— 签名重放

了解一个经典的智能合约漏洞 —— 签名重放。

智能合约安全审计入门篇 —— 抢跑

了解一个非常常见的攻击手法 —— 抢跑。

Fuel: 专注模块化的执行层

本文接收了什么是模块化执行层,Fuel 如何通过 UTXO 的设计来实现快速平行的执行层。

Celestia: 模块化区块链的世界

阐述 Celestia 的新功能和模块化世界的未来

区块链中的数学 -- 蒙哥马利模乘

蒙哥马利模乘算法关键是依赖于一种称为蒙哥马里形式(Montgomery form)的数字的特殊表示。效率高主要是因为避免了昂贵的除法运算。蒙哥马利形式采用一个常数R>N(N是要模的数),该常数与N互素,蒙哥马利乘法中唯一需要的除法是除以R。可以选择常数R,实际上R总是选2的次方,因为2的次方的除法可

ERC-6551 NFT绑定账户提案

该提案定义了一个系统,为每个ERC-721代币提供了一个智能合约账户。这些与代币绑定的账户允许ERC-721代币拥有资产并与应用程序进行交互,而无需对现有的ERC-721智能合约或基础设施进行更改。

  • dwong
  • 发布于 2023-07-10
  • 阅读 ( 1790 )
  • ( 36 )

如何集成 Uniswap V4 并创建自定义Hook

了解Uniswap V4的新功能;如何在自己的合约中集成 Uniswap V4

关于Solidity 事件,我希望早一点了解到这些

在这篇文章中,详细说明的事件的日志是如何生成,索引是如何影响日志的生成,字符串等变长数据是如何处理的。同时介绍了在前端如何获取事件。

  • Tiny熊
  • 发布于 2023-07-06
  • 阅读 ( 2058 )

12.slither检测器之四——变量重写检测

遍历所有的节点处理变量读写关系的示例

  • 小驹
  • 发布于 2023-07-04
  • 阅读 ( 934 )

DeFi 合约安全的新模式:关注协议不变性

在 DeFi 合约中,常见模式是Checks-Effects-Interactions(检查-生效-交互)模式, 不够好,它会让开发者忘记协议的核心不变性。 作者提出了一个新的模式:FREI-PI: 功能检查-生效-交互+协议不变性,让我们更多关注协议的不变性(安全性)。

  • Tiny熊
  • 发布于 2023-07-04
  • 阅读 ( 1446 )
  • ( 74 )

11.slither检测器之三——批量函数调用检测

本文会涉及到slither中几类call的区别,slither遍历node时的常用的递归框架,以及将这两类知识应用到批量函数调用风险的检测中。

  • 小驹
  • 发布于 2023-07-03
  • 阅读 ( 998 )
  • ( 5 )

10.slither检测器分析之二——自杀函数检测及shift汇编函数检测

1.理解自杀函数检测自杀函数的风险与应用场景。自杀函数可以做为一种隐藏的transfer的手段。 2.shift汇编函数与其它语言的参数不一致,容易混淆。

  • 小驹
  • 发布于 2023-07-03
  • 阅读 ( 860 )

ERC777 与任意调用合约可能出现的安全问题

Hook 是一个强大功能,可以带来更灵活的组合性。向任何强大的武器一样,使用不当可能会伤害到自己。 当任意调用与 Hook 在一起,更要小心。

  • Tiny熊
  • 发布于 2023-06-30
  • 阅读 ( 1279 )
  • ( 20 )

09.slither检测器分析之一——状态变量覆盖漏洞

09.状态变量覆盖的含义状态变量覆盖是指子类中的状态变量将父类的状态变量进行覆盖,子类和父类使用了相同名称的状态变量。在这种情况下,如果操作子类的状态变量不会修改父类的状态变量,而此时代码的真实意图可能是为了修改父类的状态变量。

  • 小驹
  • 发布于 2023-06-30
  • 阅读 ( 1098 )
  • ( 3 )

Yul 入门指南

Yul 入门指南

  • Tiny熊
  • 发布于 2023-06-27
  • 阅读 ( 2764 )
  • ( 151 )

Vitalik: 深入研究用于钱包和其他场景的跨 L2 读取

在 L2 成为主流后, 在多个L2 的钱包管理是一个需要解决的问题,使用keystore合约和钱包合约分离的架构是一个可行的方式, Vitalik 在文章中探讨了 3 种可能跨链证明方法来实现该架构。