区块链的正确打开姿式

 新事物每每不是凭空而来,发展和演化也不多一蹴而就。认识新事物,首先要弄清楚它的前因后果,知其出身,方能知其因此然。此文章为《区块链技术指南》的读后笔记&摘要。git

帐本科技的演化

 区块链(Blockchain)的概念首次被人们关注,源于2009年初上线的比特币(Bitcoin)开源项目。从记帐科技的演化角度来看,区块链其实是记帐问题发展到分布式场景下的自然结果。帐本科技的演化过程大体能够分为四个阶段:简单帐本、复式帐本、数字化帐本、分布式帐本。简单帐本很好理解,就是数据没有备份,容易出错且很难发现是否被篡改过。复式帐本,简单理解就是,将每笔交易分别在来源方和目标方进行记录,且多方之间的帐本总额应该时刻保持相等,这样就解决了单个帐本的帐本可信问题。数字化帐本的记帐方法相对于复式帐本自己并无太多创新,但因为数字媒介的出现,使得帐本的规模、处理的速度、帐本的复杂度都有了天翻地覆的提高,这是如今的电子商务、互联网金融的技术基础。复式帐本虽然记录了交易的前因后果,不易出错,但本质上仍然是中心化模式,多方交易状况下若是某个或部分帐本数据出现不一致,对帐十分困难,分布式帐本:由交易多方共同维护同一个共享的分布式帐本,打通交易在不一样阶段的前因后果,同时凭借分布式技术进一步提升记帐的规模、效率、可靠性以及合规性。但在分布式场景下,如何避免参与方恶意篡改或者破坏记录?该由谁来决定每笔交易记录是否写入到帐本中?这些问题一直都还在探索最佳实践。github

分布式帐本与区块链

 为了防止有参与者对交易记录进行篡改,须要引入必定的验证机制。很天然地,咱们想到了数字摘要技术,一个多方参与且都有权限读写的帐本,每次当有新的交易记录被追加到帐本上时,参与各方可使用Hash算法对完整的交易历史计算数字摘要,获取当前交易历史的“指纹”。此后任意时刻,每一个参与方均可以对交易历史从新计算数字摘要,一旦发现指纹不匹配,则说明交易记录被篡改过。同时,经过追踪指纹改变位置,能够定位到被篡改的交易记录: 算法

 上述方案,在实际应用中能够解决记录防篡改问题,但仍然存在较大缺陷。因为每次追加新的交易记录时须要从头对全部的历史数据计算数字摘要,当已存在大量交易历史时,数字摘要计算成本将变得很高,随着新交易的放生交易耗费将愈来愈大,系统扩展性不好。 为了解决可扩展性的问题,须要进一步改进为方案二:主要到每次摘要已经确保了从头开始到摘要位置的完整历史,当新的交易发生后,实际上须要进行额外验证的只是新的交易,即增量部分。所以,计算摘要的过程能够改进为对旧的摘要值再加上新的交易内容进行验证。这样既解决了防篡改问题,又解决了可扩展性问题:  实际上,你可能已经注意到,方案二的帐本结构正是一个区块链结构:
 可见,从分布式记帐的基本问题出发,能够天然推导出区块链结构,这也说明了在分布式场景下的记帐问题中,区块链是一个简洁有效的自然答案。固然,区块链结构也并不是解决分布式记帐问题的惟一答案,实际上,除了简单的线性队列结构,也有人提出采用树或者图结构。

比特币的意义和价值

 直到今天,关于比特币的话题仍充满了很多争议。但大部分人应该都会承认,比特币是数字货币历史上,甚至整个金融历史上一次了不得的社会学实验。
 比特币首次真正从实践意义上实现了安全可靠的非中心化数字货币机制,这也是它受到无数金融科技从业者热捧的根本缘由。做为一种概念货币,比特币主要是但愿解决已有货币系统面临的几个核心问题:数据库

  1. 被掌控在单一机构手中,容易被攻击。
  2. 自身的价值没法保证,容易出现波动。
  3. 没法匿名化交易,不够隐私。
     要实现一套数字货币机制,最关键的仍是要创建一套完善的交易记录系统,以及造成一套合理的货币发行机制。这个交易记录系统要能准确、公正地记录发生过的每一笔交易,而且没法被恶意篡改。对比已有的银行系统,能够看出,现有的银行机制做为金融交易的第三方中介机构,有代价地提供了交易记录服务。若是参与交易的多方都彻底相信银行的记录(数据库),就不存在信任问题。但是若是是更大范围(甚至跨多家银行)进行流通的货币呢?哪家银行的系统能提供彻底可靠不中断的服务呢?惟一可能的方案是一套分布式帐本。这个帐本能够被全部用户自由访问,并且任何个体都没法对所记录的数据进行恶意篡改和控制。为了实现这样一个史无前例的帐本系统,比特币网络巧妙地设计了区块链结构,提供了可靠、没法被篡改的数字货币帐本功能。
     比特币网络中,货币的发行是经过比特币协议来规定的。货币总量受到控制,发行速度随时间自动进行调整。既然总量必定,那么单个比特币的价值会随着愈来愈多的经济实体承认比特币而水涨船高。发行速度的自动调整则避免出现通胀或者滞涨的状况。
     另外一方面,也要冷静地看到,做为社会学实验,比特币已经得到了某种成功,特别是基于区块链技术,已经出现了许多很有价值的商业场景和创新技术。但这毫不意味着比特币自身必然可以进入到将来的商业体系中。比特币自身价值的波动十分剧烈;同时因为帐目公开可查,经过分析仍有较大几率追踪到实际使用者;另外,比特币系统在很多管理环节上仍然依赖中心化的机制。

更有价值的区块链技术

 若是说比特币是影响力巨大的社会学实验,那么从比特币核心设计中提炼出来的区块链技术,则让你们看到了塑造更高效、更安全的将来商业网络的可能。
 2014 年开始,比特币背后的区块链技术开始逐渐受到你们关注,并进一步引起了分布式记帐本(Distributed Ledger)技术的革新浪潮。
 实际上,人们很早就意识到,记帐相关的技术,对于资产(包括有形资产和无形资产)的管理(包括全部权和流通)十分关键;而多中心化的分布式记帐本技术,对于当前开放、多维的商业模式意义重大。区块链的思想和结构,正是实现这种分布式记帐本系统的一种极具可行潜力的技术。
 区块链技术如今已经从比特币项目脱颖而出,在包括金融、贸易、征信、物联网、共享经济等诸多领域崭露头角。如今,除非特别指出是“比特币区块链”,不然当人们提到“区块链技术”时,每每已与比特币没有什么必然联系了。
 商业行为的典型过程为:交易多方经过协商肯定商业合约,经过执行合约完成交易。区块链擅长的正是如何在多方之间达成合约,并确保合约的顺利执行。根据类别和应用场景不一样,区块链所体现的特色和价值也不一样。从技术角度,通常认为,区块链具备以下特色:安全

  1. 分布式容错性:分布式帐本网络极其鲁棒,可以容忍部分节点的异常状态;
  2. 不可篡改性:共识提交后的数据会一直存在,不可被销毁或修改;
  3. 隐私保护性:密码学保证了数据隐私,即使数据泄露,也没法解析。

随之带来的业务特性将可能包括:网络

  1. 可信任性:区块链技术能够提供自然可信的分布式帐本平台,不须要额外第三方中介机构参与;
  2. 下降成本:跟传统技术相比,区块链技术可能经过自动化合约执行带来更快的交易,同时下降维护成本;
  3. 加强安全:区块链技术将有利于安全、可靠的审计管理和帐目清算,减小犯罪风险。

 区块链并不是凭空诞生的新技术,更是多种技术演化到必定程度后的产物,所以,其商业应用场景也跟促生其出现的环境息息相关。对于基于数字方式的交易行为,区块链技术能潜在地下降交易成本、加快交易速度,同时能提升安全性。我认为,可否最终提升生产力,将是一项技术可否被实践接受的关键。数据结构

区块链的定义与原理

讨论区块链的定义能够从狭义和广义两个层面来看待。
 狭义上,区块链是一种以区块为基本单位的链式数据结构,区块中利用数字摘要对以前的交易历史进行校验,适合分布式记帐场景下防篡改和可扩展性的需求。
 广义上,区块链还指代基于区块链结构实现的分布式记帐技术,包括分布式共识、隐私与安全保护、点对点通讯技术、网络协议、智能合约等。
 区块链的基本原理理解起来并不复杂。首先来看三个基本概念:分布式

  • 交易(Transaction):一次对帐本的操做,致使帐本状态的一次改变,如添加一条转帐记录;ide

  • 区块(Block):记录一段时间内发生的全部交易和状态结果等,是对当前帐本状态的一次共识;性能

  • 链(Chain):由区块按照发生顺序串联而成,是整个帐本状态变化的日志记录。

 若是把区块链系统做为一个状态机,则每次交易意味着一次状态改变;生成的区块,就是参与者对其中交易致使状态改变结果的共识。区块链的目标是实现一个分布的数据记录帐本,这个帐本只容许添加、不容许删除。帐本底层的基本结构是一个线性的链表。链表由一个个“区块”串联组成(以下图所示),后继区块中记录前导区块的哈希(Hash)值。某个区块(以及块里的交易)是否合法,可经过计算哈希值的方式进行快速检验。网络中节点能够提议添加一个新的区块,但必须通过共识机制来对区块达成确认。

认识上的误区

目前,区块链自身还是一种相对年轻的技术,很多人对它的认识还存在一些不足。下面总结了在探讨区块链技术时候一些常见的误区:

  • 区块链核心在于比特币?虽然说区块链的基本思想出如今比特币设计中,但发展到今日,加密货币和区块链已经俨然成为了两个不太相关的阵营。前者侧重从金融角度发掘比特币等代币的实验性意义;后者则从技术层面探讨和研究分布式帐本科技可能带来的商业价值,试图拓展到更多的场景。

  • 区块链是一种数据库技术 虽然区块链也能够用来存储数据,但它要解决的核心问题是多方的互信协做问题。单纯从存储数据角度,区块链效率可能不高,通常也不推荐把大量原始数据直接放到区块链系统上。固然,现有区块链系统中大量使用了数据库技术。也有企业尝试将区块链技术引入到分布式数据库领域,解决非中心化的管理,如 BigchainDB。

  • Token 就是数字货币? 早在区块链概念出现以前,Token(令牌)就大量应用在计算机系统中,做为带有某种权限的证实,它能够协助系统应用进行快速协做。所以,在区块链系统中使用 Token 可能在某些应用场景(如游戏积分)下提供管理便利。而数字货币则强调经济价值,跟其在系统中的原生功能无必然联系。

  • 区块链是万能的,是颠覆性的? 做为融合多项已有技术而出现的事物,区块链跟现有技术体系是一脉相承的。它在解决多方合做和可信处理上向前多走了一步,但并不意味着它解决了全部问题,更不会快速颠覆大量的商业模式。很长一段时间里,区块链最适用的场景仍需不断摸索,区块链也会跟已有系统共存使用。

  • 区块链必然是非中心化的?非中心化的必定优于中心化设计?讨论技术的优劣必需要有场景前提,区块链也是如此。并不存在某种区块链技术能在任意场景下都优于其它方案,这也是为什么目前公开链和联盟链在技术选型上存在较大差别。中心化设计具备设计简单,管理完善,性能可控的特色,但每每容错性能比较差;非中心化(多中心化)的设计能够提升容错性能,利用多方共识来下降篡改风险,但意味着设计较复杂,要付出性能代价。实际上,根据实际场景的需求,现有大部分区块链技术都介于绝对的中心化和绝对的非中心化之间,以取得不一样指标上的平衡。例如公开链为了提升性能经过选择部分信任的节点来做为表明。

相关文章
相关标签/搜索