Hi 游客

更多精彩,请登录!

比特池塘 区块链茶馆 正文

区块链链下数据存储解决方案

再见拉登揪
54 0 0
随着这种区块链越来越受欢迎,越来越多的信息被存储在链中,以至于其性能受到阻碍。这就是链下存储的用武之地。
关于链存储的问题:
一旦区块链变得流行并且网络内的连接越来越多,数据传输的增加就变得不可避免。当存储在链上的数据相对较小并且请求相对较低时,网络能够轻松地处理事务(以及存储发送者细节的一些开销空间)。一旦大量数据被抛入混合中,并且请求和事务量增加,问题就开始发生。每个节点最终都必须存储大量信息,网络的带宽导致传输变得迟缓,以及相关的账单变得边缘荒谬。即使他们不想访问数据,每个节点也必须存储数据。这种存储方法的可行性很快变得不切实际,提出问题…有更好的选择吗?
解决方案:
我们希望能够利用区块链分散的数据公证,而不会堵塞每个节点HD并花费昂贵的费用来支付带宽。与链共享的数据可以存储在“离线”的位置,只有在需要时才能访问。虽然这个想法非常简单,但它的应用却稍微复杂一些。以下是维护区块链公证方面所需的其他细节:
数据通过“哈希函数”传递,将源(假设无限量的比特)转换为精确256位(哈希)的字符串。这些位由大约80位数字表示,并且对于数据源是完全唯一的。如果源数据完全相同并再次通过散列函数,则它将生成完全相同的散列。如果它被改变了,那么两个哈希将完全不同。可以比较这两个结果以验证源数据是否被篡改,从而消除了欺诈行为。这些散列函数只能以一种方式工作,这意味着从散列中获取原始源数据在计算上是不可行的。
然后将散列存储在网络中的每个节点上而不是原始数据上,占用的空间比以前少得多。每个节点都可以通过将数据放入散列函数并将结果与网络中提供给它们的散列进行比较来验证数据。
当用户希望下载数据时,他/她可以从网络提供的散列中找到数据源。一旦通过散列(时间戳等)提供的信息找到用户/数据库,他们可以假设地建立“对等”网络,就像您之前使用的服务(如Napster和BitTorrent)一样。一些数据存在这种传输的服务,例如IPFS,但需要另一个程序才能与区块链一起运行。
一旦数据被传输,双方和所请求的系统上的任何其他节点都可以验证该数据的真实性,提供区块链技术的公证,而不需要花费不必要的时间,金钱和存储空间。
哈希函数的示例:
下面是几个散列函数的例子。第一个是从数据创建32位散列的Javascript代码片段,第二个是描述“C”中典型的256位区块链散列算法的代码。目前最流行的哈希算法称为SHA-256。您可以在此处查看此功能的工作版本。


现在回来总结一下链下存储:
这种存储理念可以提升到一个新的水平,以消除这种直接点对点传输带来的一些麻烦(例如原始源丢失,破坏或无法访问)。一种选择是将原始数据源拆分为原始计算机上的块,然后通过散列函数对其进行加密。然后,这些组块在链中的节点之间分布并由网络验证。当发出对数据的请求时,发送块查询以找到所有块,并且用户可以选择从具有最强连接的节点下载每个块。如果未找到块,则将其添加到队列中并稍后再次尝试。如果接收的块通过散列函数传递并且不匹配则返回,并且用户将搜索存储该块的另一节点。这种方法非常快速,并且在请求的瞬间发生,并且为网络提供了一些非常需要的呼吸空间,并且可以由诸如MultiChain的应用程序执行。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

再见拉登揪 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    4