【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:各种行业使用区块链技术解决本行业的痛点。区块链去中心化、不可篡改和数据本地化存
储的特性,给传统的架构方式带来了变革,会最终改善人类互信的社会关系。
【Hyperledger Fabric】学习笔记1—— 区块链介绍相关推荐
- 利用Hyperledger Fabric开发第一个区块链应用
利用Hyperledger Fabric开发第一个区块链应用 Fabric入门 Fabric 我们通过一个简单的示例程序来了解Fabric应用是如何运行的.在这个例子中使用的应用程序和智能合约(链码) ...
- Hyperledger Fabric 1.4 搭建区块链浏览器
Hyperledger Fabric 1.4 搭建区块链浏览器 原创iCyberpunk 最后发布于2020-01-09 12:11:01 阅读数 233 收藏 展开 1. 准备工作 安装nodej ...
- Hyperledger fabric学习笔记(一)
原文链接:https://blog.csdn.net/zhanglingge/article/details/106012703 fabric分为底层的网络层.权限管理模块.区块链应用模块,通过SDK ...
- WDK学习笔记_区块链项目实现_MAE
文章目录 摘要 项目:区块链凤鸡溯源项目的实现 实现总流程 1.1 编写区块链网络配置文件 1.1.1 证书配置文件(crypto-config) 总体逻辑 详情 代码 1.1.2 创世区块及通道配置 ...
- 学习笔记:区块链概念入门
本文是100天区块链学习计划的第二篇学习笔记,其实就是按照阮一峰的网络日志-区块链入门教程的讲解进行的简单梳理.也是时间有点紧张的原因,相比于上一篇SHA256算法原理详解,个人感觉质量和原创程度明显 ...
- Hyperledger Fabric学习笔记(四)- fabric单机部署 solo 版
一.前言: 1.底下的配置文件很重要,一配置错了就有问题了,下面附出这篇文章所需要的配置文件,下载链接:https://download.csdn.net/download/u012561176/15 ...
- Hyperledger Fabric 2.2.1 区块链问题汇总(持续更新)
搭建Hyperledger Fabric时遇到了很多问题,很多坑,这里汇总一下,有些可能没保存图片,还有些问题没及时记录起来: 1.生成orderer区块文件时,如下图所示: 必须要指定channel ...
- Hyperledger Fabric 2.x Java区块链应用
一.说明 在上一篇文章中 <Hyperledger Fabric 2.x 自定义智能合约> 分享了智能合约的安装并使用 cli 客户端进行合约的调用:本文将使用 Java 代码基于 fab ...
- 【学习笔记】区块链应用判断准则
区块链应用判断准则 在普遍的印象中区块链技术一般都运用在数字货币和密码货币上,其实区块链有更多运用场景,比如医疗领域.物联网.公共服务和教育领域等,以下就通过<区块链技术及应用(第二版)> ...
最新文章
- centos7 mysql 5.6.38_centos7.4 安装mysql 5.6.38
- linux php-fpm优化 php-fpm.conf 重要参数详解
- python机制_python 加载模块机制
- C#sql帮助类(登录查询界面)语句实例
- 2016级算法第四次上机-C.AlvinZH的1021实验
- 基于汉语短文本对话的立场检测系统理论与实践
- python类库26[web2py之介绍]
- (1)快速了解Redis
- NLP 学习笔记9-停用词
- 我们现在不再需要杀毒软件了吗?
- 字节序Endian与字节序标记BOM详解
- OpenGL3D场景大作业制作
- 【电路理论】2-6 线性电阻电路解答的存在性与惟一性定理
- 中移动浦发联合发布四款产品 ,NFC手机年底上市
- zTree的简单用法
- linux源码编译ant,linux(以ubuntu为例)下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件...
- 手机怎样和宽带连接无线路由器设置路由器连接服务器,手机APP设置无线路由器拨号上网步骤...
- 谁交了片仔癀的智商税?
- 100亿!徐小平、李笑来携国家队进场成立杭州区块链创新基金 | 区块链日报
- 北京神州数码思特奇面试归来,大家觉得我被offer的可能性大吗?
热门文章
- 物联网操作系统碎片化问题分析与思考
- 在vscode中查看当前项目的工作环境
- 2020usnews计算机排名布朗,布朗大学排名在2020年USNEWS美国最佳综合大学排名第14...
- Pr动态图形模板Mogrt导入失败 Mogrt is Corrupt 解决方法 Motion Graphics Templates is corrupt.
- UVM factory机制源码探微
- 为什么将机器学习应用于资产定价?
- 网络负载均衡优化RPS实现简介
- 电容充放电时间的计算方法(重点是对于恒流充放电的常用公式:⊿Vc=I*⊿t/C,其出自公式:Vc=Q/C=I*t/C。)电荷泵(无电感)中电容恒流放电的滤波可以参考4-20毫安的采集中RC滤波电路
- FineReport的数据决策系统注册
- 六爻排盘php源码,六爻排盘-六爻在线排盘-六爻在线起卦-纳甲六爻起局-六爻在线摇卦-元亨利贞网在线六爻排盘系统...