前三章是关于区块链的科普文章。最后一章专门涉及技术,最后一章感觉抄了《精通比特币》一书不少内容。
第0章 必然的出现
世界上最早的货币 ——
已知的最早货币:大麦货币。苏美尔人将定量的大麦作为通用单位,用来衡量和交换其他各种货物和服务。
比特的诞生 ——
1948年,香农发表了《通信的数学原理》,这篇具有划时代意义的论文奠定了现代信息论的基础。在文章中,香农为人类引入了一个新的单词——比特(bit)。
信用的定义 ——
在经济学意义上,一般来说,信用意味着一些群体将自身置于因其他群体的不确定行为所造成的风险之下。
在经济学的语境内,作为一个风险要素,信用被定义为一个主体评估另一个主体将采取某种特殊行为的主观概率水平。
信用与货币的关系 ——
传统的货币理论认为货币的本质是商品或一般等价物。
在实物货币阶段,人们之所以能接受实物货币,本质上并不是因为实物货币是有价值的商品,而是因为其相信实物货币是信用的象征,它可以提供一般购买力。所以无论是实物货币还是信用货币,信用都是货币更为本质的属性。也可以说,信用是货币的创造者。
区块链的信用表达式 ——
在区块链这样的系统中,可以精确计算发生违约(欺诈)行为所需要付出的成本以及可以预期的收益。
可以将信用行为的可信度简单定义为违约成本与违约收益的比值。
信用行为可信度=违约成本/违约收益
比特币在没有任何可信的第三方担保的情况下,没有发生过严重的欺诈行为,主要原因在于 ——
欺诈行为的成本往往远大于预期的收益。
区块链诞生的背景 ——
由于信息与价值的密不可分,我们有了互联网这个全球范围的高效可靠的信息传输系统后,必然会要求一个与之匹配的高效可靠的价值传输系统。信用是制造货币的真正原材料。而区块链通过构造一个可以量化信用的经济系统,使得一个点对点的电子现金系统——比特币的出现成为可能。
区块链的诞生 ——
David Chaum 1990年创建了数字现金公司(DigiCash),并试验了一个数字化的货币系统,称为Ecash。1998年,数字现金公司宣布破产。失败的主要原因在于,将技术理念转化为实用系统的过程中缺失了很多东西。首先,数字现金公司很难说服银行和商家大规模采用他的系统,另外由于Ecash对个人之间的交易没有很好的支持,因此当银行和商家没有动力接受它的时候,个人用户也就无从使用它。
亚当·贝克(Adam Back)是一位英国的密码学家,1997年,他发明了哈希现金(Hashcash),其中用到了工作量证明系统(Proof Of Work)。
哈伯和斯托尼塔(Haber and Stornetta)在1997年提出了一个用时间戳的方法保证数字文件安全的协议。对它的简单解释是,用时间戳的方式表达文件创建的先后顺序,协议要求在文件创建后其时间戳不能改动,这就使文件被篡改的可能性为零。这个协议成为比特币区块链协议的原型。
戴伟(W Dai)是一位兴趣广泛的密码学专家,他在1998年发明了B-money。B-money强调点对点的交易和不可更改的交易记录,网络中的每一个交易者都保持对交易的追踪。
2008年10月31日下午2点10分,中本聪发布发明比特币,论文地址(https://bitcoin.org/bitcoin.pdf)。
第1章 区块链是什么
石币之岛:雅浦岛 ——
雅浦岛的货币不是费币,而是其背后的一套由信用记录以及信用记录的清算构成的体系。费币只是用来记账的表征。
货币是什么? ——
货币金属论者认为货币与贵金属等同,货币必须具有金属内容和实质价值,货币的价值取决于贵金属的价值。
货币名目论者则否定货币的实质价值,认为货币只是一种符号,一种名目上的存在。
区块链的本质 ——
区块链的本质是一种去中心化的记账系统,而比特币正是这个系统上承载的“以数字形式存在”的货币。比特币只是记账的表征,而区块链就是其背后的一套由信用记录以及信用记录的清算构成的体系。
要达成去中心化的目标,显然需要具备以下两个条件:
1)账本数据的存储必须是去中心化的,不能指定任何参与方拥有特殊的保存账本的权力,或者说,我们需要让所有参与方都平等地拥有保存账本的权力。
2)记账行为本身必须是去中心化的,不能指定任何参与方拥有特殊的记账权力,或者说,我们需要让所有参与方都平等地拥有记录账务数据的权力。
拜占庭将军问题 ——
拜占庭的将军们围攻一座城堡,军队被分散成很多分支,每一支军队由一名将军独立指挥。将军们之间通过传令兵来保持交流,以期达成一致的行动(进攻或撤退)。但是有些将军是隐藏的叛徒,他们会用虚假的信息来扰乱忠诚将军们的计划。大家并不知道叛徒是谁,那么,忠实将军们有办法达成一致的行动而不被虚假信息干扰吗?
节点 ——
在当前的信息时代,负责记账的自然是计算机,而在记账系统中接入的每一台计算机都可以称作节点。
竞争记账 ——
以每个节点的计算能力(“算力”)来竞争记账权的一种机制。在比特币系统中,大约每十分钟进行一轮算力竞赛,竞赛的胜利者获得一次记账的权力,即向区块链这个总账本写入一个新区块的权力。这样,在一定时间内,只有竞争的胜利者才能完成一轮记账并向其他节点同步新增账本信息,这个过程就是区块产生的过程。
区块链通过构造一个以竞争-记账-奖励为核心的经济系统,解决了去中心化记账的难题。
共识机制 ——
工作量证明消耗能源太高。
权益证明机制(Proof Of Stake,POS),以节点持有币的数量和时间来选择记账权;还有股份授权证明机制(DPoS),它类似于董事会投票,持币者投出一定数量的节点,代理他们进行验证和记账。另外还有燃烧证明(Proof Of Burn)、沉淀证明(Proof Of Deposit)等方案。
区块链的分类 ——
所谓公有链,是指比特币区块链这样的完全去中心化的、不受任何机构控制的区块链;而私有链则是指存在一定的中心化控制的区块链。
价值载体的形式 ——
数字货币
数字资产:股票、债券等金融产品
比特币的多重签名技术 ——
在系统里创建一个由多个人共同管理的账户,只有达到事先约定数量的人的同意,才能动用该账户的钱,并且这个过程是由系统本身保障执行的,不需要任何第三方介入。
智能合约 ——
智能合约就是把合同以代码的形式搬到了区块链上,但这就带来了根本的区别:它不需要任何人监督合同的执行,订立合同的双方也无法在合同完成前单方面违约,一切都是按合同的约定自动执行的。
图灵完备 ——
是指语言可以做到用图灵机做到的所有事情,可以解决所有的可计算问题。图灵不完备的语言常常是因为循环或递归受限,无法实现类似数组或列表的数据结构,这会导致能写的程序有限。
侧链技术 ——
侧链就像是一条条通路,将不同的区块链互相连接在一起,以实现区块链的扩展。侧链完全独立于比特币区块链,但是这两个账本之间能够“互相操作”,实现交互。
第2章 区块链带来的新机遇
A 数字货币产业链都包含什么 ——
1 “挖矿”产业 》矿机 》矿场和矿池 》 云挖矿
2 交易平台 —— 第一家交易所Bitcoin Market,曾经最重要的交易所MT.Gox。现在占据主要市场地位的比特币交易所有中国的火币网、OKCoin、比特币中国,位于欧洲的bitstamp和btc-e,位于美国的Bitfinex、coinbase和Kraken等。
场外交易(Over-The-Counter,OTC)也是比特币交易的组成部分,它是指不在交易所内进行,而以买卖双方私下约定的方式进行的交易。
3 钱包与支付服务提供商
4 数据与媒体
B 互联网金融 ——
金融科技主要是指互联网企业或高科技公司利用云计算、大数据、移动互联等新兴技术开展的低门槛金融服务。
互联网金融与传统金融的关系 ——
互联网给金融业带来的变化是形式与手段的变化,而不是内涵或本质的变化
互联网金融是新技术条件下金融手段的演化,它并不会改变金融服务的内涵。
互联网金融的演变逻辑 ——
互联网金融将逐渐逼近无金融中介或市场情形。
C 物联网与共享经济
物联网的定义 ——
通过信息传感设备,按照约定的协议,把任何物品与互联网连接起来,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的一种网络。
共享经济(Sharing Economy) ——
是一种点对点的分享产品或者服务的使用权的经济模式。共享经济的实质是由所有权向使用权的转变。
物联网的挑战 ——
数据的存储。
数据的流动。
第3章 区块链的应用场景
数字货币
众筹
清算、结算与审计
智能合约
版权与许可
公证与记录
第4章 区块链技术原理
对称加密和非对称加密 ——
对称加密的加密密钥和解密密钥相同。
非对称加密需要两个密钥:公钥和私钥,用公钥对数据进行加密后,只有对应的私钥才能解密;反之,如果私钥用于加密,则只有对应的公钥才能解密。
公钥密码体制根据其所依据的数学难题一般分为3类:大整数分解问题类、离散对数问题类、椭圆曲线类。
哈希算法 ——
也称为散列函数,是能计算出一个数字消息所对应的、长度固定的字符串(又称消息摘要)的算法。
区块链中的密码学 ——
椭圆曲线算法:
比特币使用了基于secp256k1椭圆曲线数学的公钥密码学算法。它包含私钥与公钥,交易发出方用私钥进行签名,并将签名与原始数据发送给整个比特币网络,网络中的所有节点则用公钥对交易有效性进行验证。签名算法保证了交易是由拥有对应私钥的人所发出的。
SHA-256哈希算法:
SHA-256就是SHA-2函数中的一个,是输出值为256位的哈希算法。
对称加密算法:
比特币官方客户端使用AES算法中的AES-256-CBC来加密钱包文件,用户设置密码后,采用用户设置的密码通过AES算法对钱包私钥进行加密,确保客户端私钥的安全,从而保证资产的安全。
Base58编码:
Base58是比特币使用的一种独特的编码方式,主要用于产生比特币的钱包地址。
区块链组成 ——
区块链数据里最基本也是重要的几个概念是地址、交易、区块、网络。比特币用地址来标识一笔交易的支出方和接收方。所有的交易最终需要被记到统一的账本上,而这个账本是通过区块确认并完成的。每一个新区块的产生,都会被打上时间戳,最终生成按照时间前后排列并加以记录的电子交易证明。每个独立节点之间又通过比特币网络来建立联系,这样就组成了一个去中心化、分布式的电子交易记录时间戳服务器系统。
地址 ——
椭圆曲线签名算法里的私钥由32字节随机数组成,通过私钥可以算出公钥,公钥经过一系列哈希算法及编码算法就得到了比特币中的地址。因此地址其实是公钥的另一种表现形式,可以理解为公钥的摘要。
比特币地址的生成步骤如下:
1)生成椭圆曲线私钥与公钥。
2)将公钥通过SHA-256哈希算法处理,得到32字节的哈希值。
3)对于得到的哈希值,通过RIPEMD-160算法来得到20字节的哈希值——Hash160。
4)把由版本号+Hash160组成的21字节数据进行双次SHA-256哈希运算,得到的哈希值的前4字节作为校验和,放置在21字节数据的末尾。
5)对组成的25字节数组进行Base58编码,就可得到地址。
整个过程如下图所示。
交易