区块链研究实验室|如何使用DNS构建无成本的区块链数据库

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:28   2598   0

区块链不仅是一个流行词。它也不限于加密货币和比特币。凭借其创造透明度和公平性的能力,这项技术正在革新各个领域。应用范围从跟踪系统到保护数据,再到执行在线投票系统。它可以帮助实施反洗钱跟踪系统,或者简单地跟踪您在商店购买的产品的来源。

就像信息科学中经常发生的那样,许多区块链平台管理着所有的复杂性,使我们可以像保存一个简单的数据库一样简单地保存数据。

在本文中,我想实现一个区块链数据库,以了解此类解决方案的关键要素。而且,为了使其更具挑战性,我将在不使用任何数据库或服务器的情况下做到这一点。

该解决方案可以轻松地使您拥有可以验证并安全存储的不可变数据。

这篇文章的结构如下:

什么是区块链数据库及其使用方式

如何仅使用DNS服务来实现区块链

让我们开始吧!

什么是区块链数据库以及如何使用

像往常一样,我们可以从Wikipedia定义开始:

“A blockchain,[ ...],是一个越来越多的记录,称为块,正在使用链接加密。每个块都包含前一个块的加密哈希,即时间戳[..]。通过设计,区块链可以抵抗其数据的修改。这是因为一旦记录,任何给定块中的数据都不能追溯更改,而无需更改所有后续块。

“对于用作分布式总账,一个blockchain通常由管理对等网络的网络共同地粘附到协议用于节点间通信和验证新块”。

换句话说,区块链的主要特征是:

通过将一条记录连接到上一条记录来存储数据

做到这一点,因此您不能在不使所有数据顺序不一致的情况下更改一条记录

将数据存储在分布式数据库中

那么,如何创建呢?

我想的是,一个节点的链或多或少是一个链表,其中每个块都有一个不可变的哈希。完成此操作后,您只需要一个安全的分布式数据库即可存储数据。什么是古老的分布式数据库?好吧,每个人都有一个分布式数据库,没人知道!我说的是DNS。是的,它是分布式的,它存储数据。每个人都有一个DNS服务。我意识到这不是预期的用途,但让我们一起玩吧。

该协议的工作流程是受信任的机构将数据写入DNS。每个记录都有一个唯一的键,该键是内容的哈希值。这意味着,通过更改数据,您将更改ID,并且指向该ID的所有子代都将不一致。此外,DNS协议是分布式的,因此许多服务器之间共享数据的许多副本,这意味着您的一个DNS将脱机,而另一个将继续为数据提供服务。还请考虑DNS被广泛缓存,这使您的通信性能高(使用不可变数据缓存永远不会成为问题)。

该系统使用所有公司都已经拥有的DNS作为存储,因此无需任何额外费用。DNS本身是一个分布式数据库。

现在我们已经定义了存储数据的位置,我们只需要了解如何存储数据即可。下一步是定义一个通信协议,使所有各方都可以扮演自己的角色。下图显示了流程。

DNS区块链工作流程。

在上图中,我们有:

在DNS上发布的推力实体。它是写作的关键-其他人可以写记录,但是它们是无法理解的。

一个消费者,即推力生产者和读取数据

数据,其 可以是任何JSON数据。您可以选择将其公开或不公开。

如何实施

现在我们知道该怎么做,并且已经有了启动该工具的工具,我们只需要使用源代码即可。

为了使用DNS实现区块链,我们必须面对一些重要问题:

DNS限制-DNS并非旨在存储大数据。我们想使用TXT记录,但是它们只有254个字符。如果我们要存储一个大的JSON对象,这是一个很大的限制。

安全性-即使我们想保持数据公开,DNS使用的UDP协议也存在问题。它没有经过加密,并且没有像HTTPS协议中那样可以推动授权的证书机制。

数据是按设计公开的—这可能是一个问题。

所有这些方面都有一个解决方案,并且您将看到,它很容易实现。实际上,通过使用加密技术和独创性,我hn/ 9."/*o9ceIXN*9l9km9ky"y.cj9$y.yaiyl9k/a+"yc 9.*e8k!9l$zal9k M MkeN/a$y.n!m)"yb:-' $y."y.)9yXNl!k9m99k$9l#genm. 9. 9b9k) b& 9.*kI/o'9kykl9kb9kd#/ogk'9kz/c9b9k /-*+9oez`m*9.b9kl9k.#yd#9kx+y+ 9aly./ac"y"y"yky.cz o  ,9k`9"ykeec9+ya$y/o.9)b8/!$y.)b,9."*"yb:-'XNg*9."gh. yy.+I$y."f9`9g*"yb:-'+yb9kl9kd:)x+j9l!/oz)Id#l!am.)l9k . y.+y.y+#XN 9c+leyo 9l9kfa9b9izj8 g*9."*. yy.+I$y/.k9$9l9k$9izj XNg*9."*. yy.+I$y.m!z+"XN-$y.9$9."yale+#`$y.,y"y.l!l9kkf9`9g*e+y`9"z+k+ cl!yfj9/g9l9knm/9.co: j#/a.mggii8g*9.yo#9l9k i9$y.n!kyaj9.#ycl9kb&z)b9+*9!9c.gel$y#+y/o 9.*h.ge i/eIl'z+#ybyfj9c.gegn.9"z-$yn#9&fy/&.$y..gel#c

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP