首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >去中心化数据库是如何工作的?

去中心化数据库是如何工作的?
EN

Stack Overflow用户
提问于 2018-02-06 18:59:47
回答 5查看 643关注 0票数 2

从技术角度看去中心化数据库是如何工作的。

一般来说,我知道所有用户都有自己的数据副本,并且以某种方式同步。

但是这个同步逻辑完全不清楚客户端是否发送http请求,或者发生了什么?

任何建议,阅读什么或如何更深入的主题是高度赞赏

更新===================

感谢所有人的好回答,我想把问题说得更窄一点它说区块链是不公开的,没有人拥有,所以没有公共服务器

那么,是什么让我感到困惑呢?例如,我有一个数据库的副本,另一个人有相同的数据库,但在我们都没有任何公共in的情况下,我们如何才能同步?

在我看来,如果至少有人拥有公有IP,那就已经不是完全去中心化了。

EN

回答 5

Stack Overflow用户

发布于 2018-02-22 03:34:09

逻辑:从事务计算状态

分散式系统/数据存储通过计算状态来工作,其中状态是您希望从数据库中使用的实际数据。

比方说,你通过两个插入/更新查询对数据库进行了修改,系统实际上接受了这两个查询,并将它们作为事务存储在数据库中,这些事务将在节点之间同步(网络中的其他机器使其分散)。并且该另一个节点将基于同步的事务再次计算状态,并将其更新到数据库。

让我们通过一个例子来理解这一点:

考虑一个电影票务系统。同一大区将在多个供应商网站中列出。

  • 认为电影院有100个座位(有100个座位)。
  • 说有两个供应商。BookMyShow和TicketNew。

下面是从time t1到t9网络上发生的事务列表。

  • Transaction (T1) - At time(t1)有人在BookMyShow.
  • Transaction ( t2 )上购买了10张彩票- At time t2其他人在BookMyShow上又购买了3张彩票。

在BookMyShow数据库中,的状态最初将是100张未保留的门票

经过这2笔交易(T1和T2)状态将是=> ,剩余87个座位,预订13个座位。(因此,BookMyShow的数据库将包含此信息。)

现在,BookMyShow将把这两个事务T1和T2添加到所谓的(这通常是事务列表和一些其他参数) B1中,并将其发布到网络。另一家供应商TicketNew将此数据块B1同步到他的计算机上,现在就知道发生了这些事务。现在,TicketNew供应商的机器将通过理解事务开始计算票务系统的状态。

initially.

  • 10
  • 100门票在T1 =>中预订90个座位剩余
  • 3在T2 =>中预订87剩余

更新到TicketNew的数据库=>剩余87个座位,预订了13个座位

类似地,T3、...T6事务发生在时间T3,...TicketNew供应商网站上的t6。这些事务将被添加到另一个块B2 by TicketNew并推送到网络。BookMyShow同步区块B2并更新其数据库中的状态,即现在已预订了26张门票,74张是免费的。

同步数据块前的

  • 87门票。
  • 4在T3 =>中预订83个座位剩余
  • 2在T4 => 81中预订剩余
  • 6在T4 => 75中预订<

>H1481在T4 => 74数据库中预订数据库剩余74个座位,预订26个座位<代码>F252

票数 3
EN

Stack Overflow用户

发布于 2018-02-21 12:45:46

去中心化数据库的具体工作方式取决于它的实现。

CouchDB是一种分布式数据库的一个例子。它们使用CouchDB Replication Protocol通过HTTP/1.1在两个对等点之间同步JSON文档。

Couch DB基本上使用incremental replication进行同步。你可以阅读更多关于它的内容。

Hyperledger Fabric是国际商用机器公司推出的一种区块链,它使用Couch DB作为ledger state database

票数 0
EN

Stack Overflow用户

发布于 2018-02-21 23:17:14

像区块链那样的去中心化数据库,无论是超级账本还是比特币,都是一种EventSource/CQRS实现,账本只附加EventSource,并通过一致协议同步到其他节点,每个节点回复事件日志并获取一个状态数据库进行查询,如hyperledger使用couchdb或leveldb作为状态数据库。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48641416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档