《The Book of Satoshi》中本聪之书中文版连载(五)

本次连载主要的内容包括,交易确认,区块时间以及拜占庭将军问题。

《The Book of Satoshi》

原作者:PHIL CHAMPAGNE

中文翻译:陈雪刚

《The Book of Satoshi》中本聪之书中文版连载(五)

十、关于交易的同步

在这篇文章中,中本聪解释了当矿工收到两笔相互冲突的交易时会发生什么。收到的第一笔交易是矿工在下一次工作量证明中所包含的交易。如果需要更多信息,请参阅第2章中的说明。

回复:比特币一种点对点的电子现金系统

中本聪:09 Nov 2008 11:14:17 -0800

“核心概念是许多实体保留关于谁拥有哪些比特币的完整和一致的信息。

但保持一致性是棘手的。当有人向一个维护者报告一个交易,而另一个人将另一个交易传输给另一个维护者时,我不清楚会发生什么。在将交易合并到所有过去交易的全局共享视图中之前,无法知道该交易是否有效,并且没有人能够知道所有过去交易的全局共享视图在经过一段时间之后全局共享,并且在许多之后新的交易已经到来。

你有没有解释过如何做到这一点,它只是过了我的脑袋,或者你是否有信心可以做到,而且有点细节?”——詹姆斯·唐纳德

“工作量证明链是同步问题的解决方案,并且无需信任任何人即可了解全局共享视图的内容。交易将在整个网络中快速传播,因此如果在同一时间报告同一交易的两个版本,那么具有先发优势的交易将首先获得更多节点的优势。节点只接受他们看到的第一个节点,拒绝第二个节点到达,因此早期的交易将有更多节点在将其合并到下一个工作量证明中。实际上,每个节点通过将其包含在其工作量证明工作中来对其首先看到的交易的观点进行投票。如果交易确实在同一时间出现并且存在均匀分割,那么首先会进入工作量证明并且决定哪个有效。当节点找到工作量证明时,新块将在整个网络中传播,并且每个人都将其添加到链中并开始处理它之后的下一个块。具有另一个交易的任何节点将停止尝试将其包含在块中,因为根据接受的链现在它是无效的。工作量证明链本身就是不言而喻的证明,它来自全球共享的观点。只有大多数网络一起拥有足够的CPU能力来产生如此困难的工作量证明链。任何用户在收到工作量证明链后,都可以看到大多数网络已批准的内容 一旦将一个交易分成一个链接,这个链接在链条中有一些链接,它就会被牢牢铭刻在全球历史中。”——中本聪

十一、中本聪探讨交易费

这篇文章讨论了使用交易费而不是铸币税作为支付矿工维持比特币网络工作的手段。铸币税是一个经济术语,用于描述货币的其他单位的创建。当所有比特币都被开采并且最多创造了2100万比特币时,矿工维持比特币的激励只会来自维持比特币过程中收取的交易费。然而,在此之前,比特币通胀的年增长率最终会如此之低,以至于在所有比特币被开采之后它实际上都是相同的。

回复:比特币一种点对点的电子现金系统

中本聪:Mon, 10 Nov 2008 11:09:26 -0800

此外,它无法工作,因为在拟议的系统中跟踪谁拥有由铸币税支付的比特币的工作,这需要通货膨胀。——詹姆斯·唐纳德

如果您遇到通货膨胀问题,可以轻松调整交易费用。这很简单:让任何交易的输出值比输入值小1美分。客户端软件自动将交易写入比预期支付价值多1美分,或者它可能来自收款人一方。当节点找到块的工作量证明时的激励值可以是块中的总费用。——中本聪

十二、关于确认以及区块时间

在下面的第一个答案中,中本聪解决双重支出和确认问题。

在第二个答案中,他介绍了如何根据每个块之间的有效时间调整工作量证明的难度,以便网络尝试每个块保持10分钟。第2章关于工作量证明与彩票相比较的讨论。选择最大数字(十六进制或十六进制),矿工的工作量证明包括生成小于该数字的数字。该数字是通过比特币系统生成的,是随机的。第一个获得小于最大值的哈希输出的矿工获胜处理该区块的权利并获得其交易费和每个区块25BTC。为最大值选择的值决定了工作量证明的难易程度; 值越大,矿工系统产生的哈希输出越可能低于最大值,数字越小,矿工数量越低于最大值。最后一个问题是关于交易速度不是一个特征。他指出,弹跳支票和信用卡退款可能需要几天甚至几周的时间来处理,相比之下,比特币需要60分钟左右才能以高度自信的方式验证完全不可逆转的比特币交易。

回复:比特币一种点对点的电子现金系统

中本聪:Tue, 11 Nov 2008 06:30:22 -0800

那么失去比赛的比特币将发生什么?——詹姆斯·唐纳德

如果排在第二位的人可能会输掉他的比特币,那就有点苛刻了。如果同一交易有多个双用版本,则只有一个会生效。付款的接收方必须等待一个小时左右才相信它是有效的。 到那时,该网络将解决任何可能的双重花费比赛。收到失效的双重花费的人从来没有想过他会在第一时间拥有它。他的软件会显示交易从未经证实变为无效。如有必要,可以使UI隐藏交易,直到它们在块链中足够深。此外,您对事件的描述意味着对时间和比特币生成的限制 - 整个网络生成比特币的速度比新比特币新闻充斥网络所需的时间要慢。对不起,如果我没说清楚的话块之间的目标时间可能是10分钟。每个块都包含其创建时间。如果时间超过36小时,则其他节点将无法正常工作。如果最后6 * 24 * 30块的时间跨度小于15天,则生成的块太快,并且工作量证明难度加倍。每个人使用相同的链数据进行相同的计算,因此它们在链中的同一链接上获得相同的结果。我们希望消费者能够确定他们的交易在支出花费网络时是有效的,而不是在分支竞赛解决时。即时不可否认性不是一个特征,但它仍然比现有系统快得多。 纸质支票可以在一两周后反弹。信用卡交易最长可达60180天。比特币交易在一两个小时内就足够不可逆转。如果一个节点忽略了它不关心的所有花费,它就不会产生不良后果。通过我最近发布的基于交易费的激励系统,节点将有动力包括他们收到的所有付费交易。——中本聪

十三、拜占庭将军的问题

什么可能是中本聪最有趣的帖子,他解释了块链如何解决计算机科学中的问题,称为“拜占庭容错”,这是“两个将军问题”的更广义的版本。在这个问题中,两个(或更多)人需要在不可靠的通信环境中共享信息,其中发送的消息可能丢失或被篡改。该问题的陈述首先出现在20世纪70年代的网络计算文献中,当时这个问题被认为是无法解决的。在这篇文章中,中本聪声称比特币解决了它。

为了说明这个问题,想象两个将军需要同时攻击一个城市。如果任何一方攻击而另一方没有攻击,攻击将军的部队将被城市的防御所摧毁。将军之间的沟通是不可靠的; 发送关于何时进行攻击的信息的快递员必须通过城市,因此可以被截获。第一位将军可以在上午9点之前向信使发送消息,表明攻击将在同一天开始。然而,一旦被派遣,第一位将军将不知道信使是否通过了。这种不确定性可能会导致第一位将军犹豫不决,因为如果第二位将军从未收到他的信息,他可能会单独进攻。

知道了这一切,第二位将军可能会向第一位发送回确认,表明他收到了要攻击的消息。但是,这条信息也可能被截获,导致第二位将军也受到影响。第一位将军可能会发送确认确认书,但也可能被截获。因此,第一位将军再次犹豫不决,除非他收到对第一次确认的确认的确认。这个过程可以无限制地进行,任何一般人都无法知道消息是否被派遣,或者是否被敌人截获。

要了解更多信息,请阅读以下Wikipedia文章中的“说明问题”部分:

http://en.wikipedia.org/wiki/Two_Generals%27_Problem

另见本文关于拜占庭容错的文章:

http://en.wikipedia.org/wiki/Byzantine_fault_tolerance

回复:比特币一种点对点的电子现金系统

中本聪:Thu, 13 Nov 2008 19:34:25 -0800

每个人都知道X是不够的。我们还需要每个人都知道每个人都知道X,并且每个人都知道每个人都知道每个人都知道X - 正如拜占庭将军的问题一样,这是分布式数据处理的典型难题。——詹姆斯·唐纳德

工作量证明链是拜占庭将军问题的解决方案。我会尝试在这种情况下改写它。许多拜占庭将军都有一台计算机,想要通过强制密码来攻击国王的WiFi,他们学到的密码长度是一定数量的字符。 一旦他们刺激网络生成数据包,他们必须在有限的时间内破解密码以中断并删除日志,否则他们将被发现并陷入困境。它们只有足够的CPU能力才能足够快地破解它,如果它们中的大多数同时攻击的话。他们并不特别关心何时攻击,只他们都同意。已经决定任何感觉像是会宣布时间的人,无论何时首先听到的都是正式的攻击时间。 问题是网络不是即时的,如果两个将军在接近同一时间宣布不同的攻击时间,有些人可能先听到一个,而其他人先听到另一个。他们使用工作量证明链来解决问题。一旦每个将军收到他先听到的任何攻击时间,他就会将他的计算机设置为解决一个极其困难的工作量证明问题,其中包括其哈希中的攻击时间。工作量证明是如此困难,预计在他们中的一个找到解决方案之前,他们需要花费10分钟才能同时工作。一旦其中一位将军找到工作量证明,他就会将其广播到网络中,并且每个人都会改变他们当前的工作量证明计算,以便在他们正在处理的哈希中包含该工作量证明 如果有人在不同的攻击时间工作,他们会切换到这个,因为它的工作量证明链现在更长。两个小时后,一个攻击时间应该由一系列12工作量证明进行调整。 通过验证工作量证明链的难度,每个通用工具都可以估计每小时并行CPU功率的大小,并且可以看出它必须要求大多数计算机产生如此多的证据。 在规定的时间内工作。 他们必须看到它,因为工作量证明证明了他们的工作。 如果工作量证明链所显示的CPU功率足以破解密码,他们可以在约定的时间安全地进行攻击。工作量证明链是您解决所有同步,分布式数据库和全局视图问题的方法。——中本聪


延伸阅读:

《The Book of Satoshi》中本聪之书中文版连载(一)

《The Book of Satoshi》中本聪之书中文版连载(二)

《The Book of Satoshi》中本聪之书中文版连载(三)

《The Book of Satoshi》中本聪之书中文版连载(四)

文章声明:本文为火星号作者作品,不代表火星财经观点,版权归作者所有,如需转载,请提前联系作者!

生成图片
5

发表评论

《The Book of Satoshi》中本聪之书中文版连载(五)

星期一 2018-11-12 19:46:03

《The Book of Satoshi》

原作者:PHIL CHAMPAGNE

中文翻译:陈雪刚

《The Book of Satoshi》中本聪之书中文版连载(五)

十、关于交易的同步

在这篇文章中,中本聪解释了当矿工收到两笔相互冲突的交易时会发生什么。收到的第一笔交易是矿工在下一次工作量证明中所包含的交易。如果需要更多信息,请参阅第2章中的说明。

回复:比特币一种点对点的电子现金系统

中本聪:09 Nov 2008 11:14:17 -0800

“核心概念是许多实体保留关于谁拥有哪些比特币的完整和一致的信息。

但保持一致性是棘手的。当有人向一个维护者报告一个交易,而另一个人将另一个交易传输给另一个维护者时,我不清楚会发生什么。在将交易合并到所有过去交易的全局共享视图中之前,无法知道该交易是否有效,并且没有人能够知道所有过去交易的全局共享视图在经过一段时间之后全局共享,并且在许多之后新的交易已经到来。

你有没有解释过如何做到这一点,它只是过了我的脑袋,或者你是否有信心可以做到,而且有点细节?”——詹姆斯·唐纳德

“工作量证明链是同步问题的解决方案,并且无需信任任何人即可了解全局共享视图的内容。交易将在整个网络中快速传播,因此如果在同一时间报告同一交易的两个版本,那么具有先发优势的交易将首先获得更多节点的优势。节点只接受他们看到的第一个节点,拒绝第二个节点到达,因此早期的交易将有更多节点在将其合并到下一个工作量证明中。实际上,每个节点通过将其包含在其工作量证明工作中来对其首先看到的交易的观点进行投票。如果交易确实在同一时间出现并且存在均匀分割,那么首先会进入工作量证明并且决定哪个有效。当节点找到工作量证明时,新块将在整个网络中传播,并且每个人都将其添加到链中并开始处理它之后的下一个块。具有另一个交易的任何节点将停止尝试将其包含在块中,因为根据接受的链现在它是无效的。工作量证明链本身就是不言而喻的证明,它来自全球共享的观点。只有大多数网络一起拥有足够的CPU能力来产生如此困难的工作量证明链。任何用户在收到工作量证明链后,都可以看到大多数网络已批准的内容 一旦将一个交易分成一个链接,这个链接在链条中有一些链接,它就会被牢牢铭刻在全球历史中。”——中本聪

十一、中本聪探讨交易费

这篇文章讨论了使用交易费而不是铸币税作为支付矿工维持比特币网络工作的手段。铸币税是一个经济术语,用于描述货币的其他单位的创建。当所有比特币都被开采并且最多创造了2100万比特币时,矿工维持比特币的激励只会来自维持比特币过程中收取的交易费。然而,在此之前,比特币通胀的年增长率最终会如此之低,以至于在所有比特币被开采之后它实际上都是相同的。

回复:比特币一种点对点的电子现金系统

中本聪:Mon, 10 Nov 2008 11:09:26 -0800

此外,它无法工作,因为在拟议的系统中跟踪谁拥有由铸币税支付的比特币的工作,这需要通货膨胀。——詹姆斯·唐纳德

如果您遇到通货膨胀问题,可以轻松调整交易费用。这很简单:让任何交易的输出值比输入值小1美分。客户端软件自动将交易写入比预期支付价值多1美分,或者它可能来自收款人一方。当节点找到块的工作量证明时的激励值可以是块中的总费用。——中本聪

十二、关于确认以及区块时间

在下面的第一个答案中,中本聪解决双重支出和确认问题。

在第二个答案中,他介绍了如何根据每个块之间的有效时间调整工作量证明的难度,以便网络尝试每个块保持10分钟。第2章关于工作量证明与彩票相比较的讨论。选择最大数字(十六进制或十六进制),矿工的工作量证明包括生成小于该数字的数字。该数字是通过比特币系统生成的,是随机的。第一个获得小于最大值的哈希输出的矿工获胜处理该区块的权利并获得其交易费和每个区块25BTC。为最大值选择的值决定了工作量证明的难易程度; 值越大,矿工系统产生的哈希输出越可能低于最大值,数字越小,矿工数量越低于最大值。最后一个问题是关于交易速度不是一个特征。他指出,弹跳支票和信用卡退款可能需要几天甚至几周的时间来处理,相比之下,比特币需要60分钟左右才能以高度自信的方式验证完全不可逆转的比特币交易。

回复:比特币一种点对点的电子现金系统

中本聪:Tue, 11 Nov 2008 06:30:22 -0800

那么失去比赛的比特币将发生什么?——詹姆斯·唐纳德

如果排在第二位的人可能会输掉他的比特币,那就有点苛刻了。如果同一交易有多个双用版本,则只有一个会生效。付款的接收方必须等待一个小时左右才相信它是有效的。 到那时,该网络将解决任何可能的双重花费比赛。收到失效的双重花费的人从来没有想过他会在第一时间拥有它。他的软件会显示交易从未经证实变为无效。如有必要,可以使UI隐藏交易,直到它们在块链中足够深。此外,您对事件的描述意味着对时间和比特币生成的限制 - 整个网络生成比特币的速度比新比特币新闻充斥网络所需的时间要慢。对不起,如果我没说清楚的话块之间的目标时间可能是10分钟。每个块都包含其创建时间。如果时间超过36小时,则其他节点将无法正常工作。如果最后6 * 24 * 30块的时间跨度小于15天,则生成的块太快,并且工作量证明难度加倍。每个人使用相同的链数据进行相同的计算,因此它们在链中的同一链接上获得相同的结果。我们希望消费者能够确定他们的交易在支出花费网络时是有效的,而不是在分支竞赛解决时。即时不可否认性不是一个特征,但它仍然比现有系统快得多。 纸质支票可以在一两周后反弹。信用卡交易最长可达60180天。比特币交易在一两个小时内就足够不可逆转。如果一个节点忽略了它不关心的所有花费,它就不会产生不良后果。通过我最近发布的基于交易费的激励系统,节点将有动力包括他们收到的所有付费交易。——中本聪

十三、拜占庭将军的问题

什么可能是中本聪最有趣的帖子,他解释了块链如何解决计算机科学中的问题,称为“拜占庭容错”,这是“两个将军问题”的更广义的版本。在这个问题中,两个(或更多)人需要在不可靠的通信环境中共享信息,其中发送的消息可能丢失或被篡改。该问题的陈述首先出现在20世纪70年代的网络计算文献中,当时这个问题被认为是无法解决的。在这篇文章中,中本聪声称比特币解决了它。

为了说明这个问题,想象两个将军需要同时攻击一个城市。如果任何一方攻击而另一方没有攻击,攻击将军的部队将被城市的防御所摧毁。将军之间的沟通是不可靠的; 发送关于何时进行攻击的信息的快递员必须通过城市,因此可以被截获。第一位将军可以在上午9点之前向信使发送消息,表明攻击将在同一天开始。然而,一旦被派遣,第一位将军将不知道信使是否通过了。这种不确定性可能会导致第一位将军犹豫不决,因为如果第二位将军从未收到他的信息,他可能会单独进攻。

知道了这一切,第二位将军可能会向第一位发送回确认,表明他收到了要攻击的消息。但是,这条信息也可能被截获,导致第二位将军也受到影响。第一位将军可能会发送确认确认书,但也可能被截获。因此,第一位将军再次犹豫不决,除非他收到对第一次确认的确认的确认。这个过程可以无限制地进行,任何一般人都无法知道消息是否被派遣,或者是否被敌人截获。

要了解更多信息,请阅读以下Wikipedia文章中的“说明问题”部分:

http://en.wikipedia.org/wiki/Two_Generals%27_Problem

另见本文关于拜占庭容错的文章:

http://en.wikipedia.org/wiki/Byzantine_fault_tolerance

回复:比特币一种点对点的电子现金系统

中本聪:Thu, 13 Nov 2008 19:34:25 -0800

每个人都知道X是不够的。我们还需要每个人都知道每个人都知道X,并且每个人都知道每个人都知道每个人都知道X - 正如拜占庭将军的问题一样,这是分布式数据处理的典型难题。——詹姆斯·唐纳德

工作量证明链是拜占庭将军问题的解决方案。我会尝试在这种情况下改写它。许多拜占庭将军都有一台计算机,想要通过强制密码来攻击国王的WiFi,他们学到的密码长度是一定数量的字符。 一旦他们刺激网络生成数据包,他们必须在有限的时间内破解密码以中断并删除日志,否则他们将被发现并陷入困境。它们只有足够的CPU能力才能足够快地破解它,如果它们中的大多数同时攻击的话。他们并不特别关心何时攻击,只他们都同意。已经决定任何感觉像是会宣布时间的人,无论何时首先听到的都是正式的攻击时间。 问题是网络不是即时的,如果两个将军在接近同一时间宣布不同的攻击时间,有些人可能先听到一个,而其他人先听到另一个。他们使用工作量证明链来解决问题。一旦每个将军收到他先听到的任何攻击时间,他就会将他的计算机设置为解决一个极其困难的工作量证明问题,其中包括其哈希中的攻击时间。工作量证明是如此困难,预计在他们中的一个找到解决方案之前,他们需要花费10分钟才能同时工作。一旦其中一位将军找到工作量证明,他就会将其广播到网络中,并且每个人都会改变他们当前的工作量证明计算,以便在他们正在处理的哈希中包含该工作量证明 如果有人在不同的攻击时间工作,他们会切换到这个,因为它的工作量证明链现在更长。两个小时后,一个攻击时间应该由一系列12工作量证明进行调整。 通过验证工作量证明链的难度,每个通用工具都可以估计每小时并行CPU功率的大小,并且可以看出它必须要求大多数计算机产生如此多的证据。 在规定的时间内工作。 他们必须看到它,因为工作量证明证明了他们的工作。 如果工作量证明链所显示的CPU功率足以破解密码,他们可以在约定的时间安全地进行攻击。工作量证明链是您解决所有同步,分布式数据库和全局视图问题的方法。——中本聪


延伸阅读:

《The Book of Satoshi》中本聪之书中文版连载(一)

《The Book of Satoshi》中本聪之书中文版连载(二)

《The Book of Satoshi》中本聪之书中文版连载(三)

《The Book of Satoshi》中本聪之书中文版连载(四)

文章声明:本文为火星号作者作品,不代表火星财经观点,版权归作者所有,如需转载,请提前联系作者!