手把手带你啃透比特币白皮书-摘要

这篇具有很好参考价值的文章主要介绍了手把手带你啃透比特币白皮书-摘要。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

很多人虽然了解了区块链,也可能参与了一些项目,但是可能没有见过比特币白皮书,也没有读过。我接下来就要和大家聊一聊,什么是白皮书,尤其是来给大家精读一下比特币的白皮书。

前言

通过比特币白皮书,你能够了解到真正的白皮书应该是什么样形式的。因为很多人可能看了很多项目的白皮书,各种华丽的辞藻,各种天花乱坠的技术。其实读完比特币白皮书之后,你会发现原来白皮书是如此朴实无华,而且是如此的技术含量之高,都是干货,因为它只有几页,字数也不多。因此,文章不必要长,关键是要有内涵,尤其是要有干货。

原文摘要部分

Abstract:
A purely peer-to-peer version of electronic cash would allow online
payments to be sent directly from one party to another without going through a
financial institution. Digital signatures provide part of the solution, but the main
benefits are lost if a trusted third party is still required to prevent double-spending.
We propose a solution to the double-spending problem using a peer-to-peer network.
The network timestamps transactions by hashing them into an ongoing chain of
hash-based proof-of-work, forming a record that cannot be changed without redoing
the proof-of-work. The longest chain not only serves as proof of the sequence of
events witnessed, but proof that it came from the largest pool of CPU power. As
long as a majority of CPU power is controlled by nodes that are not cooperating to
attack the network, they’ll generate the longest chain and outpace attackers. The
network itself requires minimal structure. Messages are broadcast on a best effort
basis, and nodes can leave and rejoin the network at will, accepting the longest
proof-of-work chain as proof of what happened while they were gone.

形式

其实白皮书,和论文有点儿相似,论文也是有摘要的。但是,论文不一样,论文必须要有详细的论证,就是你提出一个观点,或者是提出一个系统的话,后面就要围绕这个观点,展开层层论证。就是说,任何一个事,都要有论证。但是白皮书不一样,白皮书完全可以没有论证,可以只是一个设想,或者概况,然后把这技术,和各个环节说出来,把创新点说出来就行了。

点对点

摘要的第一句话是这样的:“本文提出了一种完全通过点对点技术实现的电子现金系统”。这句话非常典型,开门见山地说了它干什么的。这句话很关键,它要做一个电子现金系统,那么这个电子现金系统有什么特点?它是一个完全通过点对点技术实现,所以点对点,成了这里面非常关键的一个关键词。

我们这时候可能会问:什么是点对点?来看后面一句话,“它使得在线支付,能够直接由一方发起并支付给另外一方,中间不需要通过任何的金融机构”。这两句话非常典型。前面那句话,完全解释了什么叫点对点的电子现金系统,就是它不需要一个中间,它不需要有第三方。直接在网上就可以有一方发起并支付给另外一方,中间不需要任何金融机构。开门见山地点出它做什么,以及这是什么。

然后紧接着说了,“虽然数字签名部分解决了这个问题,但是如果仍然需要第三方的支持才能防止双重支付的话,那么这种系统也就失去了存在的价值”。他说数字签名虽然解决了这个系统的部分问题,例如解决了别人知道这个信息是我发的,但是如果仍然需要第三方的支持,才能防止双花,那么中心化还是存在的,它还是依赖于第三方。那么这种系统,就失去了价值。所以,后面他说了,“我们在此提出一种解决方案,是现金系统在点对点的环境下运行,并且能够防止双重支付问题”。这句话就点明了,如果要实现点对点的现金系统的话,需要解决的这个重要问题是什么?是防止双花问题。

双花问题

有很多人比特币、区块链说的天花乱坠。但是他根本不知道到底区块链的主事业,比特币它解决的到底是一个什么样的问题。其实它解决的就是一个双花问题。因为在点对点的情况下,也就是在中间没有中心系统的,没有银行,没有第三方的情况下。如何保证一点能够到另外一点,保证双花问题不存在?这是很关键。

时间戳

那么,紧接着他说了,“该网络通过哈希函数对全部交易加上时间戳”,这句话就说明了如何加上时间戳。它是通过哈希函数。哈希函数,大家都知道它相当于一个数据摘要。所以,通过哈希函数,就能够对全部交易加上时间戳。因为所有交易通过有时间的序列之后,我们才能够保证避免双花,这是基础。当然,要和其他技术联合起来用,才能解决双花问题。所以他说,哈希函数对全部交易加上时间戳了,将他们合并入一个不断延伸的、基于哈希函数的、工作量证明的、链条作为交易记录。除非重新完成全部的工作量证明,否则形成的交易记录将不可更改

区块链

这就说明了整个区块链是如何形成的。通过哈希函数把全部交易加上时间戳之后,把他们加入到一个基于哈希函数工作量证明的链条当中,作为一个交易记录,就有块了。除非重新完成全部的工作量,否则的话形成交易记录将不可更改。那这里说明,工作量证明这个机制是共识的,非常重要的。另外紧接着说了,最长的链条,不仅将作为被观察到的事件序列的证明,而且被看做是来自CPU计算能力最大的值。所以说,这就是最长链条,被认为是花费代价最大的。这个链条是否安全呢?他作了一个假设,只要大多数的CPU计算能力都没有打算合作起来对全网进行攻击(什么叫大多数?超过50%以上就是大多数)那么诚实节点就会生成最长的超过攻击者的链条。这个系统本身需要的基础设施,非常少,信息尽最大努力在全网传播即可。节点(Note)可以随时离开和重新加入网络(因为它是一个P2P网络),并将最长的工作量链条作为在该节点离线期间发生的交易的证明。

总结

这个摘要写的是非常清楚的。他告诉读者,他发现了什么问题,并且通过什么办法解决这些问题,而且说明了解决这个问题的主要方式和优势。这很重要,和论文是一个套路。其实,你只要仔细看了比特币白皮书的摘要,就知道中本聪抛出的问题是:一个需要第三方支持的点对点的电子现金支付系统是没有价值的。他要构造一个去中心化的点对点的电子现金系统。但是,如果要构造有去中心化的点对点的电子现金支付系统,虽然目前像这个数字签名,保证了某些机制,但双花问题并不能解决。那么如何解决双花?就成为这样一个系统的非常关键的地方。

通过摘要我们知道了,**比特币系统解决两个主要问题,一个是去中心化的点对点的支付系统,一个就是支出要解决双花问题。**其实它是一个所属的。所以整个白皮书提到技术方案都是围绕这两个问题展开的。前一个问题是最终目标,只有解决了双花之后,才能过渡到最终目标。那么,中本聪在写这篇白皮书的时候,有关去中心化的点对点的系统,已经有比较完善的解决方案了。因为在密码学界,80年代就有些论文,到了90年代,到了2000年的时候,形成了很完善的一些系统,但是他们都是有中心的。

所以说,关于去中心化的点对点的电子现金系统。白皮书的重点,就放在如何通过P2P,就是点对点的系统来解决双花问题。那么要解决双花问题,就必须记账核对。如何在一个没有中心的点对点的系统中,记账又受到认同?谁记的账能够被大家认可?如何认可?如何达成共识?比特币,就引入了基于时间戳的哈希函数,并且让其形成前后文相关的序列,这就是为什么称之为区块链的原因。就是它有很多交易,然后,打包成一个包,然后记录到一个块儿里面。好,第一块儿,然后后面第二块儿第三块儿。每个块儿,就形成了一个先后的顺序。

顺序非常重要。因为只有有了先后顺序,我们才能够知道哪笔交易在前,哪笔交易在后。现在因为银行帮我们管账,银行的记录很清楚,几点几分几秒发生了哪一笔,几点几分几秒又发生哪一笔,它都有先后顺序的。那么在这里呢,记账其不可更改,是比特币的一个副产品。在这里我们要说一下,首先,区块链记账,不可更改是有前提的。就经常地被称为51%的攻击,也就是根据原文摘要的这句话,“除非重新完成全部的工作量,形成的交易记录将不可更改”。由于采用了复杂的这个POW(工作量证明计算),更改交易记录,将是非常耗时,需要大量的运算。从客观上实现了不可更改的目的。但从业务设计的角度,这有的时候,是一个缺陷。如果更改是交易双方认同的,并且合法的话,或者说被绝大多数节点认同的?在这里,就存在一种情况,大部分节点都认同,那么可以分叉,这是后话了。另外,比特币后来的一些事实证明,比特币的滥用,也是因为这个缺陷。比如基于暗网的非法交易,网络勒索,包括黑客盗用比特币等。都是利用了这个缺陷就不可更改。

其实根据多数人正义这点来说,这些交易,都应该被撤销的,也就是需要回滚。但在比特币里面,它不允许篡改。所以,这使得它在某些场景下是有它的一个非常独特的一面。但在从另外一个角度上来说一个,溯源,这恰好是需要的。在资料中,还透露了一个比特币系统的重要的一个特点,就这个系统本身,需要的基础设施非常少,因为没有了中心化的服务器存在,相关的维护、备份、容灾、管理等成本会大大的降低,这都是在比特币白皮书中说明的。那么至于具体的基础解决方案,就是白皮书的开始,白皮书开始第一部分,就是简介。文章来源地址https://www.toymoban.com/news/detail-431802.html

到了这里,关于手把手带你啃透比特币白皮书-摘要的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 手把手带你实现DQN(TensorFlow2)

            大家好,今天给大家带来DQN的思路及实现方法。         关于DQN,就不用我多做介绍了,我会以最简短明白的阐述讲解DQN,尽量让你在10分钟内理清思路。         非常重要的一点!!!         非常重要的一点!!!我在GitHub上下载了DQN代码,跑完后,我重写一

    2023年04月08日
    浏览(43)
  • 【手把手带你学JavaSE】第六篇:类和对象

    对了!给大家推荐一个刷题学习、面试神器——牛客网 里面有非常多的题库,跟面试经验~非常的良心!! 什么是类? 什么是对象? 怎么去理解这两个抽象的概念呢? Java是一门纯面向对象的语言(Object Oriented Program,继承OOP),在面向对象的世界里,一切皆为对象。 面向对象

    2023年04月20日
    浏览(42)
  • 从0手把手带你搭建pytorch深度学习

    目录 一、查看电脑有NVIDIA显卡没 二、更新电脑驱动 三、安装CUDA ToolKit和CUDNN 1、查看显卡驱动版本 2、查看合适的CUDA版本 3、下载CUDA ToolKit 4、安装CUDA 5、查看是否安装成功 6、安装CUDNN 7、CUDNN配置 四、安装anaconda 五、安装pycharm 六、搭建pytorch深度学习环境 1、进入Anaconda Pr

    2024年02月07日
    浏览(36)
  • 真手把手带你跑r3live

    实验室来了台机器人,上面的设备是依据r3live的设备选的,因为R3LIVE的效果太好了,特别感谢大佬的开源精神。这几天把车子跑起来,就打算写个博客记录一下。 本人能力有限,可能某些地方会有些问题,若发现问题,还请指正。 效果如下: 在多传感器融合slam中,由于会集

    2024年02月09日
    浏览(35)
  • 手把手带你做一套毕业设计-征程开启

     本文是《Vue + SpringBoot前后端分离项目实战》专栏的开篇,文本将会包含我们创作这个专栏的初衷,专栏的主体内容,以及我们专栏的后续规划。关于这套毕业设计的作者呢前端部分由狗哥负责,服务端部分则由天哥操刀。我们力求毕业生或者新手通过学完本专栏,可以开心

    2023年04月10日
    浏览(71)
  • 实战项目:手把手带你实现一个高并发内存池

    1.这个项目做的是什么? 当前项目是实现一个高并发的内存池,他的原型是google的一个开源项目tcmalloc,tcmalloc全称Thread-Caching Malloc,即线程缓存的malloc,实现了高效的多线程内存管理,用于替代系统的内存分配相关的函数(malloc、free)。 2.项目目标 模拟实现出一个自己的高

    2023年04月26日
    浏览(41)
  • 【reverse】手把手带你基于dll实现多次SMC

    SMC,即self modifying code,自修改代码,逆向入门SMC可以看一下我的题解。我打算实现一个类似于【网鼎杯2020青龙组】jocker的SMC方案。这个方案不需要用到汇编,因此门槛极低( 连小小前端都能学会 )。为什么要基于dll呢?因为代码段加密功能是通过外部python脚本完成的,将自

    2024年02月02日
    浏览(39)
  • 【神秘海域】[动图] 结合题目-手把手带你剖析 “带环链表”

    🌈 上一篇 【神秘海域】数据结构与算法 内容是 单链表及其接口 而本篇内容是对单链表的一个 非常重要 的补充: 带环单链表 。它,是大厂面试时可能会提问的内容,非常的重要! 本篇就是要结合题目来 详细分析一下 单链表的带环问题 🌈 在详细分析 带环单链表 之前,

    2023年04月08日
    浏览(33)
  • 云原生应用开发,通过一个案例手把手带你入门

    针对云势所趋的市场发展。云计算和云原生应用已经成为主流技术趋势,学习这类技能有远见。可以开发出符合云原生运营模式的应用,满足企业业务发展需要。 实现资源的高效利用和弹性扩展。通过微服务架构、容器技术、弹性计算等手段,构建出计算资源利用高、扩展灵活的

    2024年02月06日
    浏览(34)
  • 手把手带你使用VSCode 搭建 STM32开发环境!

    首先附上一张VS Code图一直都喜欢这种,黑色主题感觉高大上。 下载最新版VS Code: 安装好插件,具有良好的代码补全与调试功能。 “ VS Code下载地址:https://code.visualstudio.com/ ” 下载 LLVM:用于代码补全,其实可以理解为 Clang。因为VS Code 中“C/C++”插件的自动补全功能不太好

    2024年02月07日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包