比特币协议
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 引言
比特币是一种点对点的网络数字货币。大部分文章都对加密协议做了很多描述,但还是省略了很多细节。本篇文章的目的,是想用一种清晰、容易理解的方式来解释比特币协议背后的主要思想。我们将从最初的原则开始,建立起对比特币协议如何工作的宏观理解,然后深入到细节,从比特币交易中检视原始数据。
以详细方式理解比特币协议是一项艰巨的工作。相反,人们很容易把比特币看作是既定事物,对如何通过比特币致富更感兴趣,还有比特币是否是个泡沫,比特币是否有朝一日可能意味着税收的终结等等,这些问题都很有趣,但也严重限制了你的理解。
了解比特币协议的细节让我们有机会欣赏到其他方式无法触及的风景。特别是,它是我们理解比特币内置脚本语言的基础,这让使用比特币创造新型金融工具(如智能合约)成为可能。反过来,新型金融工具可以被用来创造新的市场,并促使新的集体行为成为现实。挺有趣的哈!
这篇文章的重点是解释比特币协议的细节。要理解这篇文章,您需要熟悉公钥加密,以及与数字签名相关的概念,我会假设你对哈希概念有所了解。这一切都不算困难。这些基本概念可以在大学新生的数学或计算机科学课上获取到。这些想法都很迷人,如果不熟悉这些概念,可以先花几个小时了解一下。
2 概念和基本内容
比特币的基础是密码学,这似乎令人惊讶。比特币不是一种货币吗?比特币不是一种发送秘密信息的方式吗?事实上,比特币需要解决的问题主要是确保交易的安全——确保人们不能相互窃取、彼此冒充等。
在原子世界中,我们通过锁、保险箱、签名和银行金库等设备来实现安全。在比特世界里,我们用密码学来实现这种安全。这就是为什么比特币在本质上是一种加密协议。
在这篇文章中,为了让大家容易理解,我的策略是逐步构建比特币概念。首先,我会解释一种非常简单的数字货币,它基于显而易见的想法,我们称之Infocoin,以区别于比特币。
当然,我们的第一个版本的Infocoin会有很多缺陷,因此我们将经历几次Infocoin的迭代,每次迭代都只介绍一两个简单的新想法。经过多次这样的迭代,我们将实现完整的比特币协议。我们会重构比特币!
这个策略比我一次性解释整个比特币协议要慢。但是,尽管你可以通过这种一次性的解释来理解比特币的机制,但很难理解为什么比特币的设计方式是这样的。较慢的迭代解释的优点是,它让我们对比特币的每个元素都有了更清晰的理解。
从表面上看,数字货币听上去是不可能的。假设有个人(我们叫她Alice),她有一些想要花的数字货币。如果Alice可以用一串比特数字作为货币,我们怎么能防止她反复使用相同的比特字符串,从而产生无限量的货币供应呢?
或者,如果我们能以某种方式解决这个问题,我们怎么能阻止其他人伪造这样一串比特字符,并利用它从Alice那里窃取这些数字货币呢?为了把信息当作货币使用,这些是克服的众多问题中的两个。
(注:这也是为什么区块链第一次实现了不用中介掺合即可实现价值转移的原因,互联网的文章可以复制粘贴,比如蓝狐笔记的文章经常被人复制粘贴,并且修改文章,不标注来源。但比特币你可无法复制粘贴,无法花两次三次。)
作为Infocoin的第一个版本,让我们找到一种方法,让Alice可以使用一串比特字符作为一种新形式的货币(非常原始和不完整的),这样至少可以保护她免受伪造。
假设Alice想给一个叫Bob人一个infocoin。为了做到这一点,Alice写下了“我,Alice,给Bob一个infocoin”的信息。然后,她使用一个私人加密密钥对消息进行数字签名,并向全世界公布已签名的比特字符串
(顺便说一下,我使用的是大写的“Infocoin”,来表示协议和一般概念,小写的“infocoin”指的是货币的特定面值。在比特币世界里,类似的使用是常见的,虽然不是普遍的)
这并不是一个令人印象深刻的数字货币原型,但它确实有一些优点。世界上任何一个人(包括Bob)都可以使用Alice的公钥来验证Alice是否真的是签署了“我,Alice,给Bob 一个infocoin”这句话的人。没有人能创造出那个比特字符串(译注:这里可以理解为公钥签名),所以Alice不能转过身说“不,我不是想给Bob一个infocoin”。
所以协议规定Alice想要给Bob一个infocoin。同样的事实是——没有人能写出这样一个签名的信息——也给了Alice一些有限的防伪造的保护。当然,在Alice发表了她的信息之后,其他人可能会复制这个消息,所以在这种意义上伪造是可能的。
但从开始是不可能的。这两种属性——对Alice的意图的建立和对伪造的有限保护——都是该协议的真正显著特征。
我还没完全说明这个协议中的数字货币是什么。明确地说:这只是信息本身,即,这是一串代表数字签名信息的比特,“我,Alice,给了Bob一个infocoin”。以后的协议也会类似,因为我们所有数字货币的形式都将是越来越复杂的信息。
3 比特币起源与发展史
从比特币的本质说起,比特币的本质其实就是一堆复杂算法所生成的特解。特解是指方程组所能得到有限个解中的一组。而每一个特解都能解开方程并且是唯一的。以钞票来
比喻的话,比特币就是钞票的冠字号码,你知道了某张钞票上的冠字号码,你就拥有了这张钞票。而挖矿的过程就是通过庞大的计算量不断的去寻求这个方程组的特解,这个方程组被设计成了只有2100 万个特解,所以比特币的上限就是2100 万个。
要挖掘比特币可以下载专用的比特币运算工具,然后注册各种合作网站,把注册来的用户名和密码填入计算程序中,再点击运算就正式开始。完成Bitcoin客户端安装后,可以直接获得一个Bitcoin地址,当别人付钱的时候,只需要自己把地址贴给别人,就能通过同样的客户端进行付款。在安装好比特币客户端后,它将会分配一个私钥和一个公钥。需要备份你包含私钥的钱包数据,才能保证财产不丢失。如果不幸完全格式化硬盘,个人的比特币将会完全丢失。
2008年11月1日,一个自称中本聪(Satoshi Nakamoto)的人在P2P foundation网站上发布了比特币白皮书《比特币:一种点对点的电子现金系统》[6] ,陈述了他对电子货币的新设想——比特币就此面世。
2009年1月3日,比特币创世区块诞生。比特币用分布式账本摆脱了第三方机构的制约,中本聪称之为“区块链”。用户乐于奉献出CPU的运算能力,运转一个特别的软件来做一名“挖矿工”,这会构成一个网络共同来保持“区域链”。这个过程中,他们也会生成新货币。买卖也在这个网络上延伸,运转这个软件的电脑争相破解不可逆暗码难题,这些难题包含好几个买卖数据。第一个处理难题的“矿工”会得到50比特币奖赏,相关买卖区域加入链条。跟着“矿工”数量的添加,每个迷题的艰难程度也随之进步,这使每个买卖区的比特币生产率保持约在10分钟一枚。
2009年,中本聪设计出了一种数字货币,即比特币,风风火火的比特币市场起了又落,而其创始人“中本聪”的身份一直都是个谜,关于“比特币之父”的传闻牵涉到从美国国家安全局到金融专家,也给比特币罩上了神秘光环。
据外媒报道称,计算机科学家TedNelson周日在网络上发布视频称,他已经确定出,比特币的创始人是京都大学数学教授望月新一(Shinichi Mochizuki)。比特币的创始人一直以来使用的都是中本聪(Satoshi Nakamoto)的假名,互联网领域也对其真实身份展开了大量推测。纳尔逊发布视频称,他已确定望月新一就是比特币的真正创始人。
望月新一2013年因为证明ABC猜想而名声大噪。他高中时就读于菲利普埃克塞特学院,后者是美国最具声望的高中之一,仅仅两年后就毕业。望月新一16岁进入美国普林斯顿大学,22岁时以博士身份离校,33岁就成为正教授,这么年轻就获得正教授职称在学术界极为罕见。这个数学界的巨星可能已经攻破了该领域最为重要的难题之一。
中本聪本人在互联网上留下的个人资料很少,尤其是近几年几乎完全销声匿迹,因此其身世也变成了一个迷。2014年3月7日,当有人说比特币创始人是多利安·中本的新闻传出后,迅速成为互联网上最吸引人的消息。