比特币是一个数据库

比特币2年前 (2024)更新 qkledit
366 0

比特币是一个数据库,区块链是一个用于存储过去更新的数据库,以便能够重现该数据库(UTXO 集)的当前状态。整个比特币协议都是围绕数据库构建的。该数据库中什么是有效条目,什么不是有效数据库条目?谁可以向该数据库提出条目,如何确保只有这些用户的条目才会被考虑和接受?限制向该数据库写入条目的身份验证机制是什么?如何限制数据库条目,以免人们创建过多的条目而导致管理数据库的软件过载或崩溃?您如何确保人们不会创建足够大的单个条目而导致其他拒绝服务问题?

这都是关于数据库的。

工作量证明?协议中的全部目的是管理谁可以实际处理数据库更新。比特币是一个去中心化的系统,因此它需要一种以去中心化的方式更新数据库的方法,同时仍然允许用户在一次更新时与数据库的所有单独副本达成共识。如果每个人都自己更新自己的数据库副本,那么每个人都无法就数据库的单一版本达成共识。如果您依赖某些权威人物来处理更新,那么更新过程并不是真正的去中心化。这就是 POW 的意义所在,允许任何人处理更新,但这样做会产生可验证的成本。

工作量证明只是一种用于更新数据库的去中心化机制。

整个对等网络架构?它的存在只是为了传播建议的数据库更新条目(事务)和最终的数据库更新(块)。节点在交易进入内存池时验证交易?它是预先过滤对数据库提议的条目更新并确保它们有效。节点验证区块是否满足所需的难度目标?它是预先过滤提议的数据库更新并确保其有效,然后再将其传递到其他节点以更新其本地副本。

对等网络的存在纯粹是为了协调同一数据库的多个副本。

比特币脚本?从字面上看,它存在的唯一目的是充当数据库中条目的授权机制。为了删除当前数据库状态(UTXO 集)中的现有条目,提出更新的用户必须提供满足脚本锁定现有数据库条目条件的身份验证证明。为了授权在数据库中创建新条目,只能“使用”现有条目或 UTXO。矿工是协议中唯一允许创建条目而无需满足通过满足其锁定脚本中规定的授权要求来删除现有条目的条件的人。

比特币脚本只是一种控制和限制谁可以写入数据库的机制。

比特币的每一个方面都围绕着维护数据库的核心功能,并确保许多网络参与者都保留各自的数据库副本,保持同步并就数据库的当前状态达成一致。使比特币作为一种货币形式或支付手段具有价值的所有属性实际上都源自其作为数据库的功能。

这个领域的许多人认为这个数据库应该仅用于支付手段或货币形式,我同意这种观点。我也认为这是它最重要的用例,并且我认为应该尽一切努力尽可能地扩展该特定用例,而不牺牲自己能够直接与该数据库交互的**和安全性。

但当你归结为比特币的客观现实时,它仍然只是一个数据库。愿意支付以聪计价的成本来编写根据该数据库规则被认为有效的条目的人们可以这样做。您无法阻止他们更改数据库中被视为有效条目的内容,这需要说服其他人也采用关于有效条目的新规则集。

人们可以在共识规则内自由竞争,向这个数据库写入他们想要的任何内容,只要他们支付规则和挖矿激励结构所需的成本。时期。人们可以并且正在输入数据库的许多东西都是愚蠢的吗?是的。当然是。互联网上到处都是孤立的数据库,里面充斥着大量令人头脑麻木的愚蠢的东西。这是为什么?因为人们愿意付出成本将愚蠢的东西放入数据库中。

无论是数据库的用户向提供商付费并进行操作,还是操作者本身允许将某些内容作为操作的一部分输入而不将成本转嫁给用户,都是无关紧要的。这些愚蠢的事情只以数字形式存在,因为在某种程度上,这样做是要付出成本的。

在这方面,比特币与任何其他数据库根本没有什么不同。唯一的区别是,没有单一的所有者或看门人来规定什么是允许的,什么是不允许的。比特币数据库副本的每个所有者都可以允许或不允许他们想要的任何东西;问题是,如果他们选择拒绝其他人都认为可以接受的事情,他们就会与其他人失去共识。他们的本地数据库不再与其他人正在关注和使用的全局虚拟数据库同步。

如果您发现某些数据库条目不可接受,请务必更改本地副本验证新条目所依据的规则。但这就是割掉你的鼻子来侮辱你的脸。归根结底,比特币遵循一个简单的公理:付费玩。如果人们支付费用,他们就可以玩。这就是它的工作原理。

归根结底,这完全取决于每个人他们想要在数据库中允许或不允许什么,但纵观目前正在进行的所有语义和哲学辩论,有一点仍然毫无疑问且客观正确:比特币是一种数据库。

© 版权声明

相关文章