区块链研究区块链开发区块链资讯

区块链钱包开发底层数据库是怎样的?

2019-01-14  本文已影响5人  edcc5469dba8

        区块链钱包开发底层数据库是怎样的?广义的区块链技术,必须包含点对点网络设计、加密技术应用、分布式算法的实现、数据存储技术的使用等4个方面,其他的可能涉及到分布式存储、机器学习、VR、物联网、大数据等。狭义的区块链仅仅涉及到数据存储技术,数据库或文件操作等。

区块链钱包开发底层数据库

  区块链的操作需要使用数据,并且该数据也作为区块链的一部分进行存储。例如,当将资产从一个节点传送到另一个节点时,传送的数量以及发送者、接收者和传送时间就得以存储。因此,将区块链作为数据库,借助区块链所带来的优势,这一选择是十分吸引人的。

  问题在于,将区块链用作数据库的结果是极糟糕的,根据传统的数据库标准衡量:其工作量仅仅是每秒(tps)几笔交易,单个确认写入之前的延迟时间是10分钟,容量为几十GB。此外,添加节点导致了更多的问题:随着节点加倍,网络流量增加了四倍,工作量、延迟时间或容量无法得到改善。此外,区块链本质上没有查询功能。

  这怎么可能工作?采取启用单独的数据库并为该数据库添加区块链功能的模式,而不是使用区块链作为数据库。

区块链钱包开发底层数据库

  在内部,使用一致性算法(BCA)连接的两个分布式数据库S(交易集或 backlog)和C(区块链)。BCA在每个签名节点上运行,并由签名节点形成联合。非签名客户端可以连接到区块链,并且可以根据许可权限读取、发布资产,传输资产等。

  每个分布式数据库S和C均为现成的大数据数据库。不干扰它们的内部工作,所以可以利用这两个数据库的可扩展性属性,以及如版本控制等功能,战斗测试代码等优势。每个数据库运行其自己内部的一致性算法来保持一致性。

  如何使用区块链构建数据库解决方案

  如果由于某种原因用户想使用不同的数据库作为基底要怎么办?提供了一个服务提供者接口(Service Provider Interface),可用于插入其他数据库。该接口用来在之上进行整合及操作,该接口也可以用用来对任何其他数据库进行同样的操作,无论是关联型或密钥存储或任何其他类型的数据库。

  然而,当前在数据库领域存在功能融合的趋势,特别是对数据库领域重新出现的兴趣以及转向SQL作为查询的标准均有可能提出一种解决方案。

        本文链接:http://www.a6shop.cn/wiki/1193.html

上一篇下一篇

猜你喜欢

热点阅读