Public Ledger
公共账本是一种分布式记录保存系统,用于记录加密货币交易,它允许任何人参与,同时利用密码学来保护数据安全并保持交易公开可见。[1]
在数字货币的语境下,账本是网络上发生过的每一笔交易的数据库或列表,而这种账本的去中心化形式被称为区块链。[2]
区块链由计算机网络或节点维护,这些节点协同工作以验证和记录交易,而不是依赖于任何单一的控制实体。[2]
公共账本为参与者的身份提供伪匿名化,同时以安全的形式记录他们各自的加密货币余额和交易。[1]
概述
加密货币本身是一种去中心化的加密代币,可以在网络参与者之间转移以促进价值交换,而公共账本则以安全且伪匿名形式维护这些参与者的身份、余额和交易。[1]
账本被描述为加密货币网络运行的核心,因为它提供了所有交易的安全且可见的记录。[2]
账本执行多项核心功能。它保留所有交易的永久且按时间顺序排列的记录,以便每笔交易都有据可查且可追溯;同时它维护所有账户或地址的余额,并随着交易的发生进行更新。[2]
一旦交易被记录,不可篡改性这一特性意味着它不能被更改或删除,从而提供防篡改的记录;而透明性确保了交易通常对所有参与者可见,从而增强了网络内的信任。[2] 去中心化意味着没有单一实体控制整个账本。[2]
公共账本和私有账本之间存在区别。公共账本通常可供任何人使用,而私有账本则保留给特定的个人或实体。[1]
加密货币账本通常是公开的,因为加密货币旨在供任何人使用;根据目前的定义,私有账本通常不承载加密货币,尽管它们可能携带可供其参与者使用的代币。[1]
要访问 比特币 公共账本,可以使用 BTC.com 或 Blockchain.com 等区块链浏览器网站,而技术水平较高的用户可以使用名为 区块 解析器(block parser)的程序。[1]
工作原理
加密货币交易在成为账本的永久部分之前,会经历一个确定的序列。该过程始于交易创建,用户通过指定发送者、接收者和金额等详细信息来发起转账。[2]
通常,用户通过界面或发布命令发起转账,随后区块链会验证发送者的公钥和私钥,接收者会获得一个新的私钥,交易作为文件记录在区块链上,成为自动验证过程的一部分。[1]
随后,交易被广播到节点网络,节点会验证其有效性并确保其符合网络规则。[2] 交易通常在区块创建之前自动验证,未持有相应数量代币的用户无法进行交易。[1]
节点使用内存池(mempool)等技术组装区块,内存池存储未确认的交易;这些交易往往根据用户通过打赏或可变费用机制支付给节点的费用多少进行排序,并按该顺序进行处理。[1]
在区块链账本中,经过验证的交易被分组到区块中,并通过共识机制添加到链上。[2]
交易记录在称为区块的文件中,这些文件包含多笔交易、时间戳以及通过加密算法发送的其他数据。[1]
大多数区块链将区块中的特定信息通过哈希算法处理,并将生成的十六进制数字(称为哈希值)包含在下一个区块中;每个后续区块都包含前一个区块的哈希值,从而创建了一个只要有足够参与度就无法更改的安全链。[1]
在网络就账本状态达成共识后,所有副本都会同步。一旦记录,交易就变得不可篡改,哈希和数字签名等加密技术可确保其安全并防止篡改。[2] 除非区块链被编程为隐藏信息,否则交易、哈希值和用户地址始终保持可见。[1]
账本还实现了传统上需要人工监督的功能自动化。它将人工从审计过程中移除,减少了错误和腐败行为;使用分布式共识协议比较每个副本中存储的数据来保护账本;并记录所有交易,同时验证参与者是否持有他们打算转账的代币。[1]
组成部分
加密货币账本由几个相互关联的部分构建而成。交易是数据的基本单位,包含发送者和接收者地址、金额以及数字签名。[2]
在区块链账本中,区块充当容器,保存交易列表、时间戳和对前一个区块的引用。[2] 哈希函数是为交易和区块生成唯一标识符的加密算法,而数字签名则作为加密证明,用于验证交易的真实性并确认发送者的身份。[2]
加密密钥是该系统的基础,公钥用于接收资金,私钥用于签署交易。[2]
节点是维护账本副本、验证交易并传播数据的网络参与者。[2]
账本状态代表所有账户的当前状态,包括余额和交易历史。[2] 智能合约是条款以代码形式编写的自执行合约,能够实现可编程交易和去中心化应用。[2]
共识机制
共识机制是网络参与者就账本的当前状态和交易的有效性达成一致的协议。[2] 区块生成并没有单一的强制方法;开发者和社区决定账本网络如何生成和验证区块。[1]
大多数区块链允许一个节点通过不同的方式添加提议的区块:有些随机选择特定节点或通过接收他人的投票来生成区块,而另一些则使用竞争性的哈希机制。[1]
在共识过程中,节点将交易放入提议的区块中,对所需信息进行哈希处理,并将其广播给网络的其余部分。
对区块有效性的一致认可是通过比较哈希值达成的,因为区块信息的任何更改都会产生不同的哈希值;如果网络中的大多数节点生成的哈希值与提议区块的哈希值匹配,则该区块被接受,否则将被拒绝,网络将转向下一个区块。[1]
最流行的共识机制是工作量证明和权益证明,其他机制还包括委托权益证明、历史证明和活动证明。[1]
账本类型
该文档识别了加密货币网络中使用的几种不同的账本技术。最常见的是区块链账本,这是一种按时间顺序排列的线性区块链,被比特币和以太坊所采用。[2]
有向无环图(Directed Acyclic Graph,简称 DAG)是一种图形结构,其中每笔交易可以引用多个先前的交易,在没有传统区块结构的情况下对其进行确认;示例包括 IOTA 和 Nano。[2]
哈希图(Hashgraph)是一种分布式账本技术,它使用图形结构结合一种被称为“关于流言的流言和虚拟投票”(gossip about gossip and virtual voting)的共识算法,由 Hedera Hashgraph 实现。[2] Holochain 是一个用于构建分布式应用程序的框架,它使用分布式哈希表(DHT)代替传统的账本,每个参与者维护自己的交易链,并通过 DHT 进行验证。[2] 与这些去中心化设计形成鲜明对比的是,中心化账本由单一实体或组织管理,常见于传统金融、企业记录保存和公司内部系统。[2]
优势与挑战
公共账本被认为具有优于传统系统的多项优势。由于账本由全球范围内的节点网络维护,去中心化降低了单点故障的风险,而透明度意味着所有参与者都可以看到交易。[2] 任何人都可以查询和验证交易详情,使系统比传统银行业更透明且无需披露个人信息,而不可篡改性在有足够网络参与度的情况下确保了记录无法被更改。[1]
公共账本还消除了对人的信任需求,因为它们是自动化的,且在大多数情况下并非为了营利而存在。[1] 其他被提及的优势包括交易速度,其处理速度可能比传统银行业快得多,尤其是在跨境转账方面;以及由先进加密技术提供的安全性,这些技术同时也控制着新单位的产生。[2]
创建和维护公共账本的主要困难在于可扩展性、去中心化和安全性,这三者相互关联,因此增强其中一个往往需要牺牲另一个。[1] 一些项目声称已经解决了这个“三难困境”,但大多数做出此类声明的项目尚未获得足够的关注或采用来证明这一点。[1]
由于区块链记录了曾经发生过的每一笔交易,它会持续增长,这要求参与者增加存储空间或开发者减轻存储负担;许多区块链无法达到当前支付系统的速度,且随着参与人数的增加,交易费用会上升,处理速度会下降。[1]
安全性取决于大型网络或先进技术。参与度不足的工作量证明(PoW)区块链可能会被掌握足够哈希算力的实体接管,从而提议区块并进行更改;而权益证明(PoS)区块链可能需要参与者提供大量的资金抵押才能创建区块并赚取费用,这在理论上可能导致网络中心化。[1] 最显著的安全问题被描述为对激励机制的需求,因为如果没有激励,参与度可能会降低,进而降低安全性。[1]
进一步的局限性包括能源消耗,因为工作量证明区块链需要巨大的计算能力;权益证明、委托权益证明和权威证明等替代方案被认为是能耗较低的方法。[2]
周边生态系统也容易受到黑客攻击和漏洞利用,备受关注的盗窃和诈骗案件引发了人们对加密货币系统整体安全性的担忧。[2]
区块链交易并非完全匿名——某些加密货币(如比特币)的交易是可追溯的,有可能与个人身份相关联——而且该技术的整体复杂性可能会成为广泛采用的障碍。[2] 为此提出的可扩展性解决方案包括 Layer-2 系统(如闪电网络)、基于 DAG 的设计以及分片技术。[2]
应用
公共账本支撑着除简单价值转移之外的一系列用例。在金融服务领域,比特币和稳定币被用于国际支付,而诸如 Compound 和 Aave 等去中心化金融协议则直接在账本上构建借贷和其他金融服务。[2]
去中心化应用(DApps)由智能合约实现,例如 Uniswap 等去中心化交易所。[2]
供应链管理是另一个应用领域,账本可以追踪货物,以便公司验证产品的来源和历程;沃尔玛使用区块链来追踪食品。[2] 在电子投票中,账本可用于安全且透明的投票系统,爱沙尼亚和西弗吉尼亚州的试点项目证明了这一点。[2] 对于数字版权管理,账本可以记录所有权和许可,Audius 和 Ujo Music 等平台使艺术家能够控制其内容和版税。[2]
为公共账本配置正确的参数被描述为维持去中心化、可扩展、安全和伪匿名特性的关键,尽管对于必须在技术优势与其可扩展性、能源和安全性限制之间取得平衡的区块链开发者来说,这仍然是一个持续的挑战。[1][2]