本文转载于 SeeDao 课堂资料,仅供学习。原始地址:https://www.notion.so/6676fb5a0c644cf889224b24c188fe01
《Bitcoin: A Peer-to-Peer Electronic Cash System》
——By Satoshi Nakamoto
2008年,全球爆发金融危机,中本聪在论文中针对第三方平台的不透明、不可控、花费高的缺点,提出了区块链技术模型:去中心化、不可增发、无限分割。在2009年1月比特币创世区块诞生。
实现一个完全去中心化的流通货币,需要确定发行机制、实现可信的记账、能够鼓励更多人无许可使用,并且最好能确保用户隐私。比特币通过以下几个关键技术试图解决这些问题。
1、核心技术
点对点传输
互联网早期技术,客户端本身又是服务端,通过协议实现不需要中心化服务器的点对点传输。
共识机制
本质是使分布式系统中各节点达成一致的机制,确保整个系统顺利有效地持续运作。
比特币使用工作量证明(PoW)的共识机制。工作量证明要求用户进行一些耗时适当的复杂运算,并且答案能被服务方快速验算,以此耗用的时间、设备与能源做为担保成本,以确保服务与资源是被真正的需求所使用。
从比特币角度而言,工作量证明是为了证明自己有权利创造一个新的区块并把它添加到链上。增加新区块的本质是在记账
密码学
非对称加密(ECDSA)数字签名、钱包
哈希函数
贯穿整个比特币体系
2、特点
去信任化
中心化机构本质是一种信任媒介,它承载着信任的传递。比如支付宝,它是个中心化机构,构建线上买家和卖家的信任传递纽带作用。但中心化机构存在一些问题:
- 随意设置门槛
- 收集与掌握用户信息
- 泄露隐私
- 跨境汇款需要高额的手续费,而且时间漫长
- 信息不透明,“一切以XX解释为准”
- 对创作者不友好,设置各种管理费手续费,甚至著作权
上面所说的所有问题都是信任问题。所以很多极客们就幻想存在一个“上帝”,大家只需要信任“上帝”就可以了,不需要依赖任何中心机构。“上帝”有哪些特点呢?
- 不属于任何一个中心化机构,不受任何组织和个人管控
- 信息不能随便被篡改,只有信息拥有者可以使用这些信息
- 数据是公开的,大家可以查看这些信息
- 信息的来源去向都一清二楚
这个“上帝”就是比特币。比特币解决的核心问题是通过机器信任来取代个人主观信任,降低信任成本,再基于机器信任重构社会协作关系。人们只需要信任机器就行了,而机器目前阶段是不需要信任的信任。
3、名词
挖矿
挖矿本质是计算。挖矿早期用CPU,随着难度增加有人开发了使用GPU挖矿的软件,后来有人开发了专门用于碰撞hash的asic矿机,为了避免算力向少数人集中,一些fork BTC的公链使用抗ASIC的算法来构造PoW。
矿池
是一个全自动的挖矿平台,使得矿工们能够贡献各自的算力一起挖矿以创建区块,获得区块奖励,并根据算力贡献比例分配利润(即矿机接入矿池—提供算力—获得收益)。
算力
在通过“挖矿”得到比特币的过程中,我们需要找到其相应的解m,而对于任何一个六十四位的哈希值,要找到其解m,都没有固定算法,只能靠计算机随机的hash碰撞,而一个挖矿机每秒钟能做多少次hash碰撞,就是其“算力”的代表,单位写成hash/s,这就是所谓工作量证明机制POW(Proof Of Work)。
51%攻击
当一个单一个体或者一个组拥有超过一半的算力时,这个个体或组就可以控制整个加密货币网络,如果他们有一些恶意的想法,他们就有可能发出一些冲突的交易来损坏整个网络。
双重支付
在2007年,数个分布式的双重支付防范方法被提出,运用于加密货币与与其底层的区块链技术。
2009开始运作的首个加密货币比特币使用了工作量证明防止双重支付。
在2018年5月,有恶意矿工通过至少51%的全网算力,对当时的全球第26大加密货币比特币黄金(Bitcoin Gold)进行双花攻击(双重支付),造成了千万美元的损失。此次攻击引起了一些对于去中心化以及工作量证明(PoW)机制的质疑。有人因而提出,采用权益证明机制的货币较比特币安全,但同年6月,360公司发声明EOS链(EOS使用DPOS机制,标榜去中心化的)的一项重大漏洞,正基于区块链网络去中心化的计算特点,一个区块链节点实现上的安全漏洞,可能引发成千上万的节点遭到攻击。
分叉
为了维持货币过去的交易纪录,密码货币一般进行分叉以增加新功能或堵塞漏洞。
硬分叉
硬分叉之中新分叉所产生之区块将被旧软件视为无效。因此所有参与者,包括交易服务器以及矿工(节点),都必须更新软件,才能继续运行新分叉。如有节点组继续使用旧软件,而其他节点使用新的软件,便有可能产生分裂成两只货币。
基于扩容的客户端升级导致分叉,协议改变导致分叉。
最早的硬分叉 2010年8月中旬 通过数值溢出创造了900亿个比特币,按照历史资料来看,处理方式是整个区块被丢弃。
软分叉
与硬分叉相比,软分叉所产生之区块能够被旧软件识别为有效区块,即区块向下兼容。然而,旧软件所产生之区块则未必在新规则下有效。
签名
使用私钥对交易信息签名,全网可用公钥验证。
BIP
比特币改进提案(BIP)是一个改变比特币的正式提案。在没有中央领导的情况下,BIP过程将比特币社区组织起来。BIPs可以对比特币的共识层、社区标准或开发过程提出修改。
钱包
一个包含私钥的文件。它通常包含一个软件客户端,允许访问查看和创建钱包所涉及的特定块链的交易。
HD 钱包(Hierarchica- Deterministic Wallets)是在 BIP32 中提出的为了避免管理一堆私钥的麻烦提出的分层推导方案。
BIP44 是给 BIP32 的分层增强了路径定义规范,同时增加了对多币种的支持。
BIP39 则通过定义助记词让种子的备份更友好。
目前我们的市面上的以太币、比特币钱包基本都遵循这些标准。
区块链浏览器
区块链浏览器包含链信息、区块信息、交易信息和地址信息等。
4、比特币的发展路径
改进电子货币
交易速度:TPS、区块容量、Ltc
交易隐私:Dash、XMR、Zcash
共识机制优化
PoW优点
- 架构简明扼要、有效可靠。
- 由于要获得多数节点承认,那攻击者必须投入超过总体一半的运算量(51%攻击),才能保证篡改结果。这使得攻击成功的成本变得非常高昂,难以实现。
- 某种程度上是公平的,你投入越多的算力,你获得打包权的几率也等比增加。
PoW缺点
- 非常浪费能源。投入在一种加密货币上的能源,可能会超过一个小型国家的总使用量。
- 由于加密货币在世界上已成为一种投资标的,所以技术人员开发出了由ASIC组成的特制计算设备(矿机),垄断算力。这与加密货币的去中心化思想背道而驰。
PoW改进:后期开发的加密货币有针对抗ASIC的算法设计,例如以太坊采用的Ethash(Dagger-Hashimoto)算法。
替代共识机制:部分加密货币陆续使用了PoS机制(例如以太坊)或DPoS机制(例如比特股、EOS)。
拓展应用领域
域名币(NameCoin):将电子货币向域名方向发展。
分布式账本:多个组织共同维护同一套账本数据,向联盟链方向发展。
智能合约方向:下一代加密货币与去中心化应用平台——Vitalik。早期主张比特币平台应该要有个更完善的编程语言让人开发程序,未被接受,14年自行开发以太坊,15年主网上线。