分布式数据库和离线网络中原子性问题的解决方法

2018-12-18 16:26 栏目:经验之谈 来源: 查看()
当我们在支付网络上进行交易时,我们希望100%确保交易完全完成并到达最终目的地,这样任何人都不会赔钱。为了确保其有效性,每个数据库事务应满足四个主要条件,即构成所谓的ACID模型。事务必须是原子的,一致的,隔离的和持久的。

分布式数据库和离线网络中原子性问题的解决方法

我们想谈谈其中一个特性——原子性。原子性意味着数据库事务必须遵循“全有或全无”规则。原子事务可以完全执行或根本不执行,这对于确保数据一致性至关重要。

在本文中,我们将研究在最新的分布式数据库和离线实现中解决原子问题的不同方法。

传统解决方案

让我们从分布式数据库中使用的解决方案开始。

·单阶段提交是实现原子性的最直接方法。事务管理器发送并且参与者按照指示进行更改。这种模式效率低下,存在许多固有的威胁和不足。
·两阶段提交更全面,因为每个事务分为两个阶段。首先,事务管理器查询每个参与者以确定是否应该提交事务。他们创建必要的临时条目并投票支持承诺。如果所有参与者同意付款,经理将向他们提交请求。
·三阶段提交版本将第一阶段分为两部分以提高安全性。经理也将首先要求参与者投票,但只有所有参与者同意他才会给出准备说明。然后参与者创建条目(分配)并确认他们为下一阶段做准备。最后阶段仅在经理收到所有确认后执行。

单个DB节点中的原子性由前馈分类器实现。当用户请求反映数据库中的事务时,该条目首先是持久的,然后写入磁盘分类帐。如果系统在进程中间失败,则可以在重新引导时回滚或从磁盘还原事务。

离线网络中的原子交易

Lightning Networks和其他离线网络使用各种特定解决方案来防止因交易过程中某人的错误而造成的财务损失。

HTLC

大多数最新解决方案都使用HTLC(Hash Timelock Contract)。它允许在锁定预设时间之前显示原始秘密,然后花钱。我们来看一下闪电网络中的交易流程。首先,接收节点生成秘密并计算其散列。然后将散列发送到发送方节点,作为生成HTLC的基础。发送方生成合同并将其发送到node1,即路由上的下一个节点,它使用递减的时间锁来创建合同(使用相同的散列)。这个新生成的合同进一步由node1路由到node2,node2再次重复该动作并减少时间锁定。它被传递给收件人,收件人在一开始就使用自己生成的秘密来签署资金(解锁付款)并从发送合同的节点接收资金。

HTLA

Interledger是一套开放的协议,用于通过各种书籍转账。传输可以以两种模式之一执行,:通用模式和原子模式。在通用模式中,原子级间书籍操作由HTLA提供,并且是HTLC的修改。即使区块链不支持HTLC,也可以使用HTLA。在这种情况下,连接器(负责路由的特殊计费节点)可以使用其他方法复制HTLC——条件支付渠道(使用HTLC),账户持有/托管(使用HTLC),简单支付渠道,信托线等,确保满足所有合同要求(如付款时间,金额,付款解锁条件)。

PM

Sprite通道是一个项目,它建议付费通道的新版本来解决一些与原子性相关的闪电问题。通过添加预映像管理器(PM),HTLC得到了显着升级。开发人员希望PM成为HTLC的仲裁员,并将合同到期决定委托给任何单个节点的软件。 Sprite频道应具有统一的合约到期日期。如果预览及时发布,所有争议都是可以接受的,因为一方无法及时发布地图,另一方无法释放。 (双方的有效期相同)但是,如果在错误的时间发布预览,则不会对付款产生争议。

HTLR

Celer网络是一种解决方案,可通过离线技术最大化通用区块链的大小和性能。在这里,PM已成为具有相同功能的哈希时间锁定注册表(HTLR)。 HTLR有两个从属端点: isterminate和QueryResult,最终可以合并。

公证人

在原子模式下,Interledger使用参与者选择的公证人来协调转移。公证付款与使用HTLC的闪电付款相似。唯一的区别是,在披露秘密之前,接收方节点必须将合同移交给公证人进行验证。公证人是从其一般登记册中随机选择的特殊实体,必须投票支持批准。

观察员

这个角色出现在GEO协议概念中,它为解决原子问题提供了一种新方法。项目团队正在创建一个分散的点对点链,允许交换资产。如果参与者在进行交易时遇到问题,则会涉及观察者。观察者不能影响交易的方向并改变它们中的任何一个。它们不用于验证每个事务,只是干预用户的请求。

GEO使用类似于两阶段提交的框架进行常规交易。所有参与者都必须签署一些内容,例如准备付款,如果每个人都有签名列表,付款将被执行。如果其中一个参与国家表示没有文件,观察员将在两个阶段之间采取行动。在这种情况下,观察者从任何节点获取签名列表并将其发送给所有参与者,或者在交易不可能且事务在适当时间到期时不执行任何操作。

分散网络的原子发展是由新概念驱动的,每个概念都有自己的优点和缺点。

·散列时间锁合同的优点是减少节点脱机时的丢失以及发送方和接收方的安全性。问题是必须在渠道中冻结资金,参与者必须经常上网以避免损失。
·HTLC已经过修改以获得HTLA。 HTLC可以在不同的注册中心使用,以解决节点离线的问题。

·新的解决方案是观察员和公证人。在实施时我们应该非常小心,因为观察员/公证人的集中可能会损害网络,但正确设计的系统可能会将其分散。


微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发