当前位置: 首页 > 科技观察

区块链:取代数据库的不可变分类账

时间:2023-03-15 14:50:25 科技观察

在上个世纪,纸质库存和分类账让位于功能强大的电子数据库,使IT管理员能够搜索、分类、共享和移动记录及相关信息。但传统数据库有其局限性。例如,数据库是一个独立拥有的服务。企业负责部署、构建和管理其数据库及其包含的数据。然后,企业可以使用这些数据,将其出售或与数字经济中的其他企业共享。拥有数据库的企业可以完全控制其设计、内容和可用性,而数据用户则完全依赖于数据和数据库所有者的完整性,通常被称为“可信权威”。随着世界变得越来越紧密联系并依赖于数据和数据共享,传统数据库的局限性给安全性和信任带来了挑战。这些限制推动了分布式电子数据库系统的发展。该技术旨在通过在企业或政府等多个独立利益相关者之间分发和同步数据来实现信息民主化。该系统最常见的例子是区块链。什么是区块链?区块链于2009年推出,是一种电子数据库,也称为不可变分类账,其中包含记录和分类账条目等重要信息。但是区块链技术增加了传统数据库没有的特性和功能。首先,区块链系统跨对等(P2P)网络运行,其中每个网络对等点共享计算/网络负载并维护数据的完整副本。随着越来越多的节点进入网络,更大的系统会扩展以处理更多创纪录的流量。更多的节点也意味着区块链数据库的可用性和容错性更高。其次,不可变账本(数据库)的内容都是相关的或链接在??一起的。添加到分类帐中的每条记录或每组记录代表一个数据块。每个块都链接到前一个块——通过包括加密哈希、时间戳和交易元数据。因此,每个块都链接在一起,形成一个不断增长的块(或区块链)“链”,以创建安全且不可变的记录。如果不更改加密哈希和后续块中的所有哈希,则无法更改记录。密码学和块相互关系的结合使区块链数据库高度安全。传统数据库可以临时更改记录,而区块链数据库只能写入数据。这是安全和完整性机制的重要组成部分:在区块链中数据可以更改,但只能通过编写新的可追踪和可审计的块来更改。因此,您始终知道更改了哪些数据、何时、为何或由谁更改。区块链如何运作区块链通常与金融交易相关,主要是比特币或以太坊等加密货币交易。与SQL或任何其他数据库格式一样,区块链可以应用于无数的垂直领域和用例,而不仅仅是金融行业。让我们看看基本的区块链流程。请求将新数据块写入区块链。该请求被广播到参与区块链的所有节点。参与区块链的每个节点都根据算法检查哈希以验证交易。每个节点执行工作量证明过程以就新区块的有效性达成共识,如果共识成功,则将区块添加到链中。在我们的例子中,假设一家企业想要创建一个不可变的、可审计的服务器事件和整个企业错误的日志。每个服务器通过网络将日志条目传递到公共日志服务器。每个块可能包含一系列详细信息,包括以下内容:原始服务器名称和地址;目标或日志服务器名称和地址;日志条目的错误、事件和其他详细信息加密是使每个区域块都独一无二的核心。块被分配一个加密散列(专门为其数据生成),以及前一个块的散列。哈希值就像数据的指纹;它是通过数学算法计算的一系列十六进制数。该算法为每个块生成一个唯一的哈希值(指纹)。如果你在一个块的任何地方改变一个位,它的散列就会变得完全不同。本块调整后的哈希值也传递给下一个块,并与下一个块一起记录。这个过程创建了一系列不仅相关而且不可分割的块。如果黑客更改了一个位,记录的区块哈希值将与区块的新哈希值不匹配,区块链将提醒管理员。但是这个变化不仅仅影响那个块(块A)的哈希值:新的哈希值与后续块(块B)的哈希值不匹配,因此使块B的哈希值以及每个后续块的哈希值无效块(块C、D等)无效。这种相互关联的密码学使区块链数据库极其安全,并且是一个强制执行不变性的系统。但是散列本身不足以保证完全的安全。现代计算能力有时使黑客能够在几分钟内重新计算并插入新的哈希值,以部分或完全隐藏他们的篡改。区块链数据库通过对每个块执行耗时的计算过程来故意延迟块的创建。这种称为工作量证明的技术需要在将块添加到区块链之前执行和验证计算。典型的交易最多可能需要10分钟才能完成每个区块。这意味着黑客需要大量时间来篡改范围广泛的区块链。在不被发现的情况下破解和重新验证整个区块链的可能性非常小。分布式P2P网络还保护不可变的分类账。参与数据库的每个系统或节点都托管区块链的完整副本。每个节点在将块添加到该节点的副本之前验证每个块。所有参与节点都需要达成共识来确定哪些区块是有效的。如果节点确定某个块无效或已被篡改,则它会拒绝该块。因此,当攻击者从一个节点成功入侵区块链时,其他参与区块链的节点将识别并拒绝攻击者。区块链版本区块链自首次推出以来不断发展,以支持更广泛的应用程序和用例。该技术有三个主要版本。区块链0是该技术的最早版本,主要侧重于金融交易。Blockchain0扩展功能以支持“智能合约”以取代传统的纸质合约。区块链中的小程序创建、验证、监控和执行协议条款和条件。这种类型的区块链越来越多地用于供应链管理操作,涉及商品的采购、销售和运输。Blockchain0提高了互操作性和可扩展性,以支持称为dApp的去中心化应用程序。dApp运行在去中心化P2P网络的后端;区块链在前端处于活动状态以调用在后端运行的dApp。区块链也可以分为公共、私人或合作伙伴关系。公共区块链可供任何企业或用户使用,它允许任何人向链中添加数据块。私有区块链旨在用于单个企业,或更狭义地用于特定团队或人员,但数据库通常可供企业中的任何人查看。合作伙伴区块链支持共享交易的组织,例如政府机构。具有广泛区块链用例的垂直行业使用区块链技术来完成各种任务。区块链的常见用例包括:金融业。区块链最早的部署者之一是金融市场,它使用区块链技术进行记账,以取代传统的电子账本、加密货币支付以及其他市场交易和清算。政府。政府使用区块链来保存和提供契约和公共记录等文件。供应链。市场使用区块链来交换数据、支持计费、管理配额以及跟踪商品和服务的交换。医疗保险。医疗保健行业使用区块链来保存和保护患者数据、收集数据进行分析、处理医疗保健支付以及安排和提供医疗保健服务。技术。区块链越来越多地用于基于技术的用例,包括智能网络,例如智能城市中的网络。它还为无人机等物联网设备收集和处理数据,从而实现自动驾驶汽车、机器人、超级计算机和分析。区块链的好处区块链技术为企业和关键业务数据带来了重要好处。安全。区块链采用密码学、不变性和分布式结构,这意味着区块链数据库几乎不受黑客攻击、欺诈和其他恶意行为的影响。可靠地检测并拒绝非法数据更改。灵活性。区块链是一种分布式技术:参与数据库的每个节点共享数据库的完整副本,每个节点都会在发生变化时进行验证。这种共识不仅增强了安全性,而且如果一个节点发生故障或受到攻击,例如分布式拒绝服务,其余节点可以继续运行。攻击者很难攻击并禁用每个节点。更快的业务。通过所有有权访问分类帐的利益相关者都可以使用公共数据集,区块链数据库通常可以消除传统的手动验证和交易结算时间。这有助于显着加快某些财务和合同业务运营。合规与治理。区块链数据的不可变性和时间顺序性质本身可以被审计以维护业务或行业合规性,并作为整体业务治理的关键要素。透明度。随着对全球业务普遍信任的需求增加,公共区块链交易的可见性和不变性可以帮助建立并确保对数据公平和准确的信任。区块链复杂性的局限性。区块链安全性会带来额外的复杂性。考虑分布在全球业务合作伙伴和实体之间的节点和数据库副本的数量:这给网络和流程带来了额外的负担。区块链技术仅适用于对安全最敏感或任务关键的数据库用例。交易速度较慢。一个块可以包含大量数据,执行工作证明和在所有节点之间达成共识所需的时间会减慢数据输入的过程。一些节点将某些类型的交易优先于其他类型,防止可能导致问题的积压。能源效率低下。对工作量证明的越来越多的抱怨是系统需要大量的能量和时间来在所有相关节点上执行工作量证明,但所有这些计算工作几乎没有好处。数据库大小。需要跨节点复制和同步区块链数据库,这使得IT专业人员很难及时引入和同步新节点。随着区块链变得越来越大,创建和维护它们变得越来越困难。可扩展性。由于工作量证明操作,区块链不能很好地扩展,因为块添加过程很慢。每个块可以存储有限数量的数据,并且在给定的时间段内,只能将有限数量的块附加到区块链。这限制了区块链数据库的可能大小。最终,区块链和不可变分类账技术不太可能成为所有企业数据库应用程序的合适替代品。业务领导者应该采用和部署最适合业务需求的数据库平台。