区块链的发展及应用背景
哈尔滨工程大学 区块链技术课程 计算机学院 2019065428张人杰
一、区块链的发展
- 作为分布式记账(Distributed Ledger Technology,DLT)平台的核心技术,区块链被认为在金融、征信、物联网、经济贸易结算、资产管理等众多领域都拥有广泛的应用前景。
- 区块链技术处于快速发展的初级阶段,现有区块链系统在设计和实现中利用了分布式系统、密码学、网络协议等诸多学科的知识。
什么是区块链?
区块链起源于中本聪的比特币,作为比特币的底层技术,本质上是一个去中心化的数据库。通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。
区块链作为分布式账本技术,其特点是去中心化、公开透明,让每个人均可参与数据库记录。
区块链本质上是个注重安全和可信度胜过效率的一项技术。
解决信任问题:互联网技术解决的是通讯问题,区块链技术解决的是信任问题。
区块链分类
根据参与者的不同,可以分为公开(Public)链、联盟(Consortium)链和私有(Private)
链。
公开链:任何人都可以参与使用和维护,典型的如比特币区块链,信息是完全公开的
私有链:则是集中管理者进行限制,只能得到内部少数人可以使用,信息不公开
联盟链:联盟链则介于两者之间,由若干组织一起合作维护一条区块链,该区块链的使用必须是有权
限的管理,相关信息会得到保护,典型如银联组织
区块链发展
区块链1.0时代:比特币为代表的数字货币应用,其场景包括支付、流通等货币职能,主要解决货币和支付手段的去中心化
区块链2.0时代:数字货币与智能合约相结合,对金融领域更广泛的场景和流程进行优化的应用
区块链3.0时代:不止金融领域,为各种行业提供去中心化解决方案
二、区块链1.0 数字货币时代
比特币
- 比特币项目是区块链首个大规模的成功应用,并且是首个得到实践检验的数字货币实现。比特币是一种去中心化,全球可支付的电子加密货币。
由中本聪于2009年1月3日,基于无国界的对等网络,用共识主动性开源软件发明创立,是目前市场总值最高的加密货币。
区块结构:
链上结构:
挖矿和矿池 :
- 挖矿:参与维护比特币网络的节点,通过协助生成新区块来获取一定量新增的比特币。
- 激励机制:当用户发布交易后,需要有人将交易进行确认, 写到区块链中,形成新的区块。在一个没有信任机制的系统中,该由谁来完成这件事情呢” />
- 共识方案:共识在区块链中扮演着核心的地位,共识机制决定了谁有记账的权利,以及记账权利的选择过程和理由。不用的虚拟货币采用共识机制不同,常见的共识机制如POW,POS,DPOS,拜占庭容错等。
工作量证明
工作量证明,Proof of Work:通过计算来猜测一个数值(nonce),得以解决规定的 hash 问题(来源于 hashcash)。保证在一段时间内,系统中只能出现少数合法提案。
分叉:少量的合法提案会在网络中进行广播,收到的用户进行验证后会基于它认为的最长链上继续难题的计算。因此,系统中可能出现链的分叉(Fork),但最终会有一条链成为最长的链。
51%攻击:hash 问题具有不可逆的特点,因此,目前除了暴力计算外,还没有有效的算法进行解决。反之,如果获得符合要求的 nonce,则说明在概率上是付出了对应的算力。谁的算力多,谁最先解决问题的概率就越大。当掌握超过全网一半算力时,从概率上就能控制网络中链的走向。
比特币分叉
软分叉:由于整个区块链系统软件的升级, 部分矿工没有来得及升级,出现遵
从不同共识机制产生的分叉。当这部分矿工升级系统后,这个分叉就会消失。硬分叉:区块链发生永久性分歧,在新共识规则发布后,部分没有升级的节点无法验证已经升级的节点生产的区块,通常硬分叉就会发生。
- BTC和BCH:矿池在在比特币分叉问题上出现分歧,硬分叉产生BCH。
隔离见证和闪电网络
扩容问题:随着比特币网络的发展,单个区块存储的交易信息越来越多,1MB区块仅能容纳2000条左右交易,交易量大时需要排队等待区块写入确认,交易网络拥堵问题越来越严重。
隔离见证:把交易的签名数据从交易数据中剥离出来,用于解决延展性攻击。
闪电网络:在比特币网络上再外加一个「闪电网络(Lightning Network)」,把原有比特币链上金额较少的交易,转移到这个闪电网络来处理,完成后再记录到原链上。
依赖于隔离见证的闪电网络等二层网络并不能被认为是比特币的扩容方案,因为闪电网络的交易并不等价于比特币的点对点的链上交易,大部分比特币交易的场景并不适用于闪电网络。
支付中心问题:假设闪电网络部署成功,也会存在大型支付中心的问题,这违背了比特币做为点对点支付系统的初衷。
山寨币及改进:
三、区块链2.0 智能合约
以太坊
以太坊项目进一步扩展区块链网络的能力,从交易延伸为智能合约(Smart Contract)。是一个运行智能合约的去中心化平台 (Platform for Smart Contract),平台上的应用按程序设定运行, 不存在停机、审查、欺诈、第三方为干预的可能。
以太坊是一个区块链应用开发平台,基于以太坊构建的网络和智能合约语言,我们可以实现各种各样的与现实世界接近的分布式应用(DApp)。
以太坊特点
Gas机制:以太坊上的每笔交易都会被收取一定数量的gas,gas的目的是限制执行交易所需的工作量,同时为执行支付费用。当EVM执行交易时,gas将按照特定规则被逐渐消耗。gas在以太坊网络中实际的体现就是ether代币。
叔块(uncle block):将因为速度较慢未及时被收录的较短区块链并入并可以获得奖励。使用的是有向无环图的相关技术。
POW权益证明机制:相较于POW作证明,可节省在挖矿时浪费的电脑资源,并避免算力中心化。
闪电网络(lightning network):可提升交易速度、降低区块链的负担,提可扩展性。
共识机制改进
POW协议存在的问题:算力被掌握在大的算池手中,比特币并没有像它希望的那样分散化,这也是比特币不断出现分叉的原因。
Casper协议:权益证明将让整个挖矿过程虚拟化,并以验证者取代矿工。
以下是权益证明的运行过程:
验证者必须锁定一些他们拥有的币作为保证金。
在此之后,他们将开始验证区块。同时,当他们发现一个他们认为可以被加到链上的区块时,他们会通过下赌注来验证它。
如果该区块成功上链,验证者就将得到一个与他们的赌注成比例的奖励。
智能合约
EOS众筹
智能合约是区块链技术的特性之一。
以太坊在其区块链上实施了一种近乎图灵完备的语言,这是一个突出的智能合约框架。
尼克·萨博:一个智能合约是一套以数字形式定义的承诺(promises),包括合约参与方可以在上面执行这些承诺的协议。
智能合约其实是一段被存储在一个区块链上的代码,由区块链交易触发,读取并且在区块链数据库写入数据。
以太坊分叉
- The DAO事件导致以太坊硬分叉:以太坊上著名的项目The DAO由于其自身漏洞 ,导致黑客窃取当时价值约6000万美元的以太币。2016年7月,以太坊开发团队通过修改以太坊软件的代码,在第1920000个区块强 把The DAO及其 DAO 的所有资金全部转到一个特定的退款合约地址,从 “夺回” 客所控 制的DAO合约币。由于部分矿工并不认同这个修改,于是形成两条链, 一条为以太坊(ETH),一条为以太坊经典(ETC),各自代表 同的社区共识以及价值观。
首次代币发行
ICO(Initial Coin Offering):对比IPO 首次公开募股,是指企业或非企业组织在区块链技术的支持下发行代币,向投资人募集虚拟货币(一般为比特币、以太坊)的融资活动,将发行的标的物由IPO的证券变成了数字加密货币。
美国多个州的法律法规不认为ICO本身是证券、期货等金融类产品,即不能作为一种投资品或者投资类型存在,因此不允许公开进行ICO活动;2017年9月4日,央行等7部委联合下发《关于防范代币发行融资风险的公告》,叫停国内ICO。
2017年明星项目,每天发行2000000代币,目前已经众筹近252亿人民币。
EOS.IO采用委托股权证明算法,全称是delegated proof of stake,缩写就是DPOS。DPOS相当于人民代表大会制度,所有的网络上的代币持有人均为用户,用户通过投票方式选取得票人成为区块链节点。
EOS号称使用石墨烯技术:基于石墨烯底层的BTS和STEEM可以达到1.5S的平均确认速度和有限条件下实测3300TPS的数据吞吐量,EOS通过并行链的方式,最高可以达到数百万TPS,并且并行本地链甚至可以达到毫秒级的确认速度。
2018年6月主网上线,需要进行上链操作。
四、区块链3.0 超级账本项目
Hyper Ledger项目
2015 年 12 月,开源世界的旗舰——Linux 基金会牵头,联合 30 家初始企业成员(包括
IBM、Accenture、Intel、J.P.Morgan、R3、DAH、DTCC、FUJITSU、HITACHI、SWIFT、
Cisco 等),共同宣告了Hyperledger项目的成立。该项目试图打造一个透明、公开、去中心化的分布式账本项目,作为区块链技术的开源规范和标准,让更多的应用能更容易的建立在区块链技术之上。
区块链3.0时代:比特币为代表的货币区块链技术为 1.0,以太坊为代表的合同区块链技术为 2.0,Hyperledger 实现了完备的权限控制和安全保障项目,代表 3.0 时代的到来。
模块架构
Blockchain Explorer:提供 Web 操作界面,通过界面快速查看查询绑定区块链的状态(区块个数、交易历史)信息等。
Fabric:区块链的基础核心平台,支持 pbft 等新的 consensus 机制,支持权限管理。
STL项目: Intel 主要发起和贡献的区块链平台,支持全新的基于硬件芯片的共识机制 Proof of ElapsedTime(PoET)。
Iroha:账本平台项目,基于 C++ 实现,带有不少面向 Web 和 Mobile 的特性,主要由Soramitsu 发起和贡献。
Cello:提供“Blockchain as a Service” 功能,使用Cello,管理员可以轻松获取和管理多条区块链;应用开发者可以无需关心如何搭建和维护区块链。
Fabric 1.0实现功能
- 使用GO和JAVA语言运行智能合约
- 智能合约封装在Docker容器中执行
- 共识算法是可插拔的,目前支持使用PBFT
- 使用KV持久化数据存储,支持LevelDB
- 支持多种客户端交互,包括Node.js,Python
- 项目仍在孵化和社区共建中
五、区块链应用场景
应用场景
金融领域:区块链在国际汇兑、信用证、股权登记和证券交易所等金融领域有着潜在的巨大应用价值。将区块链技术应用在金融行业中,可省去第三方中介环节,实现点对点的对接,从而在大大降低成本的同时,快速完成交易支付。
供应链和物流领域:区块链在物联网和物流领域也可以天然结合。通过区块链可以降低物流成本,追溯物品的生产和运送过程,并且提高供应链管理的效率。该领域被认为是区块链一个很有前景的应用方向。
公共服务领域:区块链在公共管理、能源、交通等领域都与民众的生产生活息息相关,但是目前这些领域的中心化特质也带来了一些问题,可以用区块链来改造。
认证、公证领域:区块链具有不可篡改的特性,所以在认证和公证也有巨大的市场。
数字版权领域:通过区块链技术,可以对作品进行鉴权,证明文字、视频、音频等作品的存在,保证权属的真实、唯一性。作品在区块链上被确权后,后续交易都会进行实时记录,实现数字版权全生命周期管理,也可作为司法取证中的技术性保障。
预测市场和保险领域:在保险理赔方面,保险机构负责资金归集、投资、理赔,往往管理和运营成本较高。通过智能合约的应用,既无需投保人申请,也无需保险公司批准,只要触发理赔条件,实现保单自动理赔。
公益慈善:区块链上存储的数据,高可靠且不可篡改,天然适合用在社会公益场景。公益流程中的相关信息,如捐赠项目、募集明细、资金流向、受助人反馈等,均可以存放于区块链上,并且有条件地进行透明公开公示,方便社会监督。