加密货币

分布式账本

定义

分布式账本是一个共享数据库,复制在许多计算机上,更新通过共识达成,而不是由中央管理员决定。

什么是分布式账本?

分布式账本是一种记录保存系统,其中相同的数据库被复制到多个独立的计算机(通常称为节点)上,并通过一套规则保持同步,以达成对更新的共识。每个参与者都可以持有一个副本并验证更改,从而使账本更难以审查、腐败或悄悄重写,而不是由一个组织拥有“主”数据库。

分布式账本是如何工作的?

从高层次来看,分布式账本通过(1)广泛共享数据,(2)提出更新,以及(3)使用共识来决定哪些更新成为官方记录来工作。当有人提交交易或数据条目时,例如“爱丽丝向鲍勃发送1个代币”或“这批货物转移到B仓库”,该更新会广播到网络。节点检查它是否遵循账本的规则(例如,爱丽丝是否有足够的余额,或者数据格式是否有效)。

接下来是共识:网络必须就更新的顺序和有效性达成一致,以便所有副本汇聚到相同的历史。不同的分布式账本设计使用不同的共识机制。在工作量证明(PoW)中,节点竞争解决计算挑战,获胜者获得附加下一组更新的权利。在权益证明(PoS)中,验证者根据质押的“抵押品”和协议规则进行选择,对不诚实行为施加惩罚。在委托权益证明(DPoS)中,代币持有者选举一小部分区块生产者来提出和确认更新。共同目标是相同的:防止双重支付、冲突历史和未经授权的编辑,而不依赖于中央守门人。一旦达成共识,接受的更新将被添加到账本中,并在网络中传播,以便其他节点可以存储它。许多分布式账本还使用密码学来使篡改显而易见。例如,条目可能通过哈希链接,以便更改旧记录会破坏后续记录的密码“指纹”,使得更改易于检测且难以被诚实节点接受。一个简单的类比:想象一组会计师,他们都保持相同的电子表格。任何人都可以提出新的行项目,但只有在小组遵循严格程序确认后(共识),它才会变得正式。因为每个人都有一个副本,所以没有一个会计师可以在其他人不注意的情况下秘密更改过去的条目。

分布式账本在实践中

在加密领域,分布式账本技术(DLT)最常见于区块链,例如比特币和以太坊,其中账本跟踪余额和智能合约状态。在这些系统中,分布式账本是关于谁拥有什么和什么代码已执行的真实来源,使得数字资产能够在没有银行或支付处理器的情况下转移。

分布式账本还出现在企业和公共部门的实验中,其中多个组织需要共享数据视图,但不希望一方控制数据库。常见的例子包括供应链可追溯性(记录保管变更和来源)、金融机构之间的共享结算和对账,以及去中心化身份方法,其中凭证可以在不暴露不必要的个人数据的情况下与共享注册表进行验证。

为什么分布式账本很重要分布式账本系统通过使验证成为网络的内置特性,减少对可信中介的依赖。当参与者能够独立验证相同的记录时,跨越不完全信任彼此的组织进行协调变得更容易——而不将控制权交给单一的中央运营者。它们还提高了弹性和可审计性。由于账本的副本在许多节点之间复制,即使某些节点失败或恶意行为,系统仍然可以继续运行。而且,由于更新记录在一致、可验证的历史中,分布式账本可以创建强大的审计轨迹——对于跟踪资产所有权、通过智能合约执行透明规则以及减少“哪个数据库是正确的”争议非常有用。[@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` prop[@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` prop[@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` prop[@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` prop[@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` prop[@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` prop

[@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` prop[@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` prop[@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` prop

[@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` prop

[@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` prop

[@portabletext/react] Unknown block type "span", specify a component for it in the `components.types` prop

常见问题

分布式账本和区块链之间有什么区别?

分布式账本是由多个节点维护的共享数据库的更广泛概念。区块链是一种分布式账本,它将更新分组为区块,并以加密方式将其链接在一起。并非所有分布式账本都必须使用区块或链结构。

分布式账本如何在没有中央权威的情况下达成一致?

它使用共识机制——允许节点就有效更新及其顺序达成一致的规则。根据网络的不同,这可能涉及工作量证明、权益证明或其他奖励诚实参与并使作弊代价高昂的设计。结果是独立节点在同一账本状态上达成一致。

分布式账本总是公开和无需许可的吗?

不。一些分布式账本是公开的,任何人都可以阅读和提交交易,而其他则是许可的,只有经过批准的参与者才能验证或查看数据。选择取决于用例、隐私需求和治理要求。

在分布式账本技术中,不可变性为什么重要?

不可变性使得过去的记录在没有检测的情况下极难更改,这增强了对交易或事件历史的信任。它有助于防止欺诈,支持审计,并减少对数据完整性的争议。在实践中,不可变性是通过加密和共识规则来强制执行的。

除了加密货币之外,分布式账本的常见用例有哪些?

常见用例包括供应链追踪、机构间的共享对账、数字身份验证和防篡改记录保存。这些应用受益于多个参与方之间的共享真实来源。最适合的场景是参与者需要共享数据但不希望有单一控制者。