论加速比特币交易处理速度

区块链技术巴比特2017-11-25 06:45:30  阅读 -评论 0

论加速比特币交易处理速度

作者ID:avivz78(bitcointalik.org)

译者:骨髓行走

前言:本文阐述了一种加速比特币交易处理速度的办法。译者大致理解为:传统的确认方法基于“最长区块链法则”(longest chain rule),而本文提出了一种“贪婪-最大权重-子树选择法则”(Greedy Heaviest-Observed Sub-tree selection Role)(原谅译者找不到一个更好的翻译名字)该学者将其研究的论文以通俗的形式在论坛上进行发帖,本翻译为其通俗版。有兴趣的朋友可以参考该贴子中作者所给出的原文链接。

以下为原帖内容:

大家好!我是来自以色列希伯来大学的研究者,我已经同我的一个学生(Yonatan Sompolinsky)进行了比特币相关的论文研究。我们已经得出了喜人的成果,并且迫不及待的想在这里跟大家分享。

在此给出完整版论文连接:

http://www.cs.huji.ac.il/~avivz/pubs/13/btc_scalability_full.pdf

标题:加速比特币交易处理速度(以树状加速比特币增长,而非链式)

由于该论文很长,并且面向学术研究者翻看,所以我们觉得为比特币爱好者提供一个简明扼要版本的论文是比较合适的:

摘要:我们提出了一种针对区块链的协议改进方法,以此来达到区块大约每秒增长一次的结果。该方法能在这种速率下每秒处理200个交易记录(译者:200个!~每秒啊!),且在特定的带宽条件下将网速消耗降至0.5MBPs以下。上述的一切都不会引起50%攻击的怀疑性。这个方法切实解决了一个问题,即引起中本聪要将区块链创造速率设置为10分钟的问题。我们也对在这种改进方法实施前和实施后每秒能够处理的交易数量。我们认为区块传播时间是比特币网络可扩展的首要障碍。

更具体的解释下文详述。我们研究的首要目标是快速确定比特币网络处理交易的能力。以下是我们的主要研究发现:

扩展性、延期以及安全性:

我们以检测在高交易速率下比特币的安全性为通篇的开始。比特币每秒可处理的交易量主要受以下两个因素的限制:1、区块产生速度(10分钟1区块);2、区块规模限制(现在默认是1MB)。这两个参数共同影响着比特币网络每秒可以处理的交易数量。增加每秒交易量的直接有效的办法就是要么增大区块规模,要么增加区块产生速度。这两个变化都是存在争议的,原因是:这两个变化都可能影响协议的安全保障。首先,让我们考虑每秒区块数量的增加(例如,莱特币的区块是每2.5分钟产生一个)。因为区块被快速产生,许多冲突性的区块被产生。区块中的多数都会被附在区块链之后。同样的情况会在区块规模扩大时发生:更大的区块需要更长的时间通过网络进行传播(受制于带宽),并且同时产生的区块更可能处在区块们的顶部,也就是说它们会被丢弃。

区块被丢弃降低了网络的安全性,这一事实使得该网络更容易遭受50%攻击。例如,如果区块的半数以这种方法被丢弃,则全网也就浪费了半数哈希算力对交易确认做无用功。那个中心化且没有延迟的攻击者,能够实行一个叫做所谓的“50%”攻击,该攻击拥有33%哈希算力多一点点就可以实现。这是因为较之于网络中的其他人,它能够轻松产生更长的区块链。

使用不同的技术,我们分析有多少区块在区块链的尾端,有多少被丢弃,并以此估计对不同的参量而言网络安全性的变化。在众多结果之中,我们发现传输那些仅含交易哈希(替代整个交易记录)的区块能够极大程度的有助于扩展性(那就是说,这不是2倍带宽的节约,而是每秒交易记录十六倍(译者:专业知识匮乏,不知是16倍还是16叠什么的,请见谅。)的提高!)

我们建议的协议改进:(在完整论文第八部分会做出说明)

高交易速率意味着许多有冲突的区块被产生出来,那么如果这些区块没有真的丢失的话,它们是很有用的。实际上,每一个区块不仅可以视作为包含着交易记录,也被视作嵌入了之前的区块。即使一个区块并非存在于主区块链中,我们还是能计算出该区块给之前区块的确认信息作为一种有效性的证明。这是我们提出的改进的基础,我们把它叫做”greedy heaviest-observed sub-tree”区块链选择法则。

粗略的说,每一个区块都包含着之间区块的哈希,那么所有的区块构造了一个树状结构,该树状结构的根是上帝区块。比特币现行的系统是选择接受那个在树中最长的区块链。我们提出另外一种方法:在每一个分支上,选择包含最多区块子树(sub-tree)。持续这种选择直到到达一个叶节点。则这个选择路径就是网络节点应该接受的区块链。但是这如何帮助比特币网络呢?注意到现在,一个希望改变由算法所选择的主区块链的攻击者需要在网络诸多分支们的一个中改变我们的决定。要这么干,他需要建立比包含在整个子树中的区块更多的区块。(而非仅仅是创造比最长区块链包含的区块更多的区块!)

这里有一个greedy heaviest-observed sub-tree(GHOST)区块链选择法则(以下简称GHOST法则)的虚代码:

1. SET B Block.
2. IF B has no successors: RETURN(B).
Else: SET B <- Child of B with heaviest sub-tree.
3. GOTO 2

该改进的代价:在区块产生速率较低以及区块规模较小的情况下,使用最长链法则和上文提到了GHOST法则是没有太大区别的。此时无成本。二者几乎是相同的,因为在这种情况下最长区块链法则也是最大权重的子树。而在高交易速率下,GHOST法则在他的主区块链里构造了稍少的区块,因此稍微降低了每秒被接受的交易数量,但是它变得更安全了!延迟和许多不在链上的区块不再使整个网络更易受到50%攻击。这意味着我们可以增加交易速率和区块规模,而之前这么做风险极大且十分容易造成交易容量的损失。实际上,我们估计一秒钟产生的区块量很容易超过200个。这意味着相当快的授权时间。甚至一个确认都会造成某种程度的不可逆,并且当区块每秒被产生时,这种确认几乎是瞬间完成的

因为比特币的安全性主要是依赖接受到的确认数量而非时间流逝,我们可以做出一种改进,使得不可逆交易的时间以极高的可能性远远小于10分钟。

一些主要问题的简要陈述:

我必须澄清一点:我们不可能说我们能够解决关于比特币所有方面的问题(如激励和挖矿集中化等)所以我认为应当专注于协议当中已经存在的问题,我们的主要关切点在于当高交易速率发生时网络安全性将会变差,GHOST法则调整则修复了这一点。如果你对一秒创造区块不确定,该调整在区块创造速率较低时同样有价值。定位高交易速率的需要一直存在。

几个特殊的评论:

1.具有低延迟时间的节点有优势。那些能快速到达网络其他部分的节点会在主区块链上有更多的区块。

回答:如果现在高交易速率存在那么这将是比特币协议所面临的一个严峻问题。强劲的矿工将能得到更多的区块。但GHOST调整的不是这个,我们所给出的改进是关于在这种场景下50%攻击不会变的更坏。

2.DDOS攻击:恶意节点能够在上帝区块上以低难度挖矿

回答:这也是现行比特币协议所面临的一个问题。这就是为何监测点需要被放置的原因。这里会有研究者的解释:

https://bitcointalk.org/index.php?topic=194078.msg2014204#msg2014204.

监测点在我们的方案中仍能使用。

3.SPV客户端需要更多带宽和储存空间如果每秒区块创造速度更高

回答:确实如此。但是该改进应该更有可能找到对SPV节点更好的机制。例如,无需下载全部的区块链也应该有可能验证一个长区块链。

4.如果节点们下线一段时间,他们如何获知被遗弃的区块?

回答:我们建议每个区块也应包含在头端不在链上的区块的哈希。用这个方法,主区块链也包含所有不在区块链上的区块的记录。

5.储存问题:需要更多空间

回答:诸如迷你区块链的方法可被应用,该种方法允许你只保存近期的一些事件。但现在仍没有办法面对高交易速率需要大量存储空间的办法。再次声明,这不是由我们的改进所引起的。你不需要保留丢弃区块的信息,只需保留他们的头端以验证难度。在链上有更多的区块仅仅意味着他们中的每一个将有更少的交易。唯一增加的成本只是保留更多的头端。

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

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

    相关推荐

    区块链投资趋势报告:巨头入场布局行业趋于成熟

    区块链投资趋势报告:巨头入场布局行业趋于成熟

    来自:https://mp.weixin.qq.com/s?__biz=MzI4NzIxOTY1NA==&amp;mid=2650632639&amp;idx=1&amp;sn=e6d1c29731d992a80410aaee82ec3ea6&amp;chksm=f3d8db16c4af520097e4a64a71b1d4743ac326b9f027

    重新发明货币

    重新发明货币

    一、货币的演化过程 先简单回顾一下人类货币的演化过程,大概有以下阶段: a. 1.0版本:自然货币(贝壳、牲口、金银……) 这个阶段,货币基于一般等价物的稀有性或者实用性,货币不可能出现人为操纵的超发。 b. 2.0版本:早期纸币、银票到本位纸币 当贸易量越来越大,实物货币太不方便了,而且大家发现其实并不在意货币本身有什么价值,在意的只是这么多的货币能不能交换到足够的物品,于是纸币这种信用货

    从比特币交易看欧洲央行虚拟货币分类

    从比特币交易看欧洲央行虚拟货币分类

      互联网对传统社会的颠覆从未停止,在其完成对信息流、商流、物流、资金流的初步改造之后,或将以虚拟货币的形式打破现有货币体系   4月18日,在中国极客张沈鹏创办的比特币交易平台(42BTC.com)上,比特币对人民币的平均交易价为576元。当天,该平台完成了100个比特币的交易量。仅仅过去一周,4月25日上午,比特币对人民币的平均交易价已达到906元。据42BTC网站统计:在过去的32个月

    欧洲央行-比特币报告

    3.1 比特币 3.1.1 基本特征          比特币可能是最成功的,也可能是最有争议的虚拟货币方案,由日本程序员中本聪(译者注:事实上,中本聪是不是日本人,甚至是不是单个人无从考证)在2009年设计并实现。该计划基于一个类似于BitTorrent的P2P网络。BitTorrent是互联网上著名的共享文件协议,应用在电影,游戏和音乐领域。比特币在全球层面上运作,可用于各类货币交易(虚

    彻底玩转比特币地址和私匙

    彻底玩转比特币地址和私匙

    比特币地址和私匙是所有比特币初学者面对的一大难题,再加上那一串超长的字符串,让人更是摸不到头脑。 现在编者以问答的形式,带你一步步的揭开比特币地址和私匙的面纱。 还不知道什么是比特币地址和私匙的同学请点这里 问题一、比特币钱包由什么组成? 答 我们知道,比特币地址和私匙组成了比特币钱包,而私匙则决定了比特币地址上比特币的归属。 地址和私匙 问题二、如果只记得私匙我们还能还原比特币地址么? 答

    用GO语言实现比特币算法

    用GO语言实现比特币算法

    本节的这个例子展示一点点高精度数学包math/big、一点点散列包hash、一点点加密包crypto,还有一点点测试包testing的知识。这里不介绍bitcoin协议和算法——尽管它们很有趣,而是试图指出,Go对多种操作系统的支持,是实现这种跨平台应用的理想语言。 位钱(bitcoin)是一种使用加密手段制作的分布式电子货币。它最初于1998年由Wei Dai提出,并由中本聪(Satoshi

    详解比特币的找零机制

    详解比特币的找零机制

    比特币的找零机制一直让人有些迷惑,明明只向一个地址发送了比特币为什么 blockchain 上面的显示的有时是1个地址对多个地址,有时是多个地址对1个地址,有时又显示多个地址对多个地址? 为什么比特币资深用户要提醒大家当比特币钱包交易100次以上时再次交易后要重新备份钱包,恢复以前的钱包备份有可能会遭遇损失? 是的,这一切都是因为比特币的找零(Change)机制。本文参考 Bitcoin的维

    玩转比特币客户端之一:C盘转移和加速下载

    玩转比特币客户端之一:C盘转移和加速下载

    C盘空间不足?交易数据下载速度太慢?别着急,乐享比特币教你轻松玩转比特币官方客户端。 所有新人开始接触比特币时做的第一件事情大多数是安装比特币的官方客户端。 安全起见大家最好直接访问官方发布渠道sourceforge的地址进行下载:http://sourceforge.net/projects/bitcoin/files/Bitcoin/ 该网页列出了各版本的官方比特币客户端,目前

    麦妖榜
    更新日期 2019-06-15
    排名用户贡献值
    1BitettFan23989
    2等待的宿命23809
    3六叶树20309
    4区块大康18606
    5天下无双16192
    6linjm122715906
    7牛市来了15758
    8lizhen00215064
    9让时间淡忘14475
    10冷风大q11188
    返回顶部 ↑