以太坊架构与实践全解析
1. 预编译智能合约
以太坊支持在以太坊虚拟机(EVM)上运行的智能合约开发,同时在以太坊区块链中还有以预编译格式存在的各种合约,用于支持不同功能,这些合约也被称为预编译合约或原生合约。在以太坊伊斯坦布尔版本中,有九个预编译合约,具体如下:
| 合约名称 | 地址 | 功能描述 | 输出值 | gas 要求 |
| — | — | — | — | — |
| 椭圆曲线公钥恢复函数(ECDSARECOVER) | 0x1 | 从 ECDSA 签名中恢复公钥 | 64 字节公钥 | 3000 gas 单位 |
| SHA - 256 位哈希函数 | 0x2 | 生成输入的 SHA256 哈希 | 32 字节值 | 取决于输入数据大小 |
| RIPEMD - 160 位哈希函数 | 0x3 | 提供 RIPEMD - 160 位哈希 | 20 字节值 | 取决于输入数据量 |
| 身份/数据复制函数(ID) | 0x4 | 输出等于输入 | 与输入相同 | 15 + 3 [Id/32],Id 为输入数据 |
| 大模幂函数 | 0x05 | 实现原生大整数指数模运算 | - | - |
| BN256 椭圆曲线点加法函数 | 0x06 | 实现椭圆曲线点加法 | - | - |
| BN256 椭圆曲线标量乘法 | 0x07 | 实现椭圆曲线点乘法 | - | - |
| BN256 椭圆曲线配对 | 0x08 | 执行椭圆曲线配对操作 | - | - |
| Blake2 压缩函数 ‘F’ | 0x09 | 允许 BLAKE2b 哈希函数等在 EVM 上运行 | - | - |
超级会员免费看
订阅专栏 解锁全文
1556

被折叠的 条评论
为什么被折叠?



