一种基于DAG的加密货币框架

区块链资讯蓝狐笔记2019-04-20 20:18:01  阅读 -评论 0

前言:本文是Christopher Carr在阿姆斯特丹举行的"Master Workshop: Layer 1 solutions"研讨会上的演讲,由James Ovenden笔录整理,并由公众号“蓝狐笔记”社群“鑫鑫”翻译。
什么是DAG?我的演讲将包含以下内容。首先会介绍什么是DAG以及我们为什么要使用它们?然后我会谈到Graphchain框架,这是我们刚刚实现的一个基于STAG的框架。我们把它命名为Graphchain。接着我们会讨论设计选择和主要挑战,最后给出结论。
如果你对它的来源感兴趣,最初我和Xavier Boyen、Thomas Haines一起在2016年写了这篇论文——Graphchain:一种无区块链的可扩展去中心化账本。我们把它放到了ePrint上,在ERIM News上可能有一个更可读的版本。这篇论文在其他地方也有发表,但这两个地方可能最容易找到。
什么是DAG?
首先,DAG是什么含义?它指的是有向无环图。这是图论中的一个数学术语,通常包含由顶点和边组成的集合。边就是有序的顶点对,在有向图中通常用箭头表示。如果不能从一个顶点出发,沿着箭头返回一个顶点,那么图就是无环的。你也许意识到这不完全是一个数学术语。

下图是一个DAG的例子。箭头表示边,橙色的方框表示顶点。你可以通过检查发现图中没有环。你不能从其中一个橙色方框出发,沿着箭头返回一个橙色方框。这就是一个DAG。你也可以给这些DAG加上标记。

一种基于DAG的加密货币框架

如果这样做,你将得到一个所谓的偏序集。在我们所做的工作中,谈及了很多关于偏序集。这里的思想是,如果你定义箭头指向一个比出发点更高的顶点从而得到一个偏序,那么你会很容易发现k是所有字母中最高的那一个。你也可以很快发现对于f和h,它们之间没有排序。我们所知道的就是f和h都高于d并且都低于i。
因此,它是一个偏序,不像我们所熟悉的另一种DAG,即区块链(下图),它是完全有序的。实际上,如果你开始思考如何处理这些孤块,以及会有多少孤块,你会发现这真的很有意思。我没有时间深入这个话题,但它真的很有意思,相信我。你会得到分叉,但是区块链本质上也是DAG,只是他们受到的限制更多。你无法拥有所有这些额外的偏序。

一种基于DAG的加密货币框架

为什么我们需要DAG?
我们想要解决什么?这里我们试图解决的主要问题是去中心化和扩展性。区块链技术存在很多问题。这可能是最常被谈论的两个问题——还有一些其他问题,但我最感兴趣的两个问题是去中心化问题,这实际上归结为安全问题,以及可扩展性问题,这和可用性相关。扩展性问题仍然存在。这些问题是从哪里来的?这些问题似乎源于交易块的使用?可能是这样的。
我们整个项目的目标是:能否创建一个系统,让个体的努力得到回报?主要的问题,可能你已经意识到了,是矿池造成了一些问题。它们造成问题的原因是实际上它们的权力有点太大了——有些人认为它们权力过大。我倾向于这样理解。这不一定是坏事,有很多支持和反对它们的论据,我真的不想卷入这个话题,但是如果我们不需要它们不是更好吗?
我们能否消除加入矿池的动机?这是其中一个问题。此外,这么做的同时,是否也可以允许更快的交易处理。如果我们可以广播附加了工作量证明的交易,整理这些交易并用它们构建一个图,会怎么样呢?那么,我们还需要区块吗?至少,这是基于DAG的思想。
为什么这很重要?因为51%的诚实用户就足够了?不!这些我们早就知道了。那么,什么是去中心化呢?这是一个更加棘手的问题。它跟分布式设计的概念有点混淆,所以你可能会问去中心化究竟是什么含义。实际上我认为这个问题很难回答。有很多人思考过去中心化的真正含义,特别是在加密货币方面。大致上,我们希望全世界有许多运行相同系统的独立机器。如果有的话,就可以保证所有机器在计算上是等价的。就像我说的,这不是什么新鲜事物,人们已经谈论了一阵子了。
我们在谈的这些是什么?我们在谈论矿池和矿场。在"全世界运行相同系统的独立机器"上——实际上机器在运行一个矿池系统。并且,从计算上等价的机器的角度来说,我们有矿场。因此,本质上我们拥有一台能力非常强的机器。第二个问题我不认为是DAG必须处理的问题。这取决于功能。

一种基于DAG的加密货币框架

不过,可扩展性也是一个主要问题。当我们谈论区块链时,为什么需要关心可扩展性?因为区块链是区块的线性集合,其中一笔交易引用下一笔交易。问题是,无论处理哪种类型的区块链,区块都包含一定数量的交易。有某个特定的时间段内可以接收交易。正如我们刚才所听到的,我们知道以太坊的限制,也知道比特币的限制。
问题的一部分是因为我们有区块,并且将它们和如此多的交易绑定在一起,所以我们可能会有两个不同的区块,其中一个包含交易T1到Tn,另一个包含交易T1到Tn'。我们不知道它们是否相同——也许它们包含相同的交易列表,也许不是。

一种基于DAG的加密货币框架

使用区块链,如果发生了分裂,我们就必须从中选择一条。这是一种分叉,对吧。因此,我们现在在等着看哪一条会被扩展,然后才能确定我们知晓哪些交易。如果我在T'中有一些交易,现在我将不得不等它们稍后在某个地方被包含进去。我们不能依赖所包含的交易。
当然,这只是通常情况。可以想象一下,由于一些反常的事件,你同时生产了大量的区块。使用区块链+,即以太坊和ghost协议的内容,你就拥有了可以被包含的叔块。这真是一个非常聪明的主意,但不会包含里面的交易。因此,你仍然可以奖励某人的努力,这是关于创建这个额外区块的一个非常明智的想法,因为人们应该因他们的努力而获得奖励。
本质上,整个想法是:我们是否也可以拥有这样的系统,你可以在其中创建一个新的区块,同时包含来自T和T'的交易,也就是这些交易的合集?
这本质上就是Graphchain。我们拥有的东西是:如果没有区块会怎么样?交易只引用之前的交易,随便多少都可以。要发送交易,只需要简单地收集你认可的交易并引用它们,并在交易中附上一些工作量证明。

一种基于DAG的加密货币框架

这是如何工作的?
我们可以定义一种抽象的工作量证明函数。这是一个相当抽象的想法,但在实践中通过哈希函数很容易实现。假定工作量证明函数S包含问题a和它的一个解b。如果b是a的解的话,我们就说S(a,b)为真。以区块链为例,解可能是一个nonce,你的a是指交易集合以及和之前区块之间的链接和所有其他数据。
我们想对工作量进行量化,从而我们可以说这个工作量证明函数的工作量=d。我们可以做到这一点,大多数时候都可以做到。如果你能部分地反转一个哈希函数,你可以说它一定花费了这么多的计算量,或者我们期望它花费了这么多的计算量。
因此,我们能够做到这一点,而且这已经发生了,因为矿池本质上是在做同样的事情。如果你为一个矿池工作,你不是先解出这个区块,然后把它交给他们,而是通过向他们展示你已经解决了一个更小范围的问题来证明你是在为他们工作。所以,如果是在比特币中,你可能想要找到低于某个阈值的数值。你向他们展示你已经找到了低于更高阈值的解——但至少它表明你正在为他们工作。
本质上,我们可以使用同样的方法。其目的是量化为解决某个问题所做的工作。抽象函数可以是任何我们可以量化的寻找问题解的难度。我们甚至不需要哈希函数,你可以想象用其他方法来实现这一点。我们再一次试图把它作为一个框架来设想。我们可以广播包含相关工作量的交易。这样做的目的是我们可以说:这里有一个区块,它的工作量为8。

一种基于DAG的加密货币框架

因此,你再次拿走DAG,然后你可以想象一些数字,你可以说:好了,现在我们有了所有这些数字,这意味着什么呢?好问题。我们要做的是定义权重和高度这两个概念。这跟区块链非常相似,因为你有累积的工作量。一旦我们用工作量对图进行了标记,就可以用其他值来标记它了。
例如,对于权重,我们把这种累积工作量和交易及其所有后代相关联。高度是和交易及其所有祖先相关联的累积工作量。例如,你会发现,权重本质上就是把每一笔交易中的工作量证明的值相加。
所以,我们可以说(下图),交易的权重是61。为什么这么说?因为它让我们慢慢地建立起关于该交易在系统中的嵌套程度的概念。对于高度,你拥有了一个计算所有子交易的系统。有趣的是,交易本身也计算在内。所以,对于第二个交易(也在下图中,深红色),我们可以说它的高度为80。本质上,这只是两个例子,但我们想说的是,我们可以建立一个概念,即一个交易在图中的高度是基于它所包含的工作量证明的。

一种基于DAG的加密货币框架

在基于DAG的系统中还需要做一件事。我们需要开始去除进一步下降的交易。我们必须这么做的原因是,如果给你一个新的图,因而你最近没有看到任何交易,并且你必须即刻计算出它们有多高,那么随着系统中交易数量的增加,它会很快变得非常消耗算力。你必须限制这一点,并最终开始摆脱进一步后退的交易。这是一件单独的事情。
这种基于DAG的设计增加了复杂性,这非常棘手。本质上,我们这么做的目的就是为了获得这种收敛性。如果交易可以引用任何其他先前的交易,那么通过什么来阻止用户在非常老的节点上创建新交易呢?
你需要提供激励。这也是框架的一部分。我们需要激励,希望用户从图的顶部构建新交易,所以奖励和高度的某种函数相关联。因此,为了简单起见,我只写了这些。然而,这并没有那么简单。比如说,如果这个函数是一个反函数,那么它将无法正常工作。但是你的确需要高度的某种函数来创造这种从前面开始工作的激励。这样做的关键是我们能够执行交易,并鼓励人们在交易的最前面开始工作。我们没有具体说明这一点,因为我们在尝试开发一个框架。
收敛的关键在于你最终得到了一个基本上位于列表顶部的绿色交易。它是收敛的交易,并且它下面的每个交易都是其祖先的一部分。而且,根据这个函数,每个人都想构建这个新的绿色交易——如果你想要构建一个新的交易,你将会引用这个顶部交易。就是这个思想。
不过,我们还要担心其他问题。我们得担心一些类似于双花的问题。让我们考虑一个双花的场景。你有一个这样的交易图(如下),突然这两个红色的交易在双花某笔钱。

一种基于DAG的加密货币框架

好,那你怎么克服这个问题呢?比较一下这些交易。最终你必须比较这些并决定你想要继续使用哪一个。想象一下你有一个积极的对手的情况。我们可以将系统中的分裂概括为:如果对手实质上想要永久保持系统的分裂,会怎么样?基本上,你可以将其一般化为两个不能作为基础的图,因为你不能引用两个冲突的交易。他们是否需要双花并确保系统永不收敛?
对手现在的形势是他们必须基于这两个交易中的一个进行构建。他们还必须赶超网络中的其他节点,后者正试图在其中一个交易上进行构建。因此,设想一种情况,即诚实的节点,或者更确切地说,激励上兼容的节点首先创建了一个高度足够高的交易,就好像“这是新的真实的图”,然后对手必须在另一条链上创建一个新的交易。我们可以给它分配一些概率。然后这种情况不断地发生,以此类推,你最终会得到这样的概率(如下)。

一种基于DAG的加密货币框架

你可以看到它很快变得非常小。但这只在对手没有过半数算力的情况下才有效。这是它的论据之一。
只是为了给你们一点Graphchain的概述:你按照自己的节奏创建交易,你会因个人努力而获得回报。受激励影响你更倾向于在顶部创建交易,并且我们允许多笔交易获得收敛性。工作量证明建立在更接近于实时的基础上,所以希望你拥有这些由个人创建的小得多的交易,并且工作量证明是由交易的个体建立的。最后,框架对于工作量证明函数,或者甚至在某种程度上对于奖励函数都是不可知的。
现存DAG系统之间的差异
所以,你可能听说过其他的DAG系统。IOTA可能是最著名的,有一段时间它的市值很高。主要的区别是,它实际上没有任何激励措施——有一种挖矿方式,但实际上没有激励措施。他们目前正在使用协调员。但它们在框图和内容方面非常相似,它们的网站使用的框图跟我刚才展示的图很类似。你可以去查一下,其实挺有意思的。
其他的一些实现:Byteball——它们看起来有点类似,但在可信见证人这一点上有区别。Nano采用分布式权益证明协议,通过投票消除冲突。这两个系统都很酷,我建议你去研究研究。它们显然各有利弊。我们的框架试图变得更加不可知,更加去中心化。
结论
我不仅从事学术研究——我们有这篇论文——我也在挪威的NTNU全职开发这个框架并使之成为一种有效的加密货币。我大概六个月前在挪威国家电视台上做了一次演讲,之后我和这些TTO(技术转让办公室)的人员进行了交谈,现在我正在努力将其发展成一种有效的加密货币——为了好玩,结果发现真的很难。但我们还处于项目的初级阶段。我们最近刚刚融了一些资金,正在招聘开发人员。
总之,我们正在努力保持甚至扩展去中心化加密货币的思想,我们也希望有一个可扩展的系统。这是我们拥有的最重要的东西。也许在实用中可扩展性会受到某种程度的限制——但它很可能对很多用户都有吸引力。感谢你们的倾听。
问答
您能翻回到有平衡攻击的那页幻灯片吗?您在哪里展示了对手的概率?我想这里没有提到,您是假设诚实节点将会在某条链上进行构建,但实际上,诚实节点不知道哪一条是正确的。
你说得对,但事实是,对手必须同时在两条链上构建。如果对手知道诚实节点正在哪一条链上构建,它就可以在另一条上构建。但事实并非如此,所以对手必须同时在两条链上构建,因而也必须拆分它的算力。这就是它的工作原理。实际上我在这里漏掉了一个术语——通常情况下,诚实的参与者们有可能会同时创建一条链。我有意这样做是因为我以为没人会注意到。不过,最主要的一点是,对手必须将其算力拆分以便同时扩展两条链,因为它也不知道理性的参与者将会首先扩展哪条链。
但是,您仍然希望并行出块,因为这就是可扩展性的关键所在?然后在一条链上有诚实的区块,在另一个链上也有诚实的区块,它们的出块速率大致相同。只需要一点点哈希率来平衡两者。
我认为它们的速率大致相同,如果它们没有在这个术语所指的重要的点上往前推进的话。它仍然会很快变得非常小。显然,这取决于对手的算力。

声明:链世界登载此文仅出于分享区块链知识,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。此文如侵犯到您的合法权益,请联系我们100@7234.cn

    参与讨论 (0 人参与讨论)

    相关推荐

    中信银行打造“区块链”信用证结算!

    中信银行打造“区块链”信用证结算!

    科技不会改变金融的实质,但却能让金融服务更高效,能让资金供、需方信息不对称的问题更好地解决。近期,中信银行首个区块链项目——基于区块链的国内信用证信息传输系统(简称BCLC)(一期)成功上线,这是国内银行业第一次将区块链技术应用于信用证结算领域。 据中信银行国际业务部总经理助理张栩青介绍,将现在流行的区块链技术应用在国内信用证中,改变了银行传统信用证业务模式,信用证的开立、通知、交单、承兑报文

    中国信息技术部门成立区块链研究实验室

    中国信息技术部门成立区块链研究实验室

    暴走时评:本月初,中国政府对国内的ICO和数字货币交易所的打击在世界范围内引起了强大反响,但政府已经多次声明不会将区块链与数字货币划等号,依然非常重视区块链技术在中国的发展。鉴于中国工业和信息化部成立了一个专门研究区块链的实验室,这一论调也得到了进一步的证实。 虽然中国政府最近在大力打击比特币交易所和ICO,但仍然致力于开发区块链在其他领域的潜力。 据财新网报道,中国工业和信息化部已经成立了一

     分布式账本中的生命科学

    分布式账本中的生命科学

    生物科学是医学领域涉及遗传研究,疾病预防和生活方式治疗(lifestyle treatments)的学科。它已经存在了很长时间,但区块链技术的基础设施应用给该学科提供了重大进步的可能性。 根据Pistoia Alliance进行的2016年6月份高级制药和生命科学领袖调查,83%的受访者表示,他们预计在五年内将全面采用区块链技术。 Pistoia Alliance是一个全球性的非营利组织,致

    区块链vs.核能:日本最大电力公司东京电力(TEPCO)寻求使用区块链减轻对核电的依赖

    区块链vs.核能:日本最大电力公司东京电力(TEPCO)寻求使用区块链减轻对核电的依赖

    东京电力公司 (TEPCO) 对于能源过度中心化的风险可以说绝不陌生。 也许最著名的就是2011年发生的福岛核电站事故,这个日本最大的能源公司如今正在寻求区块链技术来防止这种灾难再次发生。 然而,从使用微型风车的分布式风力发电到用于存储在电力成本低时购买的电力的智能电池,可替代能源项目一直以来都属于个人慈善事业。 然而,TEPCO风险投资部门主管Jeffrey Char认为区块链能够帮助为这

    继证监会发表代币发行声明之后,香港交易所Gatecoin将下线部分ICO币

    继证监会发表代币发行声明之后,香港交易所Gatecoin将下线部分ICO币

    经过一系列监管以及合规审查后,香港交易所Gatecoin将会下线那些被金融监管部门定性为"证券"的代币。 香港加密货币交易所Gatecoin透露,如果在该平台交易的ICO代币在法律上符合"证券"定义,他们就会下线这些代币。据巴比特上月报道,香港主要的金融监管部门证券及期货事务监察委员会(SFC)表达了对ICO这种日渐普及的募资模式的担忧。 尽管ICO中售卖的数字代币通常都被定义为虚拟商品,但

    IBM与超级账本共同加入去中心化身份基金会(DIF),推动创建区块链ID行业标准

    IBM与超级账本共同加入去中心化身份基金会(DIF),推动创建区块链ID行业标准

    IBM与超级账本已经签署协议加入去中心化身份基金会(DIF),这个于今年初成立的联盟旨在帮助推动基于区块链的ID系统的互操作性和标准。 这两个企业区块链大佬加入了这个有各种企业组成的团体,其中包括像微软和埃森哲这样的大企业,还有像Civic和Gem这样的创业公司,以及像uPort和Sovrin这样的开源项目。 DIF执行主管告诉Coindesk说: "这应该是一个信号,表明在这一领域有广泛的

    为打击人口贩卖,牙买加警方盯上了犯罪分子的比特币钱包

    为打击人口贩卖,牙买加警方盯上了犯罪分子的比特币钱包

    作为打击人口贩卖计划的一部分,牙买加警方已经开始行动,锁定了那些试图用比特币和数字支付来掩人耳目的犯罪分子。 越来越多的人口贩卖者都开始转向数字货币来帮助他们进行地下活动并接收非法活动所得,但牙买加警方已经盯上他们了。 牙买加的'大生意' 不幸的是,人口贩卖以及性奴市场规模十分庞大,预计涉资1500亿美元。在牙买加,大约有7000个妇女、儿童以及成年男性被奴役,他们的操控者出售奴役服务的价格

    深圳市将发布《深圳市扶持金融业发展若干措施》,奖励区块链、数字货币等金融创新

    10月9日,深圳市人民政府向各区人民政府,市政府直属各单位印发《深圳市扶持金融业发展若干措施》(以下简称"《若干措施》")。深圳市政府表示,此举是为进一步完善金融支持政策体系,吸引集聚优质金融资源,推动全市金融业可持续均衡发展,加快建设国际化金融创新中心。 《若干措施》共分五大项,33条。内容包括:坚持服务导向,优化金融政策环境;发展金融总部经济,鼓励金融总部企业做大做强;支持金融企业分支机构

    麦妖榜
    更新日期 2019-05-24
    排名用户贡献值
    1BitettFan23907
    2等待的宿命23809
    3六叶树20309
    4区块大康17751
    5天下无双16192
    6linjm122714974
    7lizhen00214933
    8让时间淡忘14390
    9牛市来了11470
    10冷风大q11188
    返回顶部 ↑