两万字深度长文!从原理到趋势,解剖风口上的区块链技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
两万字深度长文!从原理到趋势,解剖风口上的区块链技术
文| 川
来源| 怪诞笔记,ID:xiaochuan_future编辑| 扑克投资家,转载请注明出处
前言:区块链不是一项新技术,而是一个新的技术组合。其关键技术包括P2P动态组网、基于密码学的共享账本、共识机制、智能合约等技术;
科技史上大部分创新都是与生产力有关的,提升效率,让人做更少工作,让机器做更多工作;区块链带来的最主要的颠覆却是生产关系上的;
互联网实现了信息的传播,区块链实现了价值的转移;区块链可以看作是“价值互联网”的基础协议,类似于“信息互联网”的HTTP协议,二者都是建议在TCP/IP协议之上的应用层协议;
区块链并不是一个全能技术,在某些应用领域里相比传统技术并不具备明显的技术优势,因此创业者及投资机构都需要考虑技术适用性问题;
区块链底层技术及协议层可能出现几家平台型公司;但大部分投资机会在于应用层,即基于行业应用的“区块链+”项目。
9月4日央行等7部委下发的《防范代币发行融资风险公告》
将ICO定义为非法融资,不论机构和个人都不建议参与此类项目。Part One:区块链基础知识
&区块链和区块链技术
“区块链就像一台魔法计算机,任何人都能够上传程序并自我执行,程序执行前和执行后的所有状态都公开可见,密码经济学为程序严格按照协议执行提供了机制保障。”——Vitalik Buterin
狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本(分布式数据库)。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。
如何理解上述定义呢?
1) 一个分布式的链接账本,每个账本就是一个“区块”;
2) 基于分布式的共识算法来决定记账者;3) 账本内交易由密码学签名和哈希算法保证不可篡改;4) 账本按产生的时间顺序链接,当前账本含有上一个账本的哈希值,账本间的链接保证不可篡改;5) 所有交易在账本中可追溯。&区块链特征
区块链是一种共享的分布式数据库技术。尽管不同报告中对区块链的介绍措辞都不相同,但以下4个技术特点是共识性的。
1) 去中心化(Decentralization):区块链由众多节点组成一个端到端的网络,不存在中心化的设备和管理机构,任一节点停止工作都会不影响系统整体的运作。图2的左侧描述了当今金融系统的中心化特征,右侧描述的是正在形成的去中心化金融系统;2) 去信任(Trustless):系统中所有节点之间通过数字签名技术进行验证,无需信任也可以进行交易,只要按照系统既定的规则进行,节点之间不能也无法欺骗其它节点;
3) 集体维护(CollectivelyMaintain):系统是由其中所有具有维护功能的节点共同维护的,系统中所有人共同参与维护工作;
4) 可靠数据库(ReliableDatabase):系统中每一个节点都拥有最新的完整数据库拷贝,单个甚至多个节点对数据库的修改无法影响其他节点的数据库,除非能控制整个网络中超过51%的节点同时修改,这几乎不可能发生。区块链中的每一笔交易都通过密码学方法与相邻两个区块串联,因此可以追溯到任何一笔交易的前世今生。简化起见,上图展示了6处保留数据库副本的节点;在3个交易序列中,前2个交易的数据和签名得到了所有6个节点的验证,但第三个交易的
位置5没有通过验证,将被其它节点的“一致意见”更改。&区块链分类
以参与方分类,区块链可以分为公有链、联盟链和私有链;从链与链的关系来分,可以分为主链和侧链。
1) 公有链(Public Blockchain)
公有链通常也称为非许可链(Permissionless Blockchain),无官方组织及管理机构,无中心服务器,参与的借点按照系统规格自由接入网路、不受控制,节点间基于共识机制开展工作。
公有链是真正意义上的完全去中心化的区块链,它通过密码学保证交易不可篡,同时也利用密码学验证以及经济上的激励,在互为陌生的网络环境中建立共识,从而形成去中心化的信用机制。在公有链中的共识机制一般是工作量证明(PoW)或权益证明(PoS),用户对共识形成的影响力直接取决于他们在网络中拥有资源的占比。
公有链一般适合于虚拟货币、面向大众的电子商务、互联网金融等B2C、C2C或C2B等应用场景,比特币和以太坊等就是典型的公有链。
2) 联盟链(Consortium Blockchain)
联盟链是一种需要注册许可的区块链,这种区块链也称为许可链(Permissioned Blockchain)。联盟链仅限于联盟成员参与,区块链上的读写权限、参与记账权限按联盟规则来制定。
整个网络由成员机构共同维护,网络接入一般通过成员机构的网关节点接入,共识过程由预先选好的节点控制。由于参与共识的节点比较少,联盟链一般不采用工作量证明的挖矿机制,而是多采用权益证明(PoS)或PBFT(Practical Byzantine Fault Tolerant)、RAFT等共识算法。
一般来说,联盟链适合于机构间的交易、结算或清算等B2B 场景。例如在银行间进行支付、结算、清算的系统就可以采用联盟链的形式,将各家银行的网关节点作为记账节点,当网络上有超过2/3的节点确认一个区块,该区块记录的交易将得到全网确认。联盟链对交易的确认时间、每秒交易数都与公有链有较大的区别,对安全和性能的要求也比公共链高。
由40多家银行参与的区块链联盟R3和Linux基金会支持的超级账本(Hyperleder)项目都属于联盟链架构。目前国内有影响力的区块链联盟——中国分布式总账基础协议联盟(ChinaLedger)、中国区块链研究联盟、金链盟(金融区块链联盟)等——也都在致力于开发联盟区块链项目。
3) 私有链(Private Blockchain)
私有链建立在某个企业内部,系统的运作规则根据企业要求进行设定。
私有链的应用场景一般是企业内部的应用,如数据库管理、审计等;在政府行业也会有一些应用,比如政府的预算和执