什么是区块链?
区块链看起来很复杂,当然也可以,但它的核心概念其实很简单。区块链是一种数据库。要理解区块链,首先要理解数据库实际上是什么。
数据库是以电子方式存储在计算机系统中的信息集合。数据库中的信息或数据通常是以表格式构造的,以便更容易地搜索和筛选特定信息。使用电子表格存储信息与使用数据库存储信息有什么区别?
电子表格是为一个人或一小群人设计的,用于存储和访问有限数量的信息。相比之下,数据库的设计目的是容纳大量的信息,这些信息可以被任意数量的用户同时快速、轻松地访问、过滤和操作。
大型数据库通过在由功能强大的计算机组成的服务器上存储数据来实现这一点。这些服务器有时可以使用成百上千台计算机来构建,以便具有许多用户同时访问数据库所需的计算能力和存储容量。尽管电子表格或数据库可以被任何数量的人访问,但它通常由企业拥有,并由指定的个人管理,该个人可以完全控制电子表格的工作方式和其中的数据。
那么区块链与数据库有何不同呢?
存储结构
典型数据库和区块链之间的一个关键区别是数据的结构方式。区块链以组(也称为块)的形式收集信息,这些组包含一组信息。块具有一定的存储容量,填充时,链接到先前填充的块上,形成称为“块链”的数据链。新添加的块之后的所有新信息被编译成新形成的块,填充后也将添加到链中。
数据库将其数据构造成表,而区块链(顾名思义)将其数据构造成链接在一起的块(block
)。这使得所有的区块链都是数据库,而不是所有的数据库都是区块链。当以分散的方式实现时,这个系统还固有地形成了一个不可逆转的数据时间表。当一个块被填满时,它被放在石头上,成为这个时间线的一部分。链中的每个块在添加到链中时都会给出一个精确的时间戳。
事务处理
加密货币的属性
分权
为了理解区块链,从比特币是如何实现区块链的角度来看待区块链是很有启发性的。像数据库一样,比特币需要一组计算机来存储其区块链。对于比特币来说,这个区块链只是一种特定类型的数据库,它存储了曾经进行过的每一次比特币交易。就比特币而言,与大多数数据库不同的是,这些计算机并非都在一个屋檐下,每台计算机或计算机组都由一个独特的个人或个人组操作。
想象一下,一家公司拥有一台由10000台计算机组成的服务器,其数据库保存着客户的所有帐户信息。这家公司有一个仓库,在一个屋檐下存放所有这些计算机,并完全控制每台计算机以及其中包含的所有信息。同样,比特币由数千台计算机组成,但持有其区块链的每台计算机或计算机组位于不同的地理位置,它们都由不同的个人或人群操作。这些构成比特币网络的计算机被称为节点。
在这个模型中,比特币的区块链是以分散的方式使用的。然而,私有的、集中的区块链确实存在,构成其网络的计算机由一个实体拥有和操作。
在区块链中,每个节点都有一个完整的数据记录,这些数据从一开始就存储在区块链上。对于比特币而言,数据是所有比特币交易的全部历史。如果一个节点的数据中有错误,它可以使用数千个其他节点作为参考点进行自我更正。这样,网络中的任何一个节点都不能改变其中保存的信息。正因为如此,构成比特币区块链的每个区块的交易历史是不可逆转的。
如果一个用户篡改了比特币的交易记录,那么所有其他节点将相互交叉引用,并很容易用错误的信息确定节点。这个系统有助于建立一个准确和透明的事件顺序。对于比特币而言,这些信息是一个交易列表,但区块链也有可能持有各种信息,如法律合同、国家标识或公司产品库存。
为了改变这个系统的工作方式,或者改变存储在其中的信息,分散网络的大部分计算能力需要同意这些改变。这确保了无论发生什么变化,都符合大多数人的最佳利益。
透明度
由于比特币区块链的分散性,所有交易都可以通过个人节点或使用允许任何人实时查看交易的区块链探索者进行透明查看。每个节点都有自己的链副本,在确认和添加新的块时,该副本会得到更新。这意味着,如果你愿意,你可以跟踪比特币的去向。
例如,交易所过去曾遭到黑客攻击,在交易所持有比特币的人失去了一切。虽然黑客可能完全匿名,但他们提取的比特币很容易追踪。如果在这些黑客攻击中被偷走的比特币被转移或花在某个地方,这将是众所周知的。
区块链安全吗?
区块链技术从几个方面解释了安全和信任问题。首先,新块总是按时间顺序线性存储。也就是说,它们总是被添加到区块链的“末端”。如果你看看比特币的区块链,你会发现每个区块在链上都有一个位置,叫做“高度”。截至2020年11月,区块的高度已经达到656197个区块。
在区块链末端添加一个区块后,除非多数人达成一致意见,否则很难回去更改区块的内容。这是因为每个块都包含自己的哈希,以及它前面的块的哈希,以及前面提到的时间戳。散列码是由一个数学函数创建的,该函数将数字信息转换成数字和字母的字符串。如果以任何方式编辑该信息,哈希代码也会更改。
这就是为什么这对安全很重要。假设一个黑客想要改变区块链,从其他人那里窃取比特币。如果他们改变自己的单一副本,它将不再与其他人的副本一致。当其他人互相交叉引用他们的副本时,他们会发现这一个副本很突出,黑客版本的链将被视为非法而丢弃。
成功地进行这样的黑客攻击需要黑客同时控制和改变区块链51%的副本,以便他们的新副本成为多数副本,从而成为商定的链。这种攻击还需要大量的资金和资源,因为它们需要重做所有的块,因为它们现在有不同的时间戳和散列码。
由于比特币的网络规模及其增长速度,完成这一壮举的成本可能难以逾越。这不仅会非常昂贵,而且很可能是徒劳的。做这样的事情不会不被注意,因为网络成员会看到区块链发生如此剧烈的变化。然后,网络成员将转向未受影响的链的新版本。
这将导致被攻击版本的比特币价值暴跌,使得攻击最终毫无意义,因为坏人控制了一笔毫无价值的资产。如果坏人攻击比特币的新分支,同样的情况也会发生。它是这样建立的,因此参与网络比攻击网络更有经济激励。
比特币与区块链
区块链的目标是允许数字信息被记录和分发,而不是编辑。区块链技术最早由Stuart Haber和W.Scott Stornetta于1991年提出,这两位研究人员希望实现一个文档时间戳不能被篡改的系统。但直到近20年后,随着2009年1月比特币的推出,区块链才有了第一个真实世界的应用。
比特币协议建立在区块链之上。比特币的假名创造者Satoshi Nakamoto在一篇介绍数字货币的研究论文中称,比特币是“一种完全对等的、没有可信第三方的新型电子现金系统”
这里要理解的关键是,比特币仅仅使用区块链作为透明记录支付分类账的手段,但理论上,区块链可以用于不可变地记录任意数量的数据点。如上所述,这可以是交易、选举投票、产品目录、国家身份证明、房屋契约等形式。
目前,有各种各样的基于区块链的项目希望以帮助社会的方式实施区块链,而不仅仅是记录交易。一个很好的例子是区块链被用作民主选举中的投票方式。区块链的不变性意味着欺诈投票将变得更加难以发生。
例如,投票系统的工作原理是,一个国家的每个公民都可以获得一种加密货币或代币。然后,每个候选人都会得到一个特定的钱包地址,选民会将他们的代币或密码发送到他们希望投票的候选人的地址。区块链的透明性和可追踪性将消除人类计票的需要,以及不良行为者篡改实际选票的能力。
除特别注明外,本站所有文章均为老K的Java博客原创,转载请注明出处来自https://javakk.com/1633.html
暂无评论