当前位置:首页 > 物联网 > 区块链
[导读] 对于传统数据库,区块链支持完全不同的范例。在计算历史中,我们第一次拥有了一个数据存储,在这个数据存储中,我们可以绝对确定数据项的创建日期,并且可以绝对肯定该项没有被修改。我们如何将区块链的强大功

对于传统数据库,区块链支持完全不同的范例。在计算历史中,我们第一次拥有了一个数据存储,在这个数据存储中,我们可以绝对确定数据项的创建日期,并且可以绝对肯定该项没有被修改。我们如何将区块链的强大功能集成到数据库中?

数据库已经存在了很长时间,尽管已经发生了一些重大变革——例如关系数据库的出现和随后的NoSQL反革命——但是从开发人员的角度来看,数据库操作几乎没有什么变化。

通常,应用程序创建一个数据记录,然后读取它,可能更新它并最终将其删除。这个创建-读取-更新-删除周期被称为方便的缩写“CRUD”。CRUD说明了数据库存储的短暂性——数据被创建、修改和删除。更新会销毁旧版本的数据,一旦删除,数据库记录将永远消失(除非我们完全恢复数据库的旧版本)。

此外,我们已经非常习惯于这样一个事实:数据库对交易的完整性提供了有限的保证。有特权的开发人员几乎总是可以复盖数据记录,甚至可以将时间戳设置为他们选择的任何记录。在数据库技术中没有内在的方法来保证数据元素没有被复盖。

区块链数据存储

区块链支持完全不同的范例。在最初的比特币区块链中,防止重复使用比特币的必要性是至关重要的,绝对有必要永远保存每笔交易的记录。

因此,区块链提供了一个仅限追加的不可变分类账,一个相对简单的数据库,其中可以添加数据元素,但不能删除或修改。比特币的工作证明算法和连续的区块链之间的加密链接使得篡改成为不可能。

因此,在计算历史上,我们第一次有了一个数据存储,我们可以绝对肯定一个数据项的创建日期,并且可以绝对地肯定该项没有被修改。这是一场真正的革命!

不幸的是,我们不能把区块链作为通用的数据存储区来使用。与传统的数据库相比,它简单、太慢、昂贵且笨拙。例如,比特币区块链每十分钟就会产生一个新的区块,每秒只能处理27个交易,如果将其用作传统的数据存储,每千兆字节将耗费数百万美元。

如何集成区块链功能

如果我们确实想将区块链功能集成到现有的数据库应用程序中,我们有两条路可走:

1.构建新的数据库技术,集成区块链的概念,但仍然可以提供经济性能。

2.在数据库和现有的区块链之间创建集成层。

一些早期的尝试是建立在区块链基础上的新数据库系统。不幸的是,它们不是“两全之优”,而是冒着“两全之劣”的风险:与现有数据库相比,它们更难以使用,功能也更差,而且没有以太坊和比特币等公共区块链提供的强大完整性保证。

目前,我们只能通过集成层获得两个世界的最佳解决方案。

幸运的是,有一些技术模式允许我们维护数据库记录的不可变副本,并将它们锚定到区块链上。

记录结构的Merge树和Merkle树

首先,我们可以将数据构造为日志结构的Merge 树(LSM)。在日志结构化Merge 树中,所有数据(包括删除和更新)都作为插入树中的插入处理。删除插入一条“tombstone”记录,该记录指出数据项已被删除。更新会原封不动地保留旧记录,只需插入一个新版本。

我们可以使用的第二个数据结构是Merkle树。Merkle树是一个哈希树,连续的哈希对本身进行哈希运算,直到获得单个根哈希。这个哈希可以用来验证数千个任意大小的数据元素的完整性。如果我们将这个根哈希存储在区块链上,那么这个根哈希就可以用来证明单个区块链交易中任意数量的数据库元素的完整性。

因此,如果我们将数据库模式实现为日志结构化Merge树,则可以使用Merkle树将数据库状态锚定到区块链。这样我们就拥有区块链不变性的所有优点,以及我们选择的任何数据库的强大功能。

如果这听起来工作量很大,那你就对的。但是,不要绝望。在ProvenDB中,我们已经将这个集成层构建到MongoDB中。使用ProvenDB,您可以照常使用MongoDB,但是在幕后,我们维护了LSM结构,并允许您访问区块链的完整性和时间戳证明。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭