如果你还没听过区块链,说明你真的OUT了,但是你并没有OUT,因为你点开了这篇文章,并决定关注这个公众号,因为你想紧跟时代步伐!
区块链行业现在就像一头潜游的巨鲸,在他真正浮出水面之前,你不会知道有多少人已与之通行。
2018年或许会是区块链应用的元年,因为各个行业大小公司都在入场区块链,一个实际感觉是,大家都暮然发现:“原来你也在这里”。
既然区块链如此之火,那么到底什么是区块链呢?下面就把区块链的历史、原理和一些常用的核心概念介绍给大家。
区块链的起源和发展
区块链起源于2008年,中本聪发表了《比特币:一种点对点的电子现金系统》白皮书,以区块链技术为核心,使得在线支付能够直接由一方发起并支付给另一方,中间不需要通过任何的金融机构,这份文件被视为区块链技术的开端。
中本聪(Satoshis Nakamoto)是比特币的发明人或发明组织,目前身份存疑,“中本聪”也可能仅仅是个化名。中本聪于2008年发表的白皮书论文(Bitcoin:A Peer-to-Peer Electronic Cash System),描述了一种被称为“比特币”的电子货币及其算法,被视为是区块链的第一个成功实践。
一晃十年过去,2018年已经是区块链的十周年了,在这10年里区块链技术得到了不断的发展,概括起来可分为以下三个发展阶段:
区块链1.0
以比特币、莱特币等加密货币为代表,具有支付、流通等货币职能。
区块链2.0
以以太坊、瑞波币等智能合约或理解为“可编程金融”为代表,是对金融领域的使用场景和流程进行梳理、优化的应用。
区块链3.0
区块链技术开始在社会领域下进行应用场景实现,将区块链技术拓展到金融领域之外,为各种行业提供去中心化解决方案的“可编程社会”。
区块链工作原理
区块链网络中的成员节点不依赖于第三方(比如金融机构)来仲裁交易,它们使用共识协议来协商账本内容,使用哈希加密算法和数字签名来确保交易的完整性。
共识机制能确保共享账本是精确副本,并降低了发生交易欺诈的风险,因为篡改需要在许多地方同时执行。哈希加密算法(比如 SHA256 计算算法)能确保对交易输入的任何改动 — 甚至是最细微的改动— 都会计算出一个不同的哈希值,表明交易输入可能被损坏。数字签名确保交易源自发送方(已使用私钥签名)而不是冒名顶替者。
去中心化对等区块链网络可阻止任何单个或一组参与者控制底层基础架构或破坏整个系统。网络中的参与者是平等的,都遵守相同的协议。它们可以是个人、国家代表、企业或所有这三种参与者的组合。
在其核心,该系统会记录交易的时间顺序,而且所有节点都使用选定的共识模型来协商交易的有效性。这会使交易不可逆并被网络中的所有成员接受。
区块链核心概念
1. 区块链(Blockchain)
区块链技术是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案,是一种防篡改的、共享的数字化分布式账本,用于记录公有或私有对等网络中的交易。账本分发给网络中的所有成员节点,在通过哈希密码算法链接的区块的顺序链中,永久记录网络中的对等节点之间发生的资产交易的历史记录。所有经过确认和证明的交易都从链的开头一直链接到最新的区块,因此得名区块链。区块链可以充当单一事实来源,而且区块链网络中的成员只能查看与他们相关的交易。
区块链并不是一种全新的、单一的技术,而是多种现有技术的整合,包含“区块+链”的数据结构、分布式存储、加密算法、共识机制四大核心技术。
通俗地说,区块链相当于一个“串珠”的过程,就像向一条基于时间的射线上不断追加新的珠子,链上不断新增新的区块;当然,“链”并非真实存在,只是基于密码学以及时间戳的原理在时间上凸显先后次序,而“区块”也不是直观上认为的珠子,而是拥有存储信息能力的网络事务数据包,数据包内可以包含转账交易数据、智能合约代码或执行数据等信息。
2. 区块(Block)
区块是在区块链网络上承载交易数据的数据包,是一种被标记上时间戳和之前一个区块的哈希值的数据结构,区块经过网络的共识机制验证并确认区块中的交易。也就是说,记录一段时间内发生的交易和状态结果,是对当前账本状态的一次共识。
3. 链(Chain)
链是由一个个区块按照发生的时间顺序,通过区块的哈希值串联而成,是区块交易记录及状态变化的日志记录。
4. 去中心化(Decentralized)
去中心化是区块链最基本的特征,指区块链不依赖于中心的管理节点,能够实现数据的 分布式记录、存储和更新。
5. 去信任(Trustless)
去信任表示用户不需要相信任何第三方。用户使用去信任的系统或技术处理交易时非常 安全和顺畅,交易双方都可以安全地交易,而不需要依赖信任的第三方。
6. 共识机制(Consensus)
由于点对点网络下存在较高的网络延迟,各个节点所观察到的事务先后顺序不可能完全 一致。因此区块链系统需要设计一种机制对在差不多时间内发生的事务的先后顺序进行 共识,这种对一个时间窗口内的事务的先后顺序达成共识的算法被称为“共识机制”。
7. 分布式账本(Distributed ledger Technology,DLT)
分布式账本又称分布式记账系统,是指一种在网络成员之间共享、复制和同步的数据库,记录网络参与者之间的交易,比如资产或数据的交换。网络中的参与者根据共识原则来制约和协商对账本中的记录的更新。没有中间的第三方仲裁机构(比如金融机构或票据交换所)的参与。
分布式账本在区块链中是一个通过共识机制建立的数字记录,区块链网络中的参与者可以获得一个唯一、真实账本的副本,因此难以对分布式账本进行篡改。更改记录的方式非常困难,技术非常安全。
分布式账本中的每条记录都有一个时间戳和唯一的密码签名,这使得账本成为网络中所有交易的可审计历史记录。目前基于分布式账本技术的区块链开源实现有很多,如Ethereum、Hyperledger Fabric、R3 Corda等。
8. 点对点(Peer-to-Peer,P2P)
通过允许单个节点与其他节点直接交互,无需通过中介机构,从而实现整个系统像有组织的集体一样运作的系统。
9. 块链式数据结构(Chained-Block Data Structure)
一段时间内发生的事务处理以区块为单位进行存储,并以密码学算法将区块按时间先后顺序连接成链条的一种数据结构。
10. 分布式存储(Distributed Data Store,DDS)
传统上的分布式存储本质上是一个中心化的系统,是将数据分散存储在多台独立的设备上,采用可扩展的系统结构、利用多台存储服务器分担存储负荷、利用位置服务器定位存储信息。而基于P2P网络的分布式存储是区块链的核心技术,是将数据存储于区块上并通过开放节点的存储空间建立的一种分布式数据库,解决传统分布式存储的问题。
11. 哈希加密算法(HashEncryption Algorithm )
哈希(Hash)又称作“散列”,是一种数学计算机程序,它接收任何一组任意长度的输入信息,通过哈希算法变换成固定长度的数据指纹输出形式,如字母和数字的组合,该输出就是“哈希值”。哈希使存储和查找信息速度更快,因为哈希值通常更短所以更容易被找到。 同时哈希能够对信息进行加密,一个好的哈希函数在输入域中很少出现哈希冲突,哈希一个特定文档的结果总是一样的,但找到具有相同哈希值的两个文件在计算上是计算上不可行的。
哈希值(Hash Values)通常用一个短的随机字母和数字组成的字符串来代表,是一组任意长度的输入信 息通过哈希算法得到的“数据指纹”。因为计算机在底层机器码是采用二进制的模式, 因此通过哈希算法得到的任意长度的二进制值映射为较短的固定长度的二进制值,即哈 希值。此外,哈希值是一段数据唯一且极其紧凑的数值表示形式,如果通过哈希一段明 文得到哈希值,哪怕只更改该段明文中的任意一个字母,随后得到的哈希值都将不同。
SHA 256 是由美国国安局设计、美国国家标准与技术研究院发布的一套哈希算法,是保护数字信息的最安全的方法之一,其属于SHA系列算法之一,由于其摘要长度为256bits,故称SHA 256。
12. 时间戳(Timestamp)
时间戳从区块生成的那一刻起就存在于区块之中,是用于标识交易时间的字符序列,具备唯一性,时间戳用以记录并表明存在的、完整的、可验证的数据,是每一次交易记录的认证。
13. 数字签名(Digital Signatures)
数字签名(又称公钥数字签名、电子签名)是一种类似写在纸上的签名,但是使用了公钥加密领域的技术实现,是用于鉴别数字信息的方法,在网络上可以使用数字签名来进行身份确认。数字签名是一个独一无二的数值,若公钥能通过验证,那我们就能确定对应的公钥的正确性,数字签名兼具可确认性和不可否认性。
14. 非对称加密(Asymmetric Cryptography)
非对称加密是一种保证区块链安全的基础技术。该技术含有两个密钥,公钥(Public Key)和私钥(Private Key)。首先,系统按照某种密钥生成算法,将输入经过计算得出私钥,然后,采用另一个算法根据私钥生成公钥,公钥的生成过程不可逆。由于在现有的计算能力条件下难以通过公钥来穷举出私钥(即计算上不可行),因此可以认为是数据是安全的,从而能够保证区块链的数据安全。
公钥与私钥是通过一种算法得到的一个密钥对,公钥是密钥对中公开的部分,通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据;私钥则是非公开的部分,是指与一个地址(地址是与私钥相对应的公钥的哈希值)相关联的一把密钥,是只有你自己才知道的一串字符,可用来操作账户里的加密货币。
15. 挖矿(Mining)
挖矿是指利用电脑硬件计算、记录和验证被称为区块链的数字记录信息的过程。矿工通过挖矿求解数学难题从而获得创建新区块的记账权以及区块的比特币奖励,由于其工作原理与矿物开采十分相似,故称之为挖矿。目前最常见的方式是通过PoW工作量证明共识机制,比如比特币挖矿,第一个解决复杂数学问题的计算机将得到一个新的可记录区块链上信息的块,同时得到新的比特币。
16. 工作量证明(Proof of Work ,PoW)
工作量证明简单理解就是一份证明,用来确认节点做过一定量的工作。监测工作的整个过程通常是极为低效的,而通过对工作的结果进行认证来证明完成了相应的工作量,则是一种非常高效的方式。比特币在区块的生成过程中使用了PoW机制,要得到合理的随机数求解数学难题需要经过大量尝试计算,通过查看记录和验证区块链信息的证明,就能知道是否完成了指定难度系数的工作量。
17.加密货币(Cryptocurrency)
加密货币是基于密码学的、不具备物理形式的货币,是数字货币的表现形式之一,在区块链中是指“一种基于P2P网络、没有发行机构、总量基本确定、依据确定的发行制度和分配制度创建及交易、基于密码学及共识机制保证流通环节安全性的、具备一定编程性的数字货币”,而各国对于加密货币的定义不一而足,我国央行将加密货币定义为一种“虚拟商品”,不具备货币属性;而在美国则根据不同部门有不同的定义,如:财产、大宗商品、货币、虚拟货币等。
18. 智能合约(Smart Contract)
智能合约最早在上世纪末就被提出,但直到近年随着区块链技术的发展逐步被社会大众所熟悉。智能合约的概念具备承诺、协议、数字形式三大要素,因此能够将区块链的应用范围扩展至金融行业交易、支付、结算和清算的各个环节。智能合约是指当一个预先编好的条件被触发时,智能合约会立即执行相应的合同条款,其工作原理类似于计算机程序的if-then语句。
19. 区块链应用范围分类
公有链(Public Blockchain)
公有链的任何节点都是向任何人开放的,每个人都可以参与到这个区块链中的计算,而且任何人都可以下载获得完整区块链数据,即全部账本。
联盟链(Consortium Blockchain)
联盟链是指参与每个节点的权限都完全对等,各节点在不需要完全互信的情况下就可以实现数据的可信交换,联盟链的各个节点通常有与之对应的实体机构组织,通过授权后才能加入或退出网络。联盟链是一种公司与公司、组织与组织之间达成联盟的模式。
私有链(Private Blockchain)
在某些区块链的应用场景下,开发者并不希望任何人都可以参与这个系统,因此建立一种不对外公开、只有被许可的节点才可以参与并且查看所有数据的私有区块链,私有链一般适用于特定机构的内部数据管理与审计。
20. 区块链技术应用
加密货币代表:比特币、莱特币
智能合约代表:以太坊、瑞波币
商业应用代表:超级账本(Hyperledger)
比特币(Bitcoin ,BTC)
——一种点对点的去中心化加密货币
Bitcoin (比特币)的概念是由中本聪(化名)于2009年1月3日提出,是一种点对点的、去中心化、全球通用、无排他性、不需第三方机构或个人,基于区块链作为支付技术的加密货币,比特币不依赖中央机构发行,而是通过工作量证明共识机制在区块链中完成,也就是俗称“挖矿”。比特币使用整个P2P网络节点的分布式数据库来确认、验证及记录货币的交易;比特币发行总量2100万枚,预计于2140年(注:2040年的说法有误)发行完毕,目前市面上流通量超过80%。
莱特币(Litecoin,LTC)
——最早的第一代加密货币竞争币之一
Litecoin (莱特币)是最早的竞争币之一,于2011年从比特币衍生出来并在技术上具有相同的实现原理,其创新点有两个:其一,使用Scrypt作为工作量证明算法,使得莱特币在普通计算机上更易于挖掘;其二,莱特币网络大约每2.5分钟处理一个区块,使得莱特币网络具有更快的交易确认速度。2017年6月莱特币闪电网络上线。
以太坊(Ethereum )以太币(Ether,ETH)
——下一代智能合约和去中心化应用平台
Ethereum (以太坊)是一种开源的、图灵完备的、智能合约公有区块链,基于区块链账本用于合约的处理和执行,使得任何人都能够创建合约和去中心化应用,并在其中自有定义所有权规则、交易方式和状态转换函数。Ethereum由Vitalik Buterin(绰号“V神”)所创立并于2014年7月进行ICO。以太坊内置名为Ether (以太币)的加密货币。
瑞波(Ripple)瑞波币(XRP)
——点对点的去中心化资产传输网络
Ripple(瑞波)是一个去中心化的资产传输网络,用于解决金融机构以及用户间的资产转换和信任问题。XRP (瑞波币)是Ripple网络流通的基础货币,任何人均可以创建Ripple账户并通过Ripple支付网络转账任意一种货币,包括美元、欧元、人民币、日元或者比特币,交易确认在几秒以内完成且交易费用几乎为零。瑞波币的最大发行量为1000亿枚并随着交易的增多而逐渐减少,瑞波币的运营公司为Ripple Labs,其前身为OpenCoin。
超级账本(Hyperledger)
——由软件开发者社区构建的区块链框架和平台
Hyperledger创立于2016年,是一个由Linux基金会主导的为了提高跨行业的区块链技术的全球开源合作项目,由30个创始公司会员和一套技术和组织治理机构组成,包括了金融、银行、物联网、供应链、制造和科技产业的领导者。只有开放源代码、协作式软件开发方法才能确保将区块链技术推向主流商业采用所需的透明度、寿命、互操作性和支持。这就是Hyperledger的目的:由软件开发者社区构建区块链框架和平台。
Hyperledger托管的商业区块链框架有很多,其中最著名的一个就是Fabric。Fabric是一个区块链技术的执行版,拟作为开发区块链应用或解决的基础。开发环境建立在VirtualBox虚拟机上,部署环境可以自建网络,也可以直接部署在BlueMix上,部署方式可传统可docker化,共识达成算法插件化,支持用Go和Java开发智能合约,尤以企业级的安全机制和membership机制为特色。
规划企业区块链的未来需要建立在完全审核的开源架构之上,HyperledgerFabric正是以此为出发点而构建的分布式账本解决方案的平台,以模块化架构为基础,提供高度的机密性,弹性,灵活性和可扩展性。它旨在支持不同组件的可插拔实现,并适应整个经济生态系统的复杂性,Fabric之于区块链,正如Hadoop之于大数据。
区块链技术商业优势
在传统业务网络中,所有参与者都维护着自己的账本,这些账本之间的重复和差异会导致争议、更长的结算时间,而且因为需要中介,还会导致相关的间接管理成本。但是,通过使用基于区块链的共享账本,交易在通过共识性验证并写入账本后,就不能再更改,这样企业就能节省时间和成本,同时减少风险。
区块链共识机制提供了经过整合的、一致的数据集的优势,减少了错误,拥有近实时的引用数据,而且参与者能够灵活更改其拥有的资产的描述。
因为没有参与成员拥有共享账本中所含信息的来源,所以区块链技术会提高参与成员之间的交易信息流中的可信度和完整性。
区块链技术的不变性机制降低了审计和合规性成本,增加了透明性。而且在使用区块链技术的业务网络上,合约得以智能、自动化执行并最终确认,所以企业会获得更高的执行速度、更低的成本和更少的风险,所有这些使企业能构建新收入流来与客户交互。
区块链企业需求
区块链是一种真正颠覆性的技术,能给业务网络带来变革,这一创新需要以开放的方式与其他科技公司及行业协作进行。行业级区块链技术要求具有以下特征:
共享的许可制账本(Shared,Permissioned Ledger)是仅可附加的记录系统 (SOR) 和单一事实来源。它对业务网络的所有参与成员均可见。
共识协议 (Consensus Protocol))是业务网络的所有参与成员都赞同的协议,可确保仅使用经过网络验证的交易来更新账本。
加密 (Crytography) 可确保交易的防篡改安全性、身份验证和完整性。
智能合约 (Smart Contract) 封装了在网络上发生的交易的参与者协议条款;它们存储在区块链中的验证节点上并通过交易触发。
除了以上特征之外,企业区块链技术还需要支持关键的行业要求,比如性能、经过验证的身份,以及私下和机密的交易。Hyperledger Fabric 就是为满足这些需求而设计的,它还设计了一种可插拔的共识协议,允许企业为其网络选择最佳算法。
结束语
区块链技术代表着一种全新的业务交易方式。它们引进了稳健的、智能的下一代应用程序,利用这些应用程序来登记和交换物理、虚拟、有形和无形资产。得益于密码安全性、去中心化共识和共享公共账本(及其适当控制和许可的可视性)等关键概念,区块链技术能够完全改变我们组织经济、社会、政治和科学活动的方式。
参考:维京资本&甲子光年《区块链行业词典》
最后,以一首歌来呼应下文章开头 ^_^
领取专属 10元无门槛券
私享最新 技术干货