区块链原理与技术
  • 区块链原理与技术
  • 比特币密码学基础
    • 密码学简介
    • 哈希函数
    • 数字签名
  • 比特币数据结构
    • 哈希指针
    • 默克尔树
    • 数据结构
  • 比特币交易模型
    • 身份确认
    • 交易服务
  • 比特币共识机制
    • 共识机制
    • 区块链的共识机制
  • 挖矿&脚本
    • 挖矿
    • 比特币脚本
    • 多重签名
  • 区块链分叉
    • 硬分叉与软分叉
  • 问题
  • 比特币匿名性
    • Page 1
  • 以太坊数据结构
    • 以太坊概述
    • 以太坊账户
    • 以太坊状态树
  • 交易树&收据树
    • 以太坊交易树&收据树
    • 布隆过滤器
    • GHOST协议
  • 以太坊:从PoW到PoS
    • 工作量证明PoW(节能)
    • 权益证明PoS
Powered by GitBook
On this page
  1. 交易树&收据树

以太坊交易树&收据树

Previous以太坊状态树Next布隆过滤器

Last updated 4 months ago

每次发布一个区块时,区块中的交易会形成另外两个Merkel Tree,即交易树和收据树。交易树和收据树都是MPT,MPT的好处是支持查找操作,通过键值沿着树进行查找即可。对于交易树和收据树,查找键值为交易在发布的区块中的序号。

交易树和收据树的用途:

  • 向轻节点提供Merkel Proof

  • 更加复杂的查找操作,比如查找某个合约过去十天的交易

如何高效查找某个元素是否在某个集合中:

  • 最笨:元素遍历,复杂度为O(n)——轻节点不能使用

  • Bloom filter:给一个大的集合,计算出一个紧凑的摘要

收据树

每个交易完成后形成一个收据,记录交易相关信息。由于以太坊智能合约执行较为复杂,通过增加收据树,便于快速查询执行结果。