区块链学习(一)
1、区块链特点:去中心化、不可篡改、可溯源、多方维护、公开透明。
2、发展历程:2008年“ Bitcoin A Pee–to-Pee- Electronic Cash Symem”中提出了数字货币:“比特币”,比特币设计初衷是在不信任环境下进行数字货币的支付,通过哈希函数、 非对称加密、签名等密码学方法来实现用户的匿名以及交易的确认,通过共识机制对共同维护的数据达成一致,对信任危
机提出了一种新的解决思路。
3、区块链的发展三个阶段:
- 区块链1.0 :可编程货币阶段,区块链使互不信任的人在没有权威机构介入的情况下可以使用比特币进行支付,这种数字货币对传统金融造成了强烈的冲击。
- 区块链2.0:可编程金融阶段,将区块链应用到包括股票、清算、私募股权等其他金融领域。。区块链技术的应用使金融行业有希望摆脱人工清算、复杂流程、标准不统一等带来的低效和高成本,使传统金融行业发生颠覆性改变
- 区块链3.0 可编程社会阶段,根据其特点应用到各种有需求的领域。比如、匿名投票领域,利用区块链溯源特点的供应链、物流等领域。还有物联网、智慧医疗、智慧城市、5G、AI等领域。
4、分类:按照准入机制可以将区块链分为3类:公有链、联盟链、私有链 。
- 私有链:私有链多用于搭建本地区块链以及对智能合约进行发布前的调试。
- 公有链:任何节点无需许可便可自由地加入或退出区块链网络,加入区块链网络的节点可以得到从创世区块到当前区块上的所有数据,全部节点通过共识机制对新区块的产生以及对区块上记录的交易达成一致,共同维护区块链的稳定。
- 联盟链:链只允许授权
节点接入网络的半开放式区块链。联盟链针对某些特定群体或机构,通过对节点授权来设置准入门槛,使数据的产生和接触可控,能在一定程度上兼顾数据的多方维护和避免数据泄露。
特点:。联盟链内部设置记账节点,负责打包交易以及产生新区
块,普通节点只负责产生交易和查询交易,没有记账权,避免了 PoW共识所带来的计算资源、电力资源、存储资源的浪费。 因此,联盟链适合彼此已经具有一定信任度的群体或机构使用。
使用联盟链的平台:超级账本(Hyperledger
Fabric)、企业以太坊联盟(EEA)、R3区块链联盟(Corda)、蚂蚁开放联盟链,其中影响力较大的是Hyperledger Fabric。 - 超级账本:由 Linux 基金会于 2015 年 12
月[4]发起的针对企业级应用的开源区块链项目。其应用可覆盖金融、银行、物联网、供应链、制造和科技等多个行业领域。
工作流程:
1)客户端产生交易并通过P2P网络将交易上传至背
书节点;
2)背书节点执行链码并对执行结果进行签名背书,最后将结果及背书发送给客户端;
3)客户端收到足够数量的响应,并在验证合法性之后将链码执行结果发送至排序节点,排序节点内部运行共识算法对交易进行共识及排序,最后将交
易按序打包进区块并发送给所有提交节点;
4)提交节点验证交易的正确性,验证通过后将区块更新到本地区块链中。
5、区块链结构:
当前通常把区块链平台分为5层,分别是数据层、网络层、共识层、合约层和应用层。
- 数据层:区块链平台中的最底层,通过封装的链式结构、非对称加密、共识算法等技术手段来完成数据的存储和交易的安全实现。
- 网络层:区块链通过对等节点(Peerto-Peer)的方式完成组网?消息和数据的传输直接在节点之间完成,节点可以选择在任意时刻加入或退出网络而无需中间环节或中心服务器的参与,因此网络层采用P2P协议作为传输协议。
- 共识层:互不信任的节点,通过某一机制在短时间内排除恶意节点的干扰,对正确结果达成一致,即称各个节点之间达成共识。共识层封装了网络节点的各类共识机制算法,共识机制算法是区块链的核心技术,因为这决定了到底是谁来进行记账,而记账决定方式将会影响整个系统的安全性和可靠性。目前已经出现了十余种共识机制算法,其中比较最为知名的有工作量证明机制(PoW,Proof of Work)、权益证明机制(PoS,Proof ofStake)、股份授权证明机制(DPoS,Delegated ProofofStake)等。
- 激励层:激励层是将经济因素集成到区块链技术体系中来,包括经济激励的发行机制和分配机制等,主要出现在公有链当中。在公有链中必须激励遵守规则参与记账的节点,并且惩罚不遵守规则的节点,才能让整个系统朝着良性循环的方向发展。而在私有链当中,则不一定需要进行激励,因为参与记账的节点往往是在链外完成了博弈,通过强制力或自愿来要求参与记账。
- 合约层:封装各类脚本、算法和智能合约,是区块链可编程特性的基础。比特币本身就具有简单脚本的编写功能,而以太坊极大的强化了编程语言协议,理论上可以编写实现任何功能的应用。如果把比特币看成是全球账本的话,以太坊可以看作是一台“全球计算机”,任何人都可以上传和执行任意的应用程序,并且程序的有效执行能得到保证。
- 应用层:封装了区块链的各种应用场景和案例,比如搭建在以太坊上的各类区块链应用即部署在应用层,而未来的可编程金融和可编程社会也将会是搭建在应用层。