date
Oct 12, 2024
icon
password
Pin
Pin
Hide-in-Web
Hide-in-Web
网址
type
Page
slug
btc-ledger
tags
知识点
category
bottom
bottom
Hide-in-Config
Hide-in-Config
comment
Show
status
Published
summary
Transaction-based ledger 主要用于区块链技术中;Account-based ledger 主要用于以太坊技术中。
在区块链和分布式账本技术中,Transaction-based ledger(基于交易的账本)和 Account-based ledger(基于账户的账本)是两种常见的账本类型,它们在记录和管理数据的方式上有所不同。
1. 基于交易的账本 (Transaction-based ledger)
- 特点:这种类型的账本主要是记录所有的交易,系统通过这些交易来推导当前状态。
- 工作原理:每笔交易都被视为一条独立记录,它们没有直接与账户绑定。账本中不保存账户的余额,而是保存一系列从某个状态变化到另一个状态的交易。要确定某个账户的余额,必须从最初的交易开始,逐步将所有相关交易进行汇总。
- 代表:比特币使用的 UTXO (未花费交易输出)模型就是典型的基于交易的账本。每一笔比特币交易输出可以作为后续交易的输入,且账户余额通过未花费的交易输出来确定。
- 优点:
- 提高了隐私性:因为每笔交易没有直接和账户绑定。
- 灵活:更适合并发处理交易。
- 缺点:
- 计算复杂:要了解某个账户的状态(例如余额),需要追溯大量交易。
- 数据存储量大:由于每笔交易都独立存储,数据量会迅速膨胀。
2. 基于账户的账本 (Account-based ledger)
- 特点:在这种账本中,系统直接维护每个账户的余额和状态,交易只需简单更新账户的余额。
- 工作原理:每个账户的状态会随着交易的进行而更新。每次交易发生时,账本只需要调整相关账户的余额,而不需要记录一系列的中间交易。最终状态直接存储为账户的余额和其他相关信息。
- 代表:以太坊使用的就是基于账户的账本,每个账户直接持有余额,并通过交易进行余额的增减。
- 优点:
- 计算简便:查询账户余额时不需要追踪历史交易,直接查看当前账户状态即可。
- 数据存储量较小:只需保存账户状态,而非每笔交易的详细信息。
- 缺点:
- 隐私性较低:账户与交易直接绑定,可能更容易跟踪账户活动。
- 并发处理效率较低:在高并发情况下,多个账户状态的修改容易导致冲突。
比较
特性 | Transaction-based ledger | Account-based ledger |
数据记录方式 | 记录每笔交易的输入和输出 | 直接更新账户余额和状态 |
状态确定方式 | 通过汇总交易推导 | 直接从账户信息中读取 |
隐私性 | 较高 | 较低 |
并发处理 | 较优 | 容易发生冲突 |
数据存储效率 | 数据量大,交易多时可能膨胀 | 存储效率较高 |
代表项目 | 比特币 (UTXO 模型) | 以太坊 |