【Hyperledger Fabric】学习笔记1—— 区块链介绍

目录

1. 区块链介绍

1.1 区块链技术起源

1.1.1 区块链技术

1.1.2 区块链技术发展

1.2 区块链核心技术

1.2.1 定义

1.2.2 区块链技术原理

1.2.3 区块链工作过程

1.3 区块链开发平台

1.3.1 公有链平台

1.3.2 联盟链系统

1.3.3 应用场景


1. 区块链介绍

1.1 区块链技术起源

1.1.1 区块链技术

区块链技术:也称为分布式账本技术,是一种互联网数据库技术,其特点是去中心化、公开透明,每个
人均可参与数据库记录,同时数据不可篡改。
通俗理解:把数据库比喻为一个账本,一次记账的行为就是一次数据库的读写;当产生一个数据时,将
由在一段时间内最快拿到记账权的人记账,然后把这个账本信息发给整个系统里的其他人;所有人达成
共识时,本次记账有效,最终任何人无权修改账本上的数据。

1.1.2 区块链技术发展

区块链在应用上分为公有链、联盟链和私有链。

区块链技术发展经历了区块链1.0、区块链2.0和区块链3.0三个阶段。

区块链1.0:该阶段以比特币为代表的去中心“虚拟货币”,是与转账、汇款和数字化支付相关的“密码
学货币”应用,主要以公有链方式存在。

区块链2.0:该阶段区块链技术被广泛应用于各个金融领域,主要以公有链、联盟链方式存在。在区块
链1.0的基础上,将智能合约添加到区块链系统中,形成可编程金融,大大扩展了区块链技术的应用范
围。

区块链3.0:该阶段区块链技术被应用到除金融以外的各个领域,不再需要在第三方信任认证机构的前
提下,实现信息的交换和共享,实现人与人之间的信任;主要以公有链、联盟链和私有链方式存在。

1.2 区块链核心技术

1.2.1 定义

区块链就是一种特殊的分布式数据库,使用现有的各种成熟的技术,把各种技术集成在一起,实现多
方共识、去中心化、分布式和不可篡改等技术特点。

区块链技术是结合各种技术建立出的一种全新的技术架构。保证分布式数据库区块链中数据的一致性,
以达到去中心化和不可篡改的目的。区块链核心技术有点对点传输、加密算法和共识机制等。

1)点对点传输:指使用P2P网络协议实现端对端的数据传输;在区块链中进行的交换(如:转账和
交易),不需要经过第三方担保机构的确认和授权。

2)加密算法:分为对称机密算法和非对称加密算法,在区块链中主要使用非对称加密算法。非对称
加密算法是指为满足安全性需求和所有权验证需求而集成到区块链中的加密技术。非对称加密在加密
和解密过程中使用两个非对称的密钥,分别为公钥和私钥。非对称密钥有两个特点:
    ① 使用一个密钥(公钥或私钥)加密信息后,只能用另一个对应的密钥才能解开;
    ② 公钥向所有人公开,私钥保密,任何人无法通过公钥推算出相应的私钥。

3)共识机制:是指在一个时间段内对事物的前后顺序达成一致的算法,它是区块链的基础,也是区块
链的灵魂。在区块链上,每个节点都会有一份记录在链上的所有的交易账本,链上每产生一笔新的交
易,每个节点收到信息的时间都不一样,为了防止信息被破坏地写入区块中,需要所有节点对接收到
的信息进行确认。
    共识机制目前有工作量证明机制(POW)、股权证明机制(POS)、授权股权证明机制(DPOS)和
实用拜占庭容错算法(PBFT)。
    POW:是比特币使用的共识机制,是通过一定的工作量,获取相应的奖励,算力越高,那么所获取
的时间就会越短,并且获取的“代币”奖励就越大。这种计算过程被形象地称为“挖矿”。
    POS:是通过“持币”而产生利息,并且对验证人和节点进行奖励。获得的奖励不是通过算力挖矿而
是通过“持币”而产生的利息。
    DPOS:与POS基本类似,只是DPOS选择了一些节点来代表以后的交易验证和记账。
    PBFT:以计算为基础,没有“代币”奖励,由链上所有节点参与投票,少于(N-1)/3个节点反对
时就获得公式信息的权利。

1.2.2 区块链技术原理

基本概念:

1)交易:一次操作,导致账本状态的一次改变,如添加一条记录。
2)区块:记录一段时间内发生的交易和状态结果,是对当前账本状态的一次共识。
3)链:由一个个区块按照发生顺序串联而成,是整个状态变化的日志记录。

注意:每一次交易,都需要对账本状态进行一次改变,生成一个区块,需要所有人确认,达成全员
共识时,该区块才生效。

区块链通过Hash算法,生成一串字符串,把字符串保存在区块的头部中,一个区块通过指向上一个
区块Hash值从而加入区块链中。(Hash算法是一种单向的加密方式,加密后的密文不可逆推,只有
加密过程,没有解密过程。区块链中使用SHA-256算法对区块进行加密)。

区块是区块链中的主要数据存储结构,一个区块由区块头和区块体两部分组成,区块头保存着区块
之间的连接信息,区块体保存着业务数据信息。

区块结构如下:

 区块链结构如下:

         一个区块的区块头中保存着上一个区块的Hash值(previous hash字段),所以通过某个区块就可以找到整个区块链的第一个区块。

区块链是如何保证数据的可靠性:篡改一个区块时,需要修改区块链中后面的所有区块,计算一个
区块的Hash值是极其困难的,再加上还需要修改后面的所有区块的Hash值,则难上加难,所以篡改
区块链中的业务信息就成为几乎不可能做到的事,这保证了区块链中数据的可靠性。

1.2.3 区块链工作过程

        区块链的工作过程包括交易产生、交易广播、节点计算、获取记账权、记账权广播、验证区块和完成记账7步,如下图:

区块链的工作过程:
    1)交易产生:用户向区块链发布一笔交易信息,将产生交易;
    2)交易广播:当产生一笔新交易时,区块链网络会将其广播出去,网络中的其他节点都会受到
该交易信息;
    3)节点计算:收到交易信息的节点会把新交易放到区块中,通过共识算法决定谁有记账权;
    4)获取记账权:根据不同的共识算法,其中一个节点将获取记账权,如使用POW计算,最快的
节点将获取记账权;
    5)记账权广播:获取记账权的节点把信息广播给网络中的所有节点;
    6)验证区块:收到广播信息的节点对区块所包含的交易信息进行验证,确认有效后,接收该区
块,并在区块链尾部接上新的区块。
    7)完成记账:所有节点全部接收该区块后,完成一个新区块上链,网络中的节点等待下一个交
易的产生。

1.3 区块链开发平台

        区块链的两大开发平台——公有链平台和联盟链系统。

1.3.1 公有链平台

    最著名的公有链平台是以太坊。

    以太坊平台以公有链为主,方便开发者在其平台上使用区块链技术开发去中心化应用,在应用
中运用Solidity来编写与区块链交互的智能合约,运用Truffle框架来部署和运行合约,最后使用
Geth或TestRPO来搭建测试网络,测试通过后便可部署到以太坊正式环境中。

    EOS可与以太坊比肩,是为商用分布式应用设计的一款区块链操作系统,它引入了一种新的区块
链架构,实现了分布式应用的性能扩展,每秒交易数可达到百万级,比以太坊每秒几十笔更适合高并
发场景。

1.3.2 联盟链系统

    区块链开源系统以Hyperledger Fabric(旨在推动区块链跨行业应用的开源项目,在金融、
银行、供应链等领域实践)为主,无须关心区块链的底层技术,只须专注业务需求,在其基础上
搭建出满足业务逻辑的区块链应用。

1.3.3 应用场景

区块链1.0:比特币

区块链2.0:在区块链1.0架构的基础上,加上智能合约技术,应用扩展到金融领域,解决了跨境支付
与结算、贸易金融等行业痛点,大幅减少了人工核对工作,为金融机构节省了成本。

区块链3.0:各种行业使用区块链技术解决本行业的痛点。区块链去中心化、不可篡改和数据本地化存
储的特性,给传统的架构方式带来了变革,会最终改善人类互信的社会关系。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zqq_2016

有用的话,来打赏博主吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值