DAG的初学者终极指南(下)

 空投币   2020-01-24  来源:互联网  0 条评论
优质活动 币圈快讯 平台公告 行情分析
最新羊毛 最新空投 链圈挖矿 活动线报
新币上市 币圈空投 国外项目 币链屋
提醒:本站内容均转自网络,仅用于开发者下载测试,请明辨风险,若涉资金安全及隐私,请谨慎!谨慎!再谨慎!一切风险自担,涉及资金交易及个人隐私务必小心并远离,切记千万别投资,勿上当受骗。《本站免责申明》


今天,是DAG指南的最后一篇。到目前为止,我们讨论了DAG,随机漫步和各种Tip的选择机制(我们称未经核准的交易为Tips)。这次我们将谈谈钱。

批准人,余额和双花

现在该解释一下我们说的交易A 批准交易B的意思了。
如上所述,每个交易都包含“爱丽丝给鲍勃10个IOTA”形式的信息。这是审批工作,以确保爱丽丝真的有10个IOTAs用于支付。


在这一点上,您可能会感到奇怪:这些IOTA来自何处?答案是它们都是在Tangle的第一笔交易中创建的,称为创世 交易。永远不会创建其他IOTA。IOTA从创始以来,就按照其投入的金额,按比例转移到了项目的原始投资者的帐户中。之后,他们将部分IOTA卖给了其他人,并最终建立了交易网络。

回到爱丽丝和鲍勃,让我们看一个简单的例子。方框代表交易。为方便起见,我们还将交易前后的爱丽丝和鲍勃帐户中的余额记录下来。我们看到,一开始,爱丽丝给了鲍勃10 IOTA,然后鲍勃有了10 IOTA,爱丽丝一无所有。


图13(交易)

然后有人要付款,比如说这个人是查理。他运行 Tip 选择算法,结果证明他需要批准爱丽丝的交易。为此,他必须验证爱丽丝确实拥有10个IOTA。查理最好认真对待这个任务:如果他批准了一笔不好的交易,他自己的交易将永远不会被批准

绝对可以肯定,查理必须列出所有由爱丽丝直接或间接批准的交易,一直追溯到起源。他最后列出了一长串,看起来像这样:(注:IOTA简化为i)

创世纪创造15i
创世纪给鲍勃2i
创世纪给爱丽丝8i
创世纪给查理5i
查理给唐娜3i
鲍勃给爱丽丝2i
……

当然,这只是一种选择。爱丽丝帐户为:10i,Bob帐户为0的任何列表,都是可以接受的。查理还必须跟踪系统中的所有其他帐户,以确保它们不会低于零:如果“之前”或“之后”部分交易中的任何余额为负,则他的交易无效

让我们看一下爱丽丝试图提供比她所拥有的的更多的IOTA的情况:


图14

爱丽丝向鲍勃转了100i,进行支付,即使她只有10i。爱丽丝的交易以及任何批准该交易的未来交易,都被网络视为无效。不允许交易有负余额。

当我们批准两个事务而不是一个事务时,情况变得更加有趣:


鲍勃批准爱丽丝的交易是正确的,因为她的帐户中有足够的钱可以同时支付这两项而不会低于零。

如果支付总数超过她的余额总数会怎样?
如下所示。在这种情况下,Bob 无法批准Alice的两个交易,因为它们导致Alice的余额为负。如果Bob这样做,他将违反IOTA协议的规则,并且没人会批准他的新交易


图15

最后一种情况称为双重支付,即双花,因为爱丽丝花了两次钱。请注意,她没有违反协议,因为她有足够的钱进行每笔交易。也许她甚至都不打算花两次钱,但是错误地发送了两次交易记录。但是,她确实在Tangle 中创建了两个无法协调的分支。这给IOTA的忠实用户带来了一个问题:他们应该批准哪个分支?

解决这个问题的方法还是我们上一篇文章中提到的加权步行
最终,其中一个分支将比另一个分支权重更高,而权重较低的分支将被废弃。这也意味着:即使有批准者,也不能认为交易在发布后会立即被确认,因为它可能是分支的一部分,且最终将被放弃。为了确保您的交易被确认,您必须等待其确认可信度足够高

共识、确认可信度(Confirmation confidence)和协调员

我们刚刚提到了双花问题。现在,我们将展示如何在“Tangle ”中解决此问题,以及如何确定哪个历史有效
为了说明问题,我们将研究以下双重支付方案:


图16

正如你所看到的,爱丽丝有5i,其中她给查理和鲍勃各5i。这显然是一个问题:我们不能将这两项交易都视为有效。使用Tangle术语,我们无法批准这两个交易,因为这最终会导致Alice帐户中的余额为负数

我们已经了解到,使用加权随机漫步算法,最终分支之一将变得权重更高。因此,围绕哪个交易有效,形成共识。但是,从鲍勃或查理的角度来看,有一个问题:他们怎么知道自己是否真的从爱丽丝那里得到了钱

想象鲍勃和查理是恐龙经销商,爱丽丝向他们各自购买了一只宠物霸王龙。如果他俩在看到 Tangle中的交易后,都立即向她发送了霸王龙,则他们中的一个将发现他没有得到应得的报酬。他们怎么知道什么时候可以安全地运输霸王龙?

这是一个严重的问题,事实上,早在2009年,比特币第一个成功解决了该难题。为了展示Tangle的解决方案,我们引入了一种称为确认可信度(confirmation confidence)的概念。此可信度是交易Tangle其余部分可信程度的度量

交易的确认可信度计算如下:

运行Tip选择算法100次。
计算这100条Tip中,有多少条批准了我们的交易,并将其称为A。
我们交易的确认可信度为“百分比”。

换句话说,交易的可信度是批准交易Tip的百分比。并非所有的Tip都被平等地考虑;更合适的Tip被给予更多的重视。为了说明这一点,让我们为模拟添加确认可信度。可信度超过95%的交易周围带有粗框。


图17(使用确认可信度解决双重支付)

在上面的Tangle中,交易9由四个Tip中的两个Tip批准。如果我们使用统一的随机Tip选择,则其准确度将为50%。但是,批准该交易的Tip似乎比未批准该Tip的可能性更高,这会增加可信度。

现在很清楚,鲍勃和查理如何分辨:何时可以安全地将他们的霸王龙发送给爱丽丝。一旦爱丽丝的交易达到很高的可信度阈值(例如95%),就不太可能偏离共识。我们应该小心,说不可能,而不是不可能;如果爱丽丝想作弊,并具有足够的计算能力,则可以尝试双重支付

为此,她将向查理(而不是鲍勃)发出一笔支付查理的交易。她将不得不批准与此相关的两项旧交易,这些交易不会将她的付款转给查理。然后,她将开始发行尽可能多的交易,以尝试提高新分支机构的累积权重。如果她有足够的计算能力,则可以使整个IOTA网络相信她,并跟随她的新分支,从而重写历史记录,并成功地进行双重支付。如果我们查看她对鲍勃的交易的可信度,我们会看到它从95%下降到最终为零。

下图的Tangle中说明了这种攻击,随着时间推移:


(双花攻击)

如果爱丽丝可以发送的交易量,超过其他所有交易的总和或接近其他交易,则这种情况仅是一种风险。对于成熟且活跃的网络而言,这并不是主要风险,但对于当今的IOTA而言,这却是一个真正的问题没有足够的交易通过整个系统,以免网络受到集中的双花攻击的影响。

由于IOTA是为扩展而构建的,出于安全原因,我们采用了自愿临时两种不同的共识机制:协调器(coordinator)。


IOTA 每两分钟发布一次里程碑交易,基金会及其批准的所有交易,都将立即具有100%的确认可信度。使用协调员,爱丽丝的第二笔交易将永远不会首先获得批准。这是一种保护机制,同时IOTA网络将继续朝前方向发展,届时将使用完整的Tangle分布式共识算法*。届时,IOTA基金会将关闭协调员,让Tangle完全自行发展。网络不断迭代,当网络足够成熟以摆脱协调器时,IOTA网络也将立即变得更高效。

它与区块链有何不同?

DAG与区块链的不同之处在于:它改变了我们存储交易方式的固有结构


这种变化看起来似乎很小,但却改变了网络中发生的事情的方式。它使整个系统远比区块链强大。但是总有一个陷阱。可扩展性的增加,带来了更差的安全性,更强的集中化可能性,以及无法天然地支持智能合约。未来,我们将讨论有关区块链与DAG的更多信息。敬请关注!



作者 Vaibhav Saini 是TowardsBlockchain(麻省理工学院剑桥创新中心孵化创业公司)的联合创始人。他是高级区块链开发人员,曾在多个区块链平台上工作,包括以太坊、Quorum,EOS,Nano, Hashgraph,IOTA等。他目前是德里IIT的大二学生,年少有为。

原文链接:https://hackernoon.com/a-beginners-ultimate-guide-to-dags-7fc0dd7f39a2

参考:

DAG 初学者之终极指南(上)

DAG 初学者之终极指南(中)



系列课程1《爱莉莎科普区块链》75课 !点击!

系列课程2《一起开发 EOS DAPP系列》 点击!
系列课程3《区块链工具百宝箱》 点击!

微信公众号:竹三七









本文地址:http://bilianwu.com/5605.html
版权声明:项目均采集于互联网, 空投币 无法审核全面,且希望大家能赚钱,请谨慎切勿上当受骗!
温馨提示:★★★天上真会掉馅饼!天道酬勤,都是机会!不错过每个空投糖果!真假难以辨认,尽量0撸!
重要提醒:本站内容均转自互联网,请明辨各个项目风险,不构成投资建议,如涉及资金交易,请谨慎操作与自担风险!
《新人必看》 《本站免责申明》

评论已关闭!