序二
互联网技术革命性的降低了人类信息交互的通信成本。
未来,区块链技术将极大地降低价值交换的信用成本。(因为区块链是去信任的,区块链拥有基于数学这个人类文明的最大公约数而建立的信用。)
序言
信息互联网 到 价值互联网
知识可以永久存在,但机会却转瞬即逝。可以学习过去的知识,但却抓不到过去的机会。越早了解到新事物,越有可能抓住时代前行带给我们的机遇。
0.必然的出现
文字与货币
文字传递信息。货币传递信用。现在全世界还在被不同语言,不同货币所分割。(当前的货币是由政府等权威中心机构进行信用背书,而且自从布雷顿森林体系废除以来,全世界政府发行的货币已实际上是信用货币,但这种信用货币有2个最大的缺点,一是使用范围的限制,虽然可以相互兑换,但不像数字货币那样可以全世界范围通用,其二是货币滥发导致的通货膨胀)
如果全世界人类共用一种语言,那沟通交流效率是不是要高很多。
如果全世界共用一种货币,那交换要方便得多。(甚至会改变全世界的经济格局)
信用与货币
现在市场经济学认为,现在市场经济根本上是一种信用经济。信用是维系商品交换的基本前提。
实物货币与信用货币
尝试定义信用
信用的可计算性
香农解决了“如何用数学方法定义信息”的问题。
区块链解决了”如何用数学方法定义信用“的问题。
区块链的信用表达式
区块链这样的系统中,可以精确计算违约(欺诈)的成本和收益,当成本远高于收益时,理性的参与者就没有违约的动力了。
从互联网到区块链
互联网是为了信息的高效传输而被发明,在这个网络中,信息在全球范围内的点对点传输变得异常高效与廉价。(但信息互联网无法确权,这导致了无法在物联网上进行价值传输,但区块链解决了互联网上所有权归属的问题,所以价值传递变得可能,尤其是点对点去中心的价值传递,会极其高效低成本)
区块链创造了一个数字化的,可以点对点传输价值的信用系统。
1.区块链是什么
记账货币
货币金属论者:货币必须具有金属内容和实质价值,货币的价值取决于贵金属的价值。
货币名目论者:货币只是一种符号,一种名目上的存在。随着金本位制度的崩溃,目前世界上几乎所有国家的货币都已是信用货币。
区块链的本质
区块链的本质是一种去中心化的记账系统(也可以认为是一种类似NoSql的数据库系统),而比特币正是这个系统上承载的“以数字形式存在”的货币。(区块链是账本,比特币是账本上以数字形式表示的“货币”,也就是说账本上记录着你有几个比特币,那你就有几个,纯粹的数字)
比特币只是记账的表征,而区块链就是其背后的一套由信用记录以及信用记录的清算构成的体系。
(比特币只是记账的表征,重要的是账本如何存在,以及如何记账)
天才的发明
从技术角度看,区块链是比特币的基础架构和实现方式。
中心化的记账方式
因为账本上的内容必须是唯一的,所以在通信不发达的条件下,中心化是必然的选择。但中心化的弱点也是显而易见的,一旦这个中心出现问题,比如被篡改,被损坏,整个系统就是面临危机乃至崩溃。如果中心化的记账系统承载的是货币体系,那么还面临着中心管理者滥发的风险。
去中心化记账的难题
同时满足2个条件:
账本数据的存储必须是去中心化的。所有参与方都平等地拥有保存账本的权利。
记账行为必须是去中心化的。所有参与方都平等地拥有记账的权利。
所有人都有账本,同时允许所有人都能记账,不可避免的,必然会导致账本数据不一致,数据一致性是账本的基本要求,数据不一致的账本没有任何价值。
拜占庭将军问题
拜占庭的军队被分成多支,每支由一个将军统领,将军们之间用传令兵通信,以求达到一致性的行动。但是将军中有隐藏的叛徒,叛徒会用虚假的信息来欺骗别的将军。大家并不知道叛徒是谁,那有什么办法可以避免虚假信息达成一致呢?
拜占庭将军问题并不是历史真实事件,而是用来描述分布式系统中数据一致性的问题。拜占庭将军问题表现的特点有多节点,节点间互不信任,在这样的条件下如何达成一致。
分布式系统是将信息保存在多个节点上,比如多个服务器上。
传统的分布式与去中心并不是等同的概念。传统的分布式节点数量有限,且节点受某一方的控制。去中心化节点可以无限,节点之间相互独立,没有拥有特殊权利的某一方。但分布式和去中心化都面临着数据一致性的问题。
区块链经济系统
字面上看,区块链就是区块组成的链条。假如看区块链看作实体账本,那区块就是账本中的一页,上面记录着交易信息。
竞争记账机制成为区块链解决去中心化记账难题的关键。
所谓竞争记账机制是指,网络中的节点(计算机)用计算能力(算力)竞争记账权的机制。比特币系统中,大约每10分钟完成一轮算力竞争,竞争的胜利者获得记账的权利,即向区块链总账本中写入一个新区块的权利。这样,在一定时间内,只有竞争的胜利者才能完成一轮记账,并向其他节点同步新增账本信息。这就是区块产生的过程。
注意,算力只决定赢得竞争的概率。好比买彩票,算力高相当于买的多,获奖概率大,算力低相当于只买一张或几张,获奖概率小。
区块链的算力竞争是通过“工作量证明POW”来完成的。工作量证明可以理解为,完成了多少工作的证明,即通过一个人人都可以验证的特定结果,就能确认竞争参与者完成了相应的工作量。
算力竞争需要成本,如果没有激励,那就没有竞争的动力。中本聪的设计是,竞争胜出的节点获得新币奖励和交易手续费。这种设计将竞争记账机制和货币发行完美结合在了一起,解决了去中心化货币系统中货币发行的难题。这个过程很想采矿(“工作-奖励”循环),所以形象地成为“挖矿”。
最终,区块链通过构造一个“竞争-记账-奖励”的经济系统,解决了去中心化记账的难题。最终造就了保证系统安全的庞大算力基础,提升了系统的可靠性。
共识机制与价值载体
共识机制是区块链技术的核心,它使区块链这样的账本系统成为可能;
价值载体是区块链技术的潜力所在,它使区块链技术的应用领域远不止数字货币。
如何达成共识,只有去中心化的结构才有的问题。中心化结构,共识由中心决定,其他参与方服从这个中心即可。
共识机制与资源消耗
比特币区块链要达成的共识是,一段时间内,由谁来获取记账权。比特币区块链的共识机制通过POW来实现。
POW的算力竞争需要耗费大量电力能源,人们也在探索新的非算力竞争的共识机制。典型的有权益证明机制Proof Of Stake,以节点持有币的数量和时间来选择记账权,股份授权证明机制DPoS,类似于董事会投票,持币者投出一定数量的节点,代理他们进行验证和记账。另外还有燃烧证明Proof Of Burn,沉淀证明Proof Of Deposit。
共识机制与私有链
所谓公有链是指像比特币区块链这样完全去中心化,不受任何机构控制的区块链。
私有链是指存在一定中心化控制的区块链。
本质上讲,私有链就是以牺牲部分去中心化的特性为代价,来换取对于区块链权限的一些特殊控制,并且可以使用比公有链更高效,灵活,低成本的共识机制。
去中心化与中心化并不是非此即彼的关系,而是共生共存,互相依赖与结合的关系。在去中心化协议的基础上,可以衍生出各种中心化的服务,以满足不同行业及领域的个性化需求。
目前私有链最著名的例子是R3CEV公司牵头的区块链联盟,已经吸引了全球40多家大型银行的加入。
价值载体
区块链作为一个记账系统,上面不仅可以记录数字形式的货币,也可以用来记录可以用数字定义的其他任何资产,比如股权,债券,产权,版权,公证,合约,投票等可以用数字形式进行价值存储或转移的任何东西。区块链上还可以使用脚本进行价值转移,意味着可以进行复杂的交易逻辑。
区块链是一个制造信任的机器,任何需要信任的领域,区块链都有用武之地。
价值载体之数字货币
所谓山寨币,是指对比特币的简单复制和模仿,没有任何创新的数字货币。
价值载体之数字资产
一般意义上,数字资产包括任何以二进制形式存在并且具备所有权属性的东西。
由于区块链公开,透明,难以篡改的特点,利用区块链技术可以非常方便地为任何数字资产或有价值的信息实现比现有中心化结构更为可靠的存在性证明,以及为各种形式现实资产的登记和转移。
当交易变得智能
普通账本上的数据仅仅是一种记录,区块链账本上的数据有超越普通账本的意义,他们是可编程的。这使得区块链上的所能承载的不仅仅是普通的交易,而是可以基于程序自动执行的智能交易。
脚本与多重签名技术
比特币区块链上的交易可以通过脚本来实现。所谓脚本,是指使用一种特定的描述性语言编写的,可执行的计算机代码。
比特币多重签名技术 就是使用脚本实现可编程交易的典型例子。
智能合约
智能合约的工作原理类似于计算机程序的条件执行语句,当一个预先遍好的条件被触发时,智能合约执行相应的条款。
也可以认为,智能合约就是把传统的合同以代码的形式搬到了区块链上。这带来了根本的区别,不需要任何人监督地执行,也没人可以在合同完成前单方面违约,一切都按合同的约定自动执行。
所谓图灵完备,是指编程语言可以做到图灵机做到的所有事情,可以解决所有的可计算问题。
图灵不完备的语言常常因为循环或者递归有限,无法实现类似数组或列表的数据结构,这会导致能写的程序有限。
因此,业内有人尝试开发不同于比特币区块链的,支持图灵完备脚本语言的区块链,以太坊(Ethereum)就是典型例子。
将区块链连接起来
以侧链技术为代表的,能够将区块链连接起来的技术,就是区块链拓展外在结构的关键。
比特币区块链的局限
中本聪创造区块链是为了实现一个点对点的电子现金系统。当我们对区块链的用途有更高的期待时,它的局限就体现出来了。比如不支持定义其他资产,或是复杂的交易逻辑。而升级系统又是异常困难的事情,其次,不可能在一条区块链上实现所有的需求,所以产生了不同的竞争币,但在这些区块链之间无法进行价值转移,形成了价值“孤岛”,就像局域网一样,侧链技术用来作为连接不同区块链的通路,打通价值传输的通道,实现价值传输的互联网。
侧链技术方面,Blockstream是较为领先的公司。
2.区块链带来的新机遇
数字货币产业链
挖矿
普通参与者就别想了。
交易平台
场内交易所和场外交易(OTC)
钱包和支付
网页钱包。好处是方便,跨平台,只要能上网就行。缺点是将私钥暴露给第三方。目前使用人数较多的在线钱包有 Blockchain,Coinbase。
桌面钱包。分为全节点钱包和轻钱包。全节点即同步所有的区块链数据。轻钱包指只维护与自己相关的区块链数据。
硬件钱包。专门用于存储私钥和支付的硬件设备。比如 Trezor,KeepKey等。
比特币支付服务公司,商家接收比特币支付,通过接入比特币支付商来完成,支付商将消费者支付的比特币转化为商家接受的法币,打入商家的账户,同时收取一定的手续费。这样的比特币支付商有很多,比如BitPay。
数据与媒体
数据提供商 ,比如Blockchain.info,qukuai.com
媒体,向大众传播数字货币,区块链的知识和新闻。比如国外的 Coindesk,国内的巴比特。
互联网金融
区块链技术能帮助金融行业有效地提升效率和降低风险。
物联网与共享经济
我国对物联网的定义:通过信息传感设备,按照约定的协议,把任何物品与互联网连接起来,进行信息交换和通信,以实现智能化识别,定位,跟踪,监控和管理的一种网络。
新一代基础设施
所谓基础设施是指为生产和生活提供核心公共服务的系统。
区块链的基础设施要解决的核心问题是建立标准。
基础设施的内容有2类,一类是区块链的研发和构建,适用于不同行业,不同目的,不同类型的区块链;二类是区块链间的连接设施。
3.区块链的应用场景
数字货币
莱特币,2011年问世,技术原理与比特币相同,莱特币试图改进比特币,有3点与比特币不同,第一,每2.5分钟打包一个区块,因此可以提供更快的交易确认。第二,总量预计为8400万,是比特币的4倍,第三,工作量证明算法与比特币不同,比特币采用SHA-256,莱特币采用scrypt算法。
众筹
清算,结算与审计
按传统定义,结算是指各经济单位由于商品交易,劳务供应和资金调拨等活动而引起的货币收付行为。按支付方式不同,有3种,现金结算,票据转让,转账结算。
清算多是银行业间的资金结算,是结算的一个子集,一种特殊场景下的结算。
审计,是指由专设机关,依照法律对国际各级政府以及金融机构,企事业单位的重大项目和财务收支进行事前,事后审查的独立性经济监督活动。
智能合约
根据区块链可编程的特点,人们可以将合同变成代码的形式放到区块链上,并在约定的条件下自动执行,这就是所谓的智能合约。
可简单认为,智能合约是一种程序,只是这种程序处理的是人与人之间权利和义务的约定。
目前智能合约研究和实践主要集中在基础设施的完善上。
以太坊,被看作新一代的智能合约开发平台。
RootStock,建立在比特币区块链上的智能合约分布式平台,以侧链的方式完成智能合约的搭载,从而为核心的比特币区块链增加价值和功能。
Augur,基于以太坊区块链的去中心化预测市场。
版权与许可
互联网缺乏内生的对有价值的信息的保护机制,因为在互联网上,复制甚至篡改并传播信息的成本,几乎为零。
公证与记录
公证服务,为一个文件在特定时间点的存在提供公开的“存在性证明”,会是区块链应用迅速发展的领域之一。
传统的公证服务成本太高了,而区块链技术能大大降低成本,并且还更高效,更安全。区块链对公证服务领域势必会有颠覆性的影响。
区块链可以运用在一切与价值相关的领域。比如保险,数据安全,电子商务,医疗,政务,能源。
貌似区块链无所不能呀。
4.区块链技术原理
密码学基础
密码学概述
密码学按照算法思想的革新可划分为3个阶段:古典密码学,现代密码学,公钥密码学。
古典密码学,算法是保密的,其安全性基于算法,主要有2种,置换和代换。
置换是字面本身不变,位置改变。
代换是将明文中的字符替换成其他字符。
现代密码学,以香农信息论诞生为标志,加解密使用同一密钥,这种算法也称“对称加密算法”。
对称加密算法最大的弱点是必须把密码传递给解密的一方,密钥的保存和传输,导致密钥可能被窃取。
公钥密码学,相比于需要传递密钥的加密方式,公钥密码学可以在不直接传递密钥的情况下完成密文的解密。这种算法成为“非对称加密算法”。非对称加密算法需要有一对密钥,公开密钥和私有密钥。
公钥密码根据其所依据的数学难题,一般分为3类,大整数分界问题类,离散对数问题类,椭圆曲线类。
哈希算法
哈希函数也成为散列函数,是能将任意长度的消息计算为固定长度的字符串(也称消息摘要)的算法。
哈希算法有3个特征:1,输入x可以是任意长度的字符串。2,输出 H(x) 是固定长度的。3.计算 H(x) 的过程是高效的。
区块链中的密码学
比特币区块链中使用了大量的公开加密算法,比如Merkle Tree哈希数算法,椭圆曲线算法,SHA-256哈希算法,对称加密算法以及一些编码方式,如Base58编码,VarInt编码,DER编码等。
区块链组成
地址
比特币的地址是公钥的另一种展现形式。
比特币的地址步骤:
1.随机选取一个32字节的数作私钥
2.通过椭圆曲线算法(ECDSA-secp256k1)由私钥推出公钥(共65字节, 1字节 0x04, 32字节为x坐标,32字节为y坐标)
3.将公钥通过 SHA-256 哈希算法处理,得到32字节的哈希值
4.对第3步得到的哈希值,通过PIPEMD-160算法得到20字节的哈希值
5.把由版本号+第4步得到的哈希值组成的21字节数据进行双SHA-256哈希运算,得到的哈希值的前4字节做校验和,放置到21字节的末尾
6.对25字节数据进行Base58编码,得到的就是比特币地址
交易
区块
Merkle Tree是用来同步数据一致性的算法。
网络
比特币采用P2P的网络架构。P2P网络中的每个节点权利相同,没有特殊(中心)节点。
比特币网络的相关功能有:
1.新交易广播会广播到全网的每个节点
2.每个节点将新交易收集到内存,组装成区块
3.每个节点都尝试在自己的区块中找到一个具有足够难度的工作量证明(“在自己的区块中”这个如何理解)
4.节点工作量证明竞争成功,把有效地区块数据向全网广播
5.当且仅当包含在该区块的交易都是有效的,并验证其完成了工作量证明,其他节点才认同该节点的有效性
6.其他节点表示接受该区块,并在该区块的末尾制造新的区块以延长整个区块的链条
比特币网络中,采用“洪水算法”进行交易和区块信息的传播。简单说,洪水算法就是收到信息的节点向与它相连的节点推送该信息,下一个收到信息的节点继续这个过程。通常在一两秒内,交易或者区块信息就可以传遍全网。
共识算法
共识算法的两大核心是工作量证明和最长链机制。
共识算法的最终体现就是比特币的最长链。
共识算法的目的就是保证比特币在最长链上运转,从而保证整个记账系统的一致性和可靠性。
比特币工作量证明是在解一道数学题,这道题有3个关键要素:工作量证明函数,区块及难度值。
工作量证明函数即使SHA-256.
区块即输入数据。
难度值决定了解这道题所需要的计算量。
为保证大约每10分钟产生一个新的区块,根据全网算力的不同,难度值要不断调整。
最长链机制
读后感
作者作为区块链的行业的创业者,一线工作者,对区块链的理解很深刻,对区块链的前景也有冷静理智地看法。
区块链本身是种在现有技术基础上的创造性的技术方案,用数学的方法解决了全球范围内的人与人(节点与节点)之间的信用问题,进而在这个系统上可以传递价值,这将极大地改变人们的生活方式。
区块链的爆发和大规模应用还需时日,但也为敢吃螃蟹的资本和开发者留下了先发制人的机会。
花了3天时间,全书虽然是看完了,但也只是理解了部分内容而已,很多地方是字全认得,但就是不知道什么意思,后续还需要继续回看思考。