这里有关于区块链的事实与真相

综合block 发表了文章 • 0 个评论 • 7 次浏览 • 4 天前 • 来自相关话题

就像最初的互联网一样,区块链也是一种带有激进,甚至是共产主义色彩的理念,它同时也吸引了资本主义贪婪的欲望。

2017年,是区块链爆发又冷静的一年。这一年,区块链及加密货币走向更广泛的主流世界。暴富神话传遍大街小巷;小到数人团队,大到上市集团纷纷跑步入场。也在这一年,中国直接戳破泛滥的ICO泡沫,关闭法币交易渠道,随后世界多国警示ICO和虚拟货币风险,推动监管沙盒,将其纳入监管范围。

技术的发展永无止境,何况是区块链这一诞生不过十年的新事物,理论和基础架构还待完善,思维模式、组织流程需同时适配。它就像TCP/IP一样,是一种基础技术,所面临的技术、监管和社会的复杂程度也将是前所未有的。

我们都听说区块链会带来商业革命的观点,但是这可能需要比许多人声称的更长的时间。

近日,雷锋网发布了历时3个月打造的原创《区块链基础及应用白皮书》,深入访谈与研究国内外诸多区块链技术及应用公司,希望以此厘清关于区块链现状的事实与真相,拨开笼罩其上的迷雾。

如果要简单理解区块链,可以遵循以下五个原则:

分布式数据库:区块链的所有参与方都可以访问整个数据库及其完整的历史,没有谁能够控制数据或信息,每一方都可以在没有中间人的情况下直接核实交易记录。

P2P传输:通信直接在节点之间发生,而不是通过一个中心节点。每个节点存储和转发信息到所有其他节点。

透明与匿名:每个访问系统的人都可以看到交易信息。每个用户都可以有独特的地址,并可以选择保持匿名或向他人提供身份证明。

记录不可逆:一旦在数据库中输入一项交易并对账户进行更新,就不能更改记录。区块链的算法可以确保数据库上的记录是永久性的、按时间顺序排列的,并且可供网络上的所有其他人使用。

计算逻辑:区块链账本的数字属性意味着,交易可以与计算逻辑和编程联系在一起。 因此,用户可以设置自动触发节点之间交易的算法和规则。

这五个原则只是对区块链简单的概括,白皮书中还对底层技术基础做了更详细的解释。

通过区块链,我们可以想象一个所有合约都嵌入代码,并存储在透明的共享数据库中的美妙世界。在这个世界上,每一个协议,每一个任务,每一次付款都会有一个数字记录和签名,可以被识别、验证、存储和共享。个人、组织、机器和算法可以自由地交换和互动,几乎没有摩擦。 这就是区块链的巨大潜力。

但技术创新的历史告诉我们,如果要发生一场区块链革命,许多障碍需要被清除,其中包括来自技术、政治、管理乃至社会氛围的影响。如果不理解区块链创新要如何发挥其作用,那仓促宣称做区块链就是错误的。

就像早期的互联网一样,我们也已经看到了不少公司已经在探索区块链的应用场景。

在国内,如微众银行将区块链应用在贷款结算清算场景中;腾讯、工商银行也在实施对区块链与公益的应用等;在国外,2016年巴克莱银行就通过区块链完成企业的贸易结算,证券交易以及衍生品交易等;而2018年汇丰银行也启动了区块链试点项目以支持实时交易。

尤其是金融领域,可能成为区块链技术落地最多的领域,涵盖支付清算、保险理赔、交易所、数字资产、票据等等。而除此之外,白皮书中还辅以真实的案例,分析了区块链在供应链、物流、保险、物联网等领域的应用。

变革性的应用可能仍旧遥不可及,我们无法准确预测这种转变需要多少年,但从现有的实践中获得经验是有必要的。《区块链基础及应用白皮书》正是希望系统呈现相关产业应用的全貌,为了解区块链提供有价值参考。

变革性的应用还将产生新的平台级别的参与者,这些参与者将协调和管理新的生态系统,并最终形成下一个Google或Facebook。实现这样的机会需要耐心。 查看全部
就像最初的互联网一样,区块链也是一种带有激进,甚至是共产主义色彩的理念,它同时也吸引了资本主义贪婪的欲望。

2017年,是区块链爆发又冷静的一年。这一年,区块链及加密货币走向更广泛的主流世界。暴富神话传遍大街小巷;小到数人团队,大到上市集团纷纷跑步入场。也在这一年,中国直接戳破泛滥的ICO泡沫,关闭法币交易渠道,随后世界多国警示ICO和虚拟货币风险,推动监管沙盒,将其纳入监管范围。

技术的发展永无止境,何况是区块链这一诞生不过十年的新事物,理论和基础架构还待完善,思维模式、组织流程需同时适配。它就像TCP/IP一样,是一种基础技术,所面临的技术、监管和社会的复杂程度也将是前所未有的。

我们都听说区块链会带来商业革命的观点,但是这可能需要比许多人声称的更长的时间。

近日,雷锋网发布了历时3个月打造的原创《区块链基础及应用白皮书》,深入访谈与研究国内外诸多区块链技术及应用公司,希望以此厘清关于区块链现状的事实与真相,拨开笼罩其上的迷雾。

如果要简单理解区块链,可以遵循以下五个原则:

分布式数据库:区块链的所有参与方都可以访问整个数据库及其完整的历史,没有谁能够控制数据或信息,每一方都可以在没有中间人的情况下直接核实交易记录。

P2P传输:通信直接在节点之间发生,而不是通过一个中心节点。每个节点存储和转发信息到所有其他节点。

透明与匿名:每个访问系统的人都可以看到交易信息。每个用户都可以有独特的地址,并可以选择保持匿名或向他人提供身份证明。

记录不可逆:一旦在数据库中输入一项交易并对账户进行更新,就不能更改记录。区块链的算法可以确保数据库上的记录是永久性的、按时间顺序排列的,并且可供网络上的所有其他人使用。

计算逻辑:区块链账本的数字属性意味着,交易可以与计算逻辑和编程联系在一起。 因此,用户可以设置自动触发节点之间交易的算法和规则。

这五个原则只是对区块链简单的概括,白皮书中还对底层技术基础做了更详细的解释。

通过区块链,我们可以想象一个所有合约都嵌入代码,并存储在透明的共享数据库中的美妙世界。在这个世界上,每一个协议,每一个任务,每一次付款都会有一个数字记录和签名,可以被识别、验证、存储和共享。个人、组织、机器和算法可以自由地交换和互动,几乎没有摩擦。 这就是区块链的巨大潜力。

但技术创新的历史告诉我们,如果要发生一场区块链革命,许多障碍需要被清除,其中包括来自技术、政治、管理乃至社会氛围的影响。如果不理解区块链创新要如何发挥其作用,那仓促宣称做区块链就是错误的。

就像早期的互联网一样,我们也已经看到了不少公司已经在探索区块链的应用场景。

在国内,如微众银行将区块链应用在贷款结算清算场景中;腾讯、工商银行也在实施对区块链与公益的应用等;在国外,2016年巴克莱银行就通过区块链完成企业的贸易结算,证券交易以及衍生品交易等;而2018年汇丰银行也启动了区块链试点项目以支持实时交易。

尤其是金融领域,可能成为区块链技术落地最多的领域,涵盖支付清算、保险理赔、交易所、数字资产、票据等等。而除此之外,白皮书中还辅以真实的案例,分析了区块链在供应链、物流、保险、物联网等领域的应用。

变革性的应用可能仍旧遥不可及,我们无法准确预测这种转变需要多少年,但从现有的实践中获得经验是有必要的。《区块链基础及应用白皮书》正是希望系统呈现相关产业应用的全貌,为了解区块链提供有价值参考。

变革性的应用还将产生新的平台级别的参与者,这些参与者将协调和管理新的生态系统,并最终形成下一个Google或Facebook。实现这样的机会需要耐心。

通过侧链扩展以太坊 dApp

技术block 发表了文章 • 0 个评论 • 5 次浏览 • 4 天前 • 来自相关话题

我们展望一种未来,社区运行在区块链及网站上(例如 Twitter, Reddit, Facebook, StackOverflow 甚至大型多人在线 RPG)完全由社区驱动,并且不会被审查。

❖ 以太坊做不到吗?

如今的dApps有着无法扩展的瓶颈:

与其他所有的 dApp 及金融交易竞争资源(即,用户可以为了让交易更快得到确认而支付更高的gas费用,由此形成了无法扩展的交易成本市场)
dApp 的交易与上百万的资产转移交易具有同等的安全性。
除非有一个中心实体控制该 dApp,否则 dApp 无法更新。

我们注意到,在这些 dApp 中并不是每一个操作都需要同样最高级别的安全性。与篡改或者双重支付价值数百万的以太币交易相比,攻击价值转移量小的游戏或社交app上的帖子的动机就要小得多。

从本质上来说, 当以太坊用户不需要最大的安全级别时,会支付额外的费用来运行 dApp 上的功能。

❖ 走进dApp链

什么是dApp链?

Loom Network 允许开发者通过使用 dApp 链搭建大规模游戏及社交 App,使用 dApp作为他们自己的侧链运行。

更具体地说,dApp 链是一种平行于主链(例如以太坊),用于特定用途的侧链,其规则集是基于具体用例进行定制的,其安全性由主链的共识算法所维护。

1 dApp = 1 dAppChain.

运行在Loom dApp链上的dApp是平等的。

想要支持某一 dApp 并且在其开发过程中有投票权的用户可以在 dApp 链上运行属于自己的节点。这意味着如果开发者发布用户不满意的更新,用户可以配置他们的节点来拒绝更新并分叉出新链。

与开发者可以发布社区不满意版本的传统游戏及 web 服务不同,在这里,用户可以投票并表达他们的想法。

运行在 Loom dApp 链上的 dApp 是可扩展的

由于在 dApp 链上发生的所有交易都是针对其 dApp 的,因此可以运行一种共识算法来优化这些特殊类型的交易。

例如,就游戏而言,我们可以使用像 DPoS 这样运行速度非常快而且廉价的共识算法。

这与使用 ASIC 来实现特定需求的高性能相类似。每一个 dApp 链都是为其 dApp 量身定制和优化的。

运行在Loom dApp链上的dApp数据是公开并且可共享的。

在传统游戏或web服务中,如果开发者决定发布用户不满意的更新或者封禁/审查某个账户,则无法对此进行任何处理(除了提交投诉)。游戏进行到某一时间点的任何数据也都不可能被再次访问。

另一方面,在 dApp 链中运行节点可以为用户提供自 dApp 链创世区块以来所有数据的全部副本。

这种可共享、公开的数据同时也允许进一步创新及全新概念的出现,例如共享相同状态的两个不同游戏。

你可以有一款“魔兽世界”类型的游戏,其中的虚拟世界是被玩家在“我的世界”类型的游戏中创造的。玩家在每个世界中的行为都会影响另一个游戏的世界。

开发者可以发布一款新游戏,该游戏使用存储在dApp链上其他游戏世界的角色数据。这样,游戏的新用户可以使用他们现有的角色和资产立即加入新的世界(其实就是将你之前游戏的数据空投到新的游戏中)。

运行在Loom dApp链上的dApp是安全的。

就像之前讨论过的一样,为了扩展而牺牲去中心化程度的算法都是不理想的,因为这样增加了来自强大对手的攻击面。该原则也适用于 Loom dApp 链,但是有一个很大的区别,那就是激励机制。

攻击者需要花费大量资源来攻击区块链。在像以太坊这样的通用区块链中,人们有很强大的动机来发起攻击,因为会有大量的价值被转移,并且双重支付或篡改一定数量的交易会得到高额的回报。

在代表某一社区的dApp链中,有以下几条限制:

与修改金融交易相比,篡改某条推文所能得到的回报要少得多。这就抑制了恶意的行为,除非该攻击涉及我们在这里没有讨论到的政治利益。
尽管回报很低,如果还是有攻击者成功攻击了社区,社区也可以在更早的时间点自由分叉并继续走自己的路,就像在DAO攻击之后,以太坊分裂为以太坊和以太坊经典一样。

最终的结果是让 dApp 可以在扩展和去中心化之间达到平衡。

搭建 Loom dApp 链是对开发者友好的。

开发者将可以使用 Loom 软件开发工具包(SDK)来生成 dApp 链的基础。

然后,当 Loom 处理好所有区块链逻辑后,开发者就可以专注于编写 App 的逻辑了。

我们第一个版本的SDK将在3月份发布。

我们让你不仅仅能创建一个 dApp——更可以创建一条真正的区块链。

❖  结论

本文描述了我们对以太坊 dApp 可扩展且去中心化未来的展望。

请注意,像 Raiden、Plasma、Sharding、Casper 或 Truebit 等以太坊的扩展解决方案仍然非常有必要。

Loom Network 通过将主链的计算卸载到 dApp 链上而有助于扩展,同时仍然允许 dApp 在安全的区块链上运行。

总结一下,Loom dApp 链支持以下几点功能:

为开发者提供一种用户友好的方式来创建他们自己的基于区块链的 App,而无需了解关于实际区块链逻辑的任何内容,从而让他们专注于 App 的核心逻辑。
使得搭建像大型多人在线角色扮演游戏(MMORPG)及社交媒体等应用无需受限于以太坊高额的 gas 费用开销及其缓慢的速度。
与一部分运行在以太坊,另一部分运行在中心化web服务器上的流行 dApp 相反,Loom 使得 dApp 可以完全在去中心化区块链上运行。
dApp 链让 dApp 可更新、可分叉,并且公开共享数据,允许进一步的实验和创新。 查看全部
我们展望一种未来,社区运行在区块链及网站上(例如 Twitter, Reddit, Facebook, StackOverflow 甚至大型多人在线 RPG)完全由社区驱动,并且不会被审查。

❖ 以太坊做不到吗?

如今的dApps有着无法扩展的瓶颈:

与其他所有的 dApp 及金融交易竞争资源(即,用户可以为了让交易更快得到确认而支付更高的gas费用,由此形成了无法扩展的交易成本市场)
dApp 的交易与上百万的资产转移交易具有同等的安全性。
除非有一个中心实体控制该 dApp,否则 dApp 无法更新。

我们注意到,在这些 dApp 中并不是每一个操作都需要同样最高级别的安全性。与篡改或者双重支付价值数百万的以太币交易相比,攻击价值转移量小的游戏或社交app上的帖子的动机就要小得多。

从本质上来说, 当以太坊用户不需要最大的安全级别时,会支付额外的费用来运行 dApp 上的功能。

❖ 走进dApp链

什么是dApp链?

Loom Network 允许开发者通过使用 dApp 链搭建大规模游戏及社交 App,使用 dApp作为他们自己的侧链运行。

更具体地说,dApp 链是一种平行于主链(例如以太坊),用于特定用途的侧链,其规则集是基于具体用例进行定制的,其安全性由主链的共识算法所维护。

1 dApp = 1 dAppChain.

运行在Loom dApp链上的dApp是平等的。

想要支持某一 dApp 并且在其开发过程中有投票权的用户可以在 dApp 链上运行属于自己的节点。这意味着如果开发者发布用户不满意的更新,用户可以配置他们的节点来拒绝更新并分叉出新链。

与开发者可以发布社区不满意版本的传统游戏及 web 服务不同,在这里,用户可以投票并表达他们的想法。

运行在 Loom dApp 链上的 dApp 是可扩展的

由于在 dApp 链上发生的所有交易都是针对其 dApp 的,因此可以运行一种共识算法来优化这些特殊类型的交易。

例如,就游戏而言,我们可以使用像 DPoS 这样运行速度非常快而且廉价的共识算法。

这与使用 ASIC 来实现特定需求的高性能相类似。每一个 dApp 链都是为其 dApp 量身定制和优化的。

运行在Loom dApp链上的dApp数据是公开并且可共享的。

在传统游戏或web服务中,如果开发者决定发布用户不满意的更新或者封禁/审查某个账户,则无法对此进行任何处理(除了提交投诉)。游戏进行到某一时间点的任何数据也都不可能被再次访问。

另一方面,在 dApp 链中运行节点可以为用户提供自 dApp 链创世区块以来所有数据的全部副本。

这种可共享、公开的数据同时也允许进一步创新及全新概念的出现,例如共享相同状态的两个不同游戏。

你可以有一款“魔兽世界”类型的游戏,其中的虚拟世界是被玩家在“我的世界”类型的游戏中创造的。玩家在每个世界中的行为都会影响另一个游戏的世界。

开发者可以发布一款新游戏,该游戏使用存储在dApp链上其他游戏世界的角色数据。这样,游戏的新用户可以使用他们现有的角色和资产立即加入新的世界(其实就是将你之前游戏的数据空投到新的游戏中)。

运行在Loom dApp链上的dApp是安全的。

就像之前讨论过的一样,为了扩展而牺牲去中心化程度的算法都是不理想的,因为这样增加了来自强大对手的攻击面。该原则也适用于 Loom dApp 链,但是有一个很大的区别,那就是激励机制。

攻击者需要花费大量资源来攻击区块链。在像以太坊这样的通用区块链中,人们有很强大的动机来发起攻击,因为会有大量的价值被转移,并且双重支付或篡改一定数量的交易会得到高额的回报。

在代表某一社区的dApp链中,有以下几条限制:

与修改金融交易相比,篡改某条推文所能得到的回报要少得多。这就抑制了恶意的行为,除非该攻击涉及我们在这里没有讨论到的政治利益。
尽管回报很低,如果还是有攻击者成功攻击了社区,社区也可以在更早的时间点自由分叉并继续走自己的路,就像在DAO攻击之后,以太坊分裂为以太坊和以太坊经典一样。

最终的结果是让 dApp 可以在扩展和去中心化之间达到平衡。

搭建 Loom dApp 链是对开发者友好的。

开发者将可以使用 Loom 软件开发工具包(SDK)来生成 dApp 链的基础。

然后,当 Loom 处理好所有区块链逻辑后,开发者就可以专注于编写 App 的逻辑了。

我们第一个版本的SDK将在3月份发布。

我们让你不仅仅能创建一个 dApp——更可以创建一条真正的区块链。

❖  结论

本文描述了我们对以太坊 dApp 可扩展且去中心化未来的展望。

请注意,像 Raiden、Plasma、Sharding、Casper 或 Truebit 等以太坊的扩展解决方案仍然非常有必要。

Loom Network 通过将主链的计算卸载到 dApp 链上而有助于扩展,同时仍然允许 dApp 在安全的区块链上运行。

总结一下,Loom dApp 链支持以下几点功能:

为开发者提供一种用户友好的方式来创建他们自己的基于区块链的 App,而无需了解关于实际区块链逻辑的任何内容,从而让他们专注于 App 的核心逻辑。
使得搭建像大型多人在线角色扮演游戏(MMORPG)及社交媒体等应用无需受限于以太坊高额的 gas 费用开销及其缓慢的速度。
与一部分运行在以太坊,另一部分运行在中心化web服务器上的流行 dApp 相反,Loom 使得 dApp 可以完全在去中心化区块链上运行。
dApp 链让 dApp 可更新、可分叉,并且公开共享数据,允许进一步的实验和创新。

比特币白皮书(中文译)

技术block 发表了文章 • 0 个评论 • 11 次浏览 • 6 天前 • 来自相关话题

写在前面:重读了比特币白皮书,突然有了翻译成中文的冲动,说干就干,用了一整天的时间逐句翻译了一遍,感叹比特币设计之巧妙,值得我们再学习,不管是以太坊的区块链2.0,还是EOSIO的区块链3.0,思想均来自比特币。比特币对于区块链的诠释最为直接,比特币是第一个基于区块链的通证系统,通证的流通和发行都可以在比特币上得到启发,为通证经济的发展提供了具体的指导,非常珍贵。翻译如有不当,欢迎指正。

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

摘要. 一个完全的点对点版本的电子现金将允许一方不通过金融机构直接在线支付给另一方。电子签名提供了部分解决方案,但是如果还需要一个可信任的第三方来防止双花,那么这个最大的好处也就没有意义。我们提出一个用点对点网络来解决双花的方案。这个网络给每笔交易打上时间戳,并进行哈希计算,放进一条基于哈希工作量证明的链,这形成了一个不可改变的记录,除非重做这些工作量。最长的链不仅是见证序列的证明,还证明了它来自最大的CPU算力池。因为大部分的算力由诚实的节点控制,他们将会产生一条比攻击者要长的链。网络本身需要极小化结构。消息被尽力广播,并且节点可以随意离开或重新加入网络,接受最长的工作量证明的链作为它离开这段时间发生事情的证明。

1. 介绍

互联网上的商业几乎完全依赖信任的第三方金融机构来处理电子支付。对于大多数交易来说,这套系统工作的足够好了,但是依然受到了基于信任模型的天然缺点的困扰。完全不能撤销的交易是不可能的,因为第三方金融机构不可避免的要调解纠纷。调解的代价增加了交易的成本,限制了最小实际交易的大小,切断了临时交易的可能性,丧失了对不可撤销服务提供不可撤销支付的可能性,这又是一个广义成本。因为撤销的可能性,信任的需要不断蔓延开来。商户必须堤防他们的客户,越来越多的他们本不该需要的信息困扰着他们。不得不接受一定比例的骗子。这些成本和支付的不确定问题可以用面对面使用现金避免,但是还没有机制存在使得通过通信信道支付而不需要信任的第三方。

需要的是一个电子支付系统,这个系统建立在密码学证明基础上而不是信任,允许任意有这个意愿的双方直接相互转账而不需要一个信任的第三方。交易从计算上不可撤销的,这将保护卖方权益防止被骗,并且常规的托管机制很容易实现来保护买方权益。在本论文里,我们提出了一个防止双花的解决方案,使用点对点分布式时间戳服务器来产生按时间排序的交易的计算证明。只要诚实节点控制的CPU的算力大于攻击者节点的算力,这个系统就是安全的。

2. 交易

我们把一种电子币定义成一条数字签名链。每一个所有者把币转给下一个人的时候,是通过将前一个交易的哈希和下一个所有者的公钥进行数字签名,并把这些追加在币的后面。收款人可以通过验证数字签名来确认链的所有者。

[比特币白皮书(中文译)]

当然,问题是收款人无法验证其中的一个所有者是否同一个币花了两次(双花)。一个普遍的做法是引入一个信任的中央机关,或铸币厂,他们可以检查每一笔交易来防止双花问题。每次交易后,这个币必须返回到铸币厂,这样才能发行新币,只有直接从铸币厂发行的币才被相信是没有被双花的。这个方案的问题是,整个金钱系统的命运掌握在经营铸币厂的公司,每一笔交易都要经过他们,就像银行一样。

我们需要一种方法,这种方法让收款人知道上一个所有者没有签署任何以前的交易。我们的目的是,让最早的交易是可信的,我们不关心后面是不是有人企图进行双花。仅有的可以确认某一个交易存在的办法是要知道所有的交易。在基于铸币厂的模型中,铸币厂知道所有的交易,并且可以确定哪个交易先发生。为了在无信任第三方的情况下达到这个目的,交易必须要对公众进行通知,并且我们需要一个系统,这个系统的参与者要达成共识,这个共识就是认同同一个按收到的交易顺序排列的历史记录。收款人需要证据来说明在每一笔交易的时候,大多数节点一致认为这个交易是第一时间到达的。

3. 时间戳服务器

我们提出的解决方案从一个时间戳服务器开始。这个服务器工作方式是,对条目所在的区块的哈希加盖时间戳,并且广泛的公布这些哈希,比如通过报纸或新闻组邮件。显然,为了能进入这个哈希序列,时间戳证明的数据在那个时间必须存在。每一个时间戳和以前的时间戳,形成一条链,每一个追加的时间戳都是对前一个时间戳进行加强。

[比特币白皮书(中文译)]

4. 工作量证明

为了基于点对点的基础实现一个分布式的时间戳服务器,我们将需要一个工作量证明的系统,这个系统和亚当·贝克的哈希现金类似,而不是报纸或新闻组邮件。这个工作量包含寻找一个哈希值,比如用哈希算法SHA-256,这个哈希值以若干0开头。平均工作量和开头的0的个数是指数关系,并且验证很简单,只需要执行一次单独的哈希计算。

在我们的时间戳网络里,是这样实现工作量证明的,就是不断增加区块里的一个临时的数值,直到找到一个值使得区块的哈希值满足开头0的个数的要求。一旦CPU花费算力计算满足了工作量证明的要求,这个区块链就无法修改,除非重新计算。随着后面的区块不断产生,想要改变这个区块,需要重做它后面所有区块的工作量。

[比特币白皮书(中文译)]

工作量证明还解决了在多数决策法中决定展示的问题。如果大多数是基于一个IP一票,这可能会被可以支配多个IP的人破坏。工作量证明本质上也是一个IP一票。最长的链代表了大多数人的决定,这个链投入了最大的工作量。如果大多数的CPU算力由诚实节点控制,诚实的链就会增加的很快,超过任何竞争链。为了修改过去的一个块,攻击者需要重新投入算力完成这个区块和它以后所有区块的工作量,然后追上并超越诚实节点的工作量。我们后面讨论落后的攻击者追上的概率,这个概率随着后面区块的增加呈指数级减少。

硬件的速度越来越快,参与运行的节点随时间兴趣也经常变化,为了抵消这些因素的影响,工作量的难度是由每小时区块产生数量的浮动性决定的。如果区块产生的太快,难度就相应的增加。

5. 网络

运行这个网络的步骤如下:

1) 新交易给所有节点广播。

2) 每个节点将新交易放到一个区块。

3) 每个节点开始为这个区块寻找相应难度的工作量证明。

4) 当一个节点找到了这个工作量证明,把这个区块广播给所有节点。

5) 如果区块里所有的交易是有效的并且是没有被花费的,节点就会接受这个区块。

6) 节点把这个区块的哈希作为上一个哈希,并开始进行工作以竞争创建下一个区块。

节点总是认为最长的链是正确的,并且不断的工作去延长它。如果两个节点同时广播下一个区块,一些节点可能接受其中一个,也可能是另一个。这种情况下,他们在最先收到的区块上工作,但是也会保存另外一个分支以防它会变得更长。当下一个工作量被找到并且一个分支变得更长时,这种情况就会被打破,在另外一个分支上工作的节点将会切换到这个长的链上。

新交易广播不一定要广播到所有节点。只要他们能到达很多节点,这个交易很快就会进入下一个块。区块广播也能接受消息丢失。如果一个节点没有收到区块,当它收到下一个块时会发现自己少了一个区块,它就会请求来获得少的这个区块。

6. 激励

按照惯例,区块的第一个交易是一个特别的交易,这个交易会发行新币并且所有者是这个区块的创建者。这为节点支持网络引入了激励机制,并且这提供了一个初始发行货币进入流通的方式,因为没有一个中央机构去发行他们。不断增加新货币的过程类似于黄金矿工消耗资源来增加黄金的流通。在这里,消耗的事CPU的时间和电费。

激励还包括提供交易手续费。如果交易中输出值比输入值小,这个差值就是交易手续费,它被加入到这个区块激励值里。一旦预定数量的币全部进入流通,激励就全部转为交易手续费,完全没有通货膨胀。

激励有助于鼓励节点保持诚实。如果一个贪婪的攻击者掌握了比所有诚实节点还要大的算力,他将面临一个选择,是通过偷回他支付的钱来咋骗别人,还是用这个算力产生新的币。他应该会发现遵守规则更有好处,这个规则可以让他比其他人组合得到更多的新币,比破坏这个系统得到的更多,而且财产合法。

7. 回收磁盘空间

一旦一个币最新的交易被足够多的区块埋没,它之前的花费的交易就可以丢掉来节省空间。为了促成这个而不破坏区块的哈希,用这些交易生成一个默克尔树,仅仅根包含在区块的哈希里。那么旧区块可以通过去除树的一些分支进行压缩。有些内部的哈希就不用保存了。

[比特币白皮书(中文译)]

一个区块头大概80字节。如果我们假设每十分钟产生一个区块,一年就是80字节*6*24*365=4.2兆字节。2008年出售的电脑典型的配置是2GB内存,根据摩尔定律预测,每年增加1.2G,即使区块头全部放在内存里,存储也不是个问题。

8. 简化支付验证

即使不运行全网络节点,验证支付也是可能的。用户仅需要保存最长工作量证明链的区块头的拷贝,他通过查询网络节点直到确信它有最长的链来获取区块头,并且可以得到默克尔分支,分支连接了交易和这个打了时间戳的区块。他本身不能验证交易,但是通过连接到链上的一个地方,他可以看到网络节点已经接受了它,后面的区块进一步确定网络接受了它。

[比特币白皮书(中文译)]

因此,如果诚实节点控制着网络,验证就是可靠的,如果网络被攻击者控制,验证就是很弱的。虽然网络节点本身可以验证交易,但这种简化验证的方法会被攻击者编造的交易欺骗,因为攻击者可能持续控制网络。防止这种情况的一种策略是接收网络节点的告警,当他们检测到无效块的时候,提示用户软件下载整个区块,并且提醒确认交易的一致性。频繁接收支付的企业可能仍然想运行他们自己的节点,为了更独立的安全性和更快的验证。

9. 组合和分割价值

虽然可以单独处理币,为转账的每一分都单独交易是很不方便的。为了能是价值分割和组合,交易包含多个输入和多个输出。正常的会有一个单独从以前交易来的大额输入或多个小额输入组合在一起,最多两个输出:一个用来支付,一个用来找零,有零钱的话会返还给发送者。

[比特币白皮书(中文译)]

应该注意的是,一个交易依赖几个交易,这些交易依赖更多的交易,看起来很分散,但在这里不是一个问题。从不需要提取一个交易全部历史的独立的拷贝。

10. 隐私

传统的银行通过限制向有关方和信任的第三方提供信息来达到一个保护隐私的目的。向公众广播所有交易的必须性将这个方法排除了。通过打破信息在其他地方的流动性仍然可以保护隐私:通过保持公钥匿名性。公众可以看到一个人给其他人转钱了,但是没有信息可以把交易和某人联系起来。这类似于证券交易所公布的信息水平,交易时间和个人的交易规模是公开的,但不告诉当事人是谁。

[比特币白皮书(中文译)]

作为一个附加的防火墙,每次交易都使用一个新的密钥对,防止和一个共同的所有者联系起来。对于多输入交易来说,这个联系无法避免,所有的输入必须表明由同一个人所有。风险是如果表明了某一个密钥的所有者,这种联系将表明其他的交易也属于同一个人。

11. 计算

我们想象一个这样的场景,攻击者想用比诚实节点更快的速度产生一个替代链。即使成功了,也不会让系统能任意被修改,比如凭空产生价值或拿走不属于攻击者的钱。节点将不会接受一个无效的支付,并且诚实节点绝不会接受包含这种支付的区块。攻击者只能试着改变自己的交易来拿回本该花出去的钱。

诚实的链和攻击链的竞争可以说是二项式随机走动。成功事件是诚实链延长一个区块,领先优势加一,失败事件是攻击链延长一个区块,缩小一个差距。

一个攻击者从一个给定的赤字中追上的概率类似于一个赌徒破产问题。假设一个信用无限的赌徒从赤字开始,开始进行潜在次数无数的赌博,试图达到盈亏平衡。我们可以计算他达到盈亏平衡的概率,或者说是攻击链赶上诚实链的概率,如下:

p=诚实节点发现下一个区块的概率

q=攻击者找到下一个区块的概率

qz =攻击者在落后z个区块的情况下,追上的概率

[比特币白皮书(中文译)]

假设p>q,随着落后区块数量(z)增加,攻击者追上的概率呈指数下降。这个概率情况对攻击者不利,如果他没有幸运的提前向前冲刺,落后越多希望就越渺茫。

我们现在考虑接收者在收到新的交易的时候,需要等待多长时间才能完全确定交易不能被发送者修改。我们假设发送者是攻击者,他想让接收者暂时相信他已经付款了,然后过了一段时间又换成是支付给自己。这事发生的时候接收者会收到告警,但是发送者希望一切都晚了。

接收者创建了一个新的密钥对,签名之前很短的时间把公钥给了发送者。这防止发送者提前准备一条链,持续在上面工作,直到他足够幸运达到了领先的程度,正好执行刚才这条交易。一旦这个交易发送了,不诚实的发送者开始在一个并行的链上秘密工作,这条链包含他的交易的另一个版本。

接收者一直等待直到交易被添加到一个区块中,并且后面已经追加了z个区块了。他并不知道攻击者的准确进展,但是可以假设诚实区块每个区块花费的时间是平均期望时间,攻击者潜在的进展将服从泊松分布,期望值:

[比特币白皮书(中文译)]

为了得到目前攻击者仍能追上的概率,我们将他所取得的每一步进展的泊松密度乘以他可能从那一点赶上的概率。

[比特币白皮书(中文译)]

变换一下避免对分布的无穷尾部求和…

[比特币白皮书(中文译)]

转换成C代码…

#include <math.h>

double AttackerSuccessProbability(double q, int z)

{

double p = 1.0 – q;

double lambda = z * (q / p);

double sum = 1.0;

int i, k;

for (k = 0; k <= z; k++)

{

double poisson = exp(-lambda);

for (i = 1; i <= k; i++)

poisson *= lambda / i;

sum -= poisson * (1 – pow(q / p, z – k));

}

return sum;

}

运行结果,我们可以看到概率随z的增加呈指数下降。

q=0.1

z=0 P=1.0000000

z=1 P=0.2045873

z=2 P=0.0509779

z=3 P=0.0131722

z=4 P=0.0034552

z=5 P=0.0009137

z=6 P=0.0002428

z=7 P=0.0000647

z=8 P=0.0000173

z=9 P=0.0000046

z=10 P=0.0000012

q=0.3

z=0 P=1.0000000

z=5 P=0.1773523

z=10 P=0.0416605

z=15 P=0.0101008

z=20 P=0.0024804

z=25 P=0.0006132

z=30 P=0.0001522

z=35 P=0.0000379

z=40 P=0.0000095

z=45 P=0.0000024

z=50 P=0.0000006

对于p<0.1%的求解…

p < 0.001

q=0.10 z=5

q=0.15 z=8

q=0.20 z=11

q=0.25 z=15

q=0.30 z=24

q=0.35 z=41

q=0.40 z=89

q=0.45 z=340

12. 结论

我们为无信任电子交易提出了一个系统。我们从数字签名币的常用框架开始,它对所有者有很强的控制,但是因为不能避免双花,所以还不完整。为了解决双花,我们提出了一个点对点的网络,这个网络使用工作量证明记录一个公共的交易历史,只要诚实节点控制大部分CPU算力,很快使得攻击者无法通过计算来改变交易历史。该网络的非结构化简单性使得它很稳健。节点同时工作,很少需要相互协调。他们不需要被识别,因为消息不需要路由到任何特定的位置,只需尽力传递就好。节点可以离开网络,也可以需要的时候重新加入网络,接受工作量链作为他离开的时候发生了什么的证据。他们用CPU算力投票,通过在有效区块上工作并延续它来表达对区块的接受,通过不在新区块上工作表示拒绝无效区块。任何需要的规则和激励都可以在这种共识机制下进行。 查看全部
写在前面:重读了比特币白皮书,突然有了翻译成中文的冲动,说干就干,用了一整天的时间逐句翻译了一遍,感叹比特币设计之巧妙,值得我们再学习,不管是以太坊的区块链2.0,还是EOSIO的区块链3.0,思想均来自比特币。比特币对于区块链的诠释最为直接,比特币是第一个基于区块链的通证系统,通证的流通和发行都可以在比特币上得到启发,为通证经济的发展提供了具体的指导,非常珍贵。翻译如有不当,欢迎指正。

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

摘要. 一个完全的点对点版本的电子现金将允许一方不通过金融机构直接在线支付给另一方。电子签名提供了部分解决方案,但是如果还需要一个可信任的第三方来防止双花,那么这个最大的好处也就没有意义。我们提出一个用点对点网络来解决双花的方案。这个网络给每笔交易打上时间戳,并进行哈希计算,放进一条基于哈希工作量证明的链,这形成了一个不可改变的记录,除非重做这些工作量。最长的链不仅是见证序列的证明,还证明了它来自最大的CPU算力池。因为大部分的算力由诚实的节点控制,他们将会产生一条比攻击者要长的链。网络本身需要极小化结构。消息被尽力广播,并且节点可以随意离开或重新加入网络,接受最长的工作量证明的链作为它离开这段时间发生事情的证明。

1. 介绍

互联网上的商业几乎完全依赖信任的第三方金融机构来处理电子支付。对于大多数交易来说,这套系统工作的足够好了,但是依然受到了基于信任模型的天然缺点的困扰。完全不能撤销的交易是不可能的,因为第三方金融机构不可避免的要调解纠纷。调解的代价增加了交易的成本,限制了最小实际交易的大小,切断了临时交易的可能性,丧失了对不可撤销服务提供不可撤销支付的可能性,这又是一个广义成本。因为撤销的可能性,信任的需要不断蔓延开来。商户必须堤防他们的客户,越来越多的他们本不该需要的信息困扰着他们。不得不接受一定比例的骗子。这些成本和支付的不确定问题可以用面对面使用现金避免,但是还没有机制存在使得通过通信信道支付而不需要信任的第三方。

需要的是一个电子支付系统,这个系统建立在密码学证明基础上而不是信任,允许任意有这个意愿的双方直接相互转账而不需要一个信任的第三方。交易从计算上不可撤销的,这将保护卖方权益防止被骗,并且常规的托管机制很容易实现来保护买方权益。在本论文里,我们提出了一个防止双花的解决方案,使用点对点分布式时间戳服务器来产生按时间排序的交易的计算证明。只要诚实节点控制的CPU的算力大于攻击者节点的算力,这个系统就是安全的。

2. 交易

我们把一种电子币定义成一条数字签名链。每一个所有者把币转给下一个人的时候,是通过将前一个交易的哈希和下一个所有者的公钥进行数字签名,并把这些追加在币的后面。收款人可以通过验证数字签名来确认链的所有者。

[比特币白皮书(中文译)]

当然,问题是收款人无法验证其中的一个所有者是否同一个币花了两次(双花)。一个普遍的做法是引入一个信任的中央机关,或铸币厂,他们可以检查每一笔交易来防止双花问题。每次交易后,这个币必须返回到铸币厂,这样才能发行新币,只有直接从铸币厂发行的币才被相信是没有被双花的。这个方案的问题是,整个金钱系统的命运掌握在经营铸币厂的公司,每一笔交易都要经过他们,就像银行一样。

我们需要一种方法,这种方法让收款人知道上一个所有者没有签署任何以前的交易。我们的目的是,让最早的交易是可信的,我们不关心后面是不是有人企图进行双花。仅有的可以确认某一个交易存在的办法是要知道所有的交易。在基于铸币厂的模型中,铸币厂知道所有的交易,并且可以确定哪个交易先发生。为了在无信任第三方的情况下达到这个目的,交易必须要对公众进行通知,并且我们需要一个系统,这个系统的参与者要达成共识,这个共识就是认同同一个按收到的交易顺序排列的历史记录。收款人需要证据来说明在每一笔交易的时候,大多数节点一致认为这个交易是第一时间到达的。

3. 时间戳服务器

我们提出的解决方案从一个时间戳服务器开始。这个服务器工作方式是,对条目所在的区块的哈希加盖时间戳,并且广泛的公布这些哈希,比如通过报纸或新闻组邮件。显然,为了能进入这个哈希序列,时间戳证明的数据在那个时间必须存在。每一个时间戳和以前的时间戳,形成一条链,每一个追加的时间戳都是对前一个时间戳进行加强。

[比特币白皮书(中文译)]

4. 工作量证明

为了基于点对点的基础实现一个分布式的时间戳服务器,我们将需要一个工作量证明的系统,这个系统和亚当&middot;贝克的哈希现金类似,而不是报纸或新闻组邮件。这个工作量包含寻找一个哈希值,比如用哈希算法SHA-256,这个哈希值以若干0开头。平均工作量和开头的0的个数是指数关系,并且验证很简单,只需要执行一次单独的哈希计算。

在我们的时间戳网络里,是这样实现工作量证明的,就是不断增加区块里的一个临时的数值,直到找到一个值使得区块的哈希值满足开头0的个数的要求。一旦CPU花费算力计算满足了工作量证明的要求,这个区块链就无法修改,除非重新计算。随着后面的区块不断产生,想要改变这个区块,需要重做它后面所有区块的工作量。

[比特币白皮书(中文译)]

工作量证明还解决了在多数决策法中决定展示的问题。如果大多数是基于一个IP一票,这可能会被可以支配多个IP的人破坏。工作量证明本质上也是一个IP一票。最长的链代表了大多数人的决定,这个链投入了最大的工作量。如果大多数的CPU算力由诚实节点控制,诚实的链就会增加的很快,超过任何竞争链。为了修改过去的一个块,攻击者需要重新投入算力完成这个区块和它以后所有区块的工作量,然后追上并超越诚实节点的工作量。我们后面讨论落后的攻击者追上的概率,这个概率随着后面区块的增加呈指数级减少。

硬件的速度越来越快,参与运行的节点随时间兴趣也经常变化,为了抵消这些因素的影响,工作量的难度是由每小时区块产生数量的浮动性决定的。如果区块产生的太快,难度就相应的增加。

5. 网络

运行这个网络的步骤如下:

1) 新交易给所有节点广播。

2) 每个节点将新交易放到一个区块。

3) 每个节点开始为这个区块寻找相应难度的工作量证明。

4) 当一个节点找到了这个工作量证明,把这个区块广播给所有节点。

5) 如果区块里所有的交易是有效的并且是没有被花费的,节点就会接受这个区块。

6) 节点把这个区块的哈希作为上一个哈希,并开始进行工作以竞争创建下一个区块。

节点总是认为最长的链是正确的,并且不断的工作去延长它。如果两个节点同时广播下一个区块,一些节点可能接受其中一个,也可能是另一个。这种情况下,他们在最先收到的区块上工作,但是也会保存另外一个分支以防它会变得更长。当下一个工作量被找到并且一个分支变得更长时,这种情况就会被打破,在另外一个分支上工作的节点将会切换到这个长的链上。

新交易广播不一定要广播到所有节点。只要他们能到达很多节点,这个交易很快就会进入下一个块。区块广播也能接受消息丢失。如果一个节点没有收到区块,当它收到下一个块时会发现自己少了一个区块,它就会请求来获得少的这个区块。

6. 激励

按照惯例,区块的第一个交易是一个特别的交易,这个交易会发行新币并且所有者是这个区块的创建者。这为节点支持网络引入了激励机制,并且这提供了一个初始发行货币进入流通的方式,因为没有一个中央机构去发行他们。不断增加新货币的过程类似于黄金矿工消耗资源来增加黄金的流通。在这里,消耗的事CPU的时间和电费。

激励还包括提供交易手续费。如果交易中输出值比输入值小,这个差值就是交易手续费,它被加入到这个区块激励值里。一旦预定数量的币全部进入流通,激励就全部转为交易手续费,完全没有通货膨胀。

激励有助于鼓励节点保持诚实。如果一个贪婪的攻击者掌握了比所有诚实节点还要大的算力,他将面临一个选择,是通过偷回他支付的钱来咋骗别人,还是用这个算力产生新的币。他应该会发现遵守规则更有好处,这个规则可以让他比其他人组合得到更多的新币,比破坏这个系统得到的更多,而且财产合法。

7. 回收磁盘空间

一旦一个币最新的交易被足够多的区块埋没,它之前的花费的交易就可以丢掉来节省空间。为了促成这个而不破坏区块的哈希,用这些交易生成一个默克尔树,仅仅根包含在区块的哈希里。那么旧区块可以通过去除树的一些分支进行压缩。有些内部的哈希就不用保存了。

[比特币白皮书(中文译)]

一个区块头大概80字节。如果我们假设每十分钟产生一个区块,一年就是80字节*6*24*365=4.2兆字节。2008年出售的电脑典型的配置是2GB内存,根据摩尔定律预测,每年增加1.2G,即使区块头全部放在内存里,存储也不是个问题。

8. 简化支付验证

即使不运行全网络节点,验证支付也是可能的。用户仅需要保存最长工作量证明链的区块头的拷贝,他通过查询网络节点直到确信它有最长的链来获取区块头,并且可以得到默克尔分支,分支连接了交易和这个打了时间戳的区块。他本身不能验证交易,但是通过连接到链上的一个地方,他可以看到网络节点已经接受了它,后面的区块进一步确定网络接受了它。

[比特币白皮书(中文译)]

因此,如果诚实节点控制着网络,验证就是可靠的,如果网络被攻击者控制,验证就是很弱的。虽然网络节点本身可以验证交易,但这种简化验证的方法会被攻击者编造的交易欺骗,因为攻击者可能持续控制网络。防止这种情况的一种策略是接收网络节点的告警,当他们检测到无效块的时候,提示用户软件下载整个区块,并且提醒确认交易的一致性。频繁接收支付的企业可能仍然想运行他们自己的节点,为了更独立的安全性和更快的验证。

9. 组合和分割价值

虽然可以单独处理币,为转账的每一分都单独交易是很不方便的。为了能是价值分割和组合,交易包含多个输入和多个输出。正常的会有一个单独从以前交易来的大额输入或多个小额输入组合在一起,最多两个输出:一个用来支付,一个用来找零,有零钱的话会返还给发送者。

[比特币白皮书(中文译)]

应该注意的是,一个交易依赖几个交易,这些交易依赖更多的交易,看起来很分散,但在这里不是一个问题。从不需要提取一个交易全部历史的独立的拷贝。

10. 隐私

传统的银行通过限制向有关方和信任的第三方提供信息来达到一个保护隐私的目的。向公众广播所有交易的必须性将这个方法排除了。通过打破信息在其他地方的流动性仍然可以保护隐私:通过保持公钥匿名性。公众可以看到一个人给其他人转钱了,但是没有信息可以把交易和某人联系起来。这类似于证券交易所公布的信息水平,交易时间和个人的交易规模是公开的,但不告诉当事人是谁。

[比特币白皮书(中文译)]

作为一个附加的防火墙,每次交易都使用一个新的密钥对,防止和一个共同的所有者联系起来。对于多输入交易来说,这个联系无法避免,所有的输入必须表明由同一个人所有。风险是如果表明了某一个密钥的所有者,这种联系将表明其他的交易也属于同一个人。

11. 计算

我们想象一个这样的场景,攻击者想用比诚实节点更快的速度产生一个替代链。即使成功了,也不会让系统能任意被修改,比如凭空产生价值或拿走不属于攻击者的钱。节点将不会接受一个无效的支付,并且诚实节点绝不会接受包含这种支付的区块。攻击者只能试着改变自己的交易来拿回本该花出去的钱。

诚实的链和攻击链的竞争可以说是二项式随机走动。成功事件是诚实链延长一个区块,领先优势加一,失败事件是攻击链延长一个区块,缩小一个差距。

一个攻击者从一个给定的赤字中追上的概率类似于一个赌徒破产问题。假设一个信用无限的赌徒从赤字开始,开始进行潜在次数无数的赌博,试图达到盈亏平衡。我们可以计算他达到盈亏平衡的概率,或者说是攻击链赶上诚实链的概率,如下:

p=诚实节点发现下一个区块的概率

q=攻击者找到下一个区块的概率

qz =攻击者在落后z个区块的情况下,追上的概率

[比特币白皮书(中文译)]

假设p>q,随着落后区块数量(z)增加,攻击者追上的概率呈指数下降。这个概率情况对攻击者不利,如果他没有幸运的提前向前冲刺,落后越多希望就越渺茫。

我们现在考虑接收者在收到新的交易的时候,需要等待多长时间才能完全确定交易不能被发送者修改。我们假设发送者是攻击者,他想让接收者暂时相信他已经付款了,然后过了一段时间又换成是支付给自己。这事发生的时候接收者会收到告警,但是发送者希望一切都晚了。

接收者创建了一个新的密钥对,签名之前很短的时间把公钥给了发送者。这防止发送者提前准备一条链,持续在上面工作,直到他足够幸运达到了领先的程度,正好执行刚才这条交易。一旦这个交易发送了,不诚实的发送者开始在一个并行的链上秘密工作,这条链包含他的交易的另一个版本。

接收者一直等待直到交易被添加到一个区块中,并且后面已经追加了z个区块了。他并不知道攻击者的准确进展,但是可以假设诚实区块每个区块花费的时间是平均期望时间,攻击者潜在的进展将服从泊松分布,期望值:

[比特币白皮书(中文译)]

为了得到目前攻击者仍能追上的概率,我们将他所取得的每一步进展的泊松密度乘以他可能从那一点赶上的概率。

[比特币白皮书(中文译)]

变换一下避免对分布的无穷尾部求和…

[比特币白皮书(中文译)]

转换成C代码…

#include <math.h>

double AttackerSuccessProbability(double q, int z)

{

double p = 1.0 – q;

double lambda = z * (q / p);

double sum = 1.0;

int i, k;

for (k = 0; k <= z; k++)

{

double poisson = exp(-lambda);

for (i = 1; i <= k; i++)

poisson *= lambda / i;

sum -= poisson * (1 – pow(q / p, z – k));

}

return sum;

}

运行结果,我们可以看到概率随z的增加呈指数下降。

q=0.1

z=0 P=1.0000000

z=1 P=0.2045873

z=2 P=0.0509779

z=3 P=0.0131722

z=4 P=0.0034552

z=5 P=0.0009137

z=6 P=0.0002428

z=7 P=0.0000647

z=8 P=0.0000173

z=9 P=0.0000046

z=10 P=0.0000012

q=0.3

z=0 P=1.0000000

z=5 P=0.1773523

z=10 P=0.0416605

z=15 P=0.0101008

z=20 P=0.0024804

z=25 P=0.0006132

z=30 P=0.0001522

z=35 P=0.0000379

z=40 P=0.0000095

z=45 P=0.0000024

z=50 P=0.0000006

对于p<0.1%的求解…

p < 0.001

q=0.10 z=5

q=0.15 z=8

q=0.20 z=11

q=0.25 z=15

q=0.30 z=24

q=0.35 z=41

q=0.40 z=89

q=0.45 z=340

12. 结论

我们为无信任电子交易提出了一个系统。我们从数字签名币的常用框架开始,它对所有者有很强的控制,但是因为不能避免双花,所以还不完整。为了解决双花,我们提出了一个点对点的网络,这个网络使用工作量证明记录一个公共的交易历史,只要诚实节点控制大部分CPU算力,很快使得攻击者无法通过计算来改变交易历史。该网络的非结构化简单性使得它很稳健。节点同时工作,很少需要相互协调。他们不需要被识别,因为消息不需要路由到任何特定的位置,只需尽力传递就好。节点可以离开网络,也可以需要的时候重新加入网络,接受工作量链作为他离开的时候发生了什么的证据。他们用CPU算力投票,通过在有效区块上工作并延续它来表达对区块的接受,通过不在新区块上工作表示拒绝无效区块。任何需要的规则和激励都可以在这种共识机制下进行。

比特搜正式上线

综合admin 发表了文章 • 0 个评论 • 34 次浏览 • 2018-05-13 22:46 • 来自相关话题

比特搜正式上线!!!

比特搜,关注区块链技术发展与应用落地,致力于创建区块链知识智库,互助学习与技术分享的全球社区!

 
比特搜正式上线!!!

比特搜,关注区块链技术发展与应用落地,致力于创建区块链知识智库,互助学习与技术分享的全球社区!