中国领先的IT技术网站
|
|

1.4.1 比特币技术论文介绍

《白话区块链》第1章初识区块链,本章我们将从区块链的原理及分类、技术组成、技术特点等出发来初步介绍区块链的概念,并通过分析比特币的结构让大家对区块链有一个感性的认识。比特币作为区块链技术的第一个应用,它的原理设计影响深远。本节为大家介绍比特币技术论文。

作者:蒋勇/文延/嘉文来源:机械工业出版社|2017-11-24 11:33

开发者大赛路演 | 12月16日,技术创新,北京不见不散


1.4 一切源自比特币

1.4.1 比特币技术论文介绍

通常,在介绍一个比较重量级的人物的时候,我们常常会在他的名字前面加上很多定语,比如某著名歌唱家、慈善大使、两届××奖获得者等,然后最后才报出名字,为的就是让大家竖起耳朵听明白,这个牛人都能干些什么。而在介绍一个物件的时候,比如一辆汽车,我们就不会这么说了,因为能把人说睡着了,一个东西嘛,写个说明不就完了,一目了然。

那么,比特币技术论文就是这么一个说明书,当然了,人家这份说明书可是有正式名字的,人家的大名叫《Bitcoin: A Peer-to-Peer Electronic Cash System》,翻译过来叫《比特币:一种点对点的电子现金系统》。这篇技术论文通常称为比特币白皮书,因为它基本就是宣告了比特币的诞生。严格地说,是理论上宣告了比特币的诞生。这份文件是在2008年11月由一个叫Satoshi Nakamoto(中本聪)的人发布的。当然了,并不是发布在什么知名论坛或者学术期刊上,而是发布在一个小众的密码学讨论小组。在这份白皮书发布后的第二年,也就是2009年1月3日,比特币软件就正式启动运行了,也就是在这个时候,世界上第一个区块链数据诞生了,而这个由中本聪构造出来的第一个区块,也称为创世区块或者上帝区块,代表神话中创世元灵的意思。从此以后,比特币以及由比特币技术衍生出来的各种应用就一发不可收拾,开启了互联网应用的一个新纪元。

回到这个白皮书上来,注意看它的标题,有两个关键字:“点对点”和“电子现金”。有朋友说了,这俩词压根就没提什么区块链!别着急,看人看眼睛,读文读标题,咱们先来解释一下。“点对点”,就是指这个软件不需要一个特定的服务器,比如我们登录QQ就需要连接腾讯的QQ服务器,登录支付宝就需要连接阿里巴巴的支付宝服务器,倘若这些服务器关闭或者出个问题什么的,那就没法正常使用这些软件了。2015年5月,杭州电信光缆被施工队不慎挖断,直接导致通过这些光缆联网的支付宝服务器断网,影响了正常的运行。而点对点的网络结构,并不依赖于某一个或者某一群特定的服务器,相当于人人都是服务器,人人也都是使用者。再来看“电子现金”,顾名思义,现金嘛,就是钱或者货币的意思,也就是说这份白皮书,介绍的是一种数字货币系统,这个系统的运行不依赖于某些特定服务器,而是通过点对点网络(P2P)结构来运行的。相信有些读者朋友看到这里还是会有些懵,不要紧,毕竟咱们才刚看到标题嘛,有个概念就行了。

翻开白皮书正文可以发现,整个篇幅主要介绍了几个关键点。

(1)简介

提出了一个场景设想:如何不通过一个所谓的权威第三方结构(比如银行),来构建一个可信的交易网络呢?中本聪的语文还是不错的,先抛出个问题给你玩玩,然后吸引你继续看下去。

(2)交易

描述了一种通过密钥签名进行交易验证的方式,实际上就是计算机密码学在比特币中的应用。我们在银行转账交易用什么来证明自己呢?是通过账户和密码,必要的时候还可以通过身份证确认。而在比特币系统中没有银行这样一个角色,那靠什么来确定身份呢?只有靠现代计算机密码学技术。当然,密码学技术在比特币中的应用并不只是用来证明身份,是贯穿在各个环节的,可以说,密码学技术就是比特币系统的骨骼。

(3)时间戳服务器

这部分提到了区块以及通过时间戳运算连接成一条链的概念,这也是区块链概念的来源,同时在这里也说明了比特币数据的存储方式。

(4)工作量证明

这部分介绍了一种点对点网络中如何对各自的数据进行一致性确认的算法。为什么叫工作量证明呢?因为这种算法很消耗CPU的算力,等于人们干活一样,是要付出工作劳动的。

(5)网络

比特币软件是一种网络软件,而且是一个不依靠某个服务器来交换数据的网络软件。那么一个个节点之间,如何确认一笔笔交易数据呢?这部分介绍了交易确认的过程,这个实际上就是比特币网络的应用协议,跟日常使用的邮件收发协议、文件传输协议、超文本传输协议等,是一个层面上的。

(6)激励

激励就是奖励的意思,你干了活,得到一笔奖金,哇,好开心!就会继续努力干活,这就是激励。比特币软件的数据一致性确认是需要耗费CPU算力的,那凭什么有人愿意来耗费这些个算力,白干活吗?当然不是,系统会奖励给你比特币,还有别人交易的手续费。(有人会问,那我为什么没被奖励过啊?别急,在1.4.3节中会有详述。)

(7)回收硬盘空间

比特币系统从创世区块开始,大约每10分钟产生一个区块,也意味着区块链账本的“体积”会一直增长。事实上写作本书的时候,已经超过了120GB,只要比特币网络一直存在,数据就会一直增长。实际上,只有运行全功能节点的客户端才会一直保持完整的区块链数据,这些在1.4.2中会有详述。这里提出了一个思路,删除过老的一些交易数据,同时不破坏区块的随机哈希值,通过这种方法压缩区块数据。

(8)简化的支付确认

上述提到了,比特币客户端的数据量很大,这么一来,等于不管是用比特币系统干什么都要带上大量的数据,这岂不是很不方便,而且也会限制在其他一些终端(比如手机)上的使用。这部分提出了一个模型,这个模型主要是为比特币的支付服务的。在这个模型下实现的比特币支付功能并不需要携带那么庞大的数据,而只需要保留体积相对很小的区块头,具体细节可以查看3.1.3节。

(9)价值的组合与分割

这部分介绍的是比特币中的交易事务组成方式。①什么叫价值?在比特币系统中,价值就是比特币。②什么叫组合?比如我口袋里有5枚1元硬币,1张2元纸币,1张10元纸币,我要给你5块钱,怎么给呢?我可以给你5枚1元硬币,也可以给你3枚1元硬币加上1张2元纸币,这就是不同的组合。③什么叫分割?分割其实就是转出的意思,我通过不同的组合,构成了总计5元的金额,然后转出给你,这个过程就是价值的组合和重新分割。在这个例子中,还有一张10元的,假如我直接转了你10元,那会怎样?这就需要找零5元了,找零其实也是一种重新价值分割。

(10)隐私

作为一个货币系统,保密性也就是隐私毫无疑问是人人都会关心的。传统的体系,完全是依赖比如银行这个第三方的保护,大家相信银行,银行也设立了各种管理制度和方法来防止账户和交易信息的泄密。比特币系统则不同,它不依赖谁,每个人在比特币系统中也不用登记什么身份证、名称、性别等,就是一个地址,谁也不知道地址后面代表的是谁,而且,只要你需要,可以自己创建任意多个地址(你到银行去开任意多个户试试!),这使得比特币系统中的交易带有很大的匿名性和隐秘性。

(11)计算

这部分主要是站在概率统计的角度计算了一下攻击者成功的概率,以及经过多少个区块后还能攻击成功的概率,计算过程这里不赘述。

白皮书的内容就介绍到这里了。刚刚接触比特币、区块链这些概念的朋友,或许还是一头雾水吧!没关系,我们在下面的章节会有详细的解释。毕竟,能够只通过一份白皮书就完全明白比特币设计的人,或许只有中本聪这个“大神”了。

小提示 白皮书的原文可以在https://bitcoin.org/bitcoin.pdf查看,感兴趣的朋友可以阅读一下,英文不那么擅长的朋友,可以到巴比特网站(著名的区块链资讯与技术服务网站)上查看中文版,地址是http://www.8btc.com/wiki/bitcoin-a-peer-to-peer-electronic-cash-system。读明白了这份说明书,基本也就理解了比特币的原理,也就入了区块链这个“坑”(或者说这个“门”)了。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢
24H热文
一周话题
本月最赞

读 书 +更多

软件架构设计

本书紧紧围绕“软件架构设计”这一主题,立足实践解析了软件架构的概念,阐述了切实可行的软件架构设计方法,提供了可操作性极强的完整的架...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
× 51CTO学院双十二活动