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

这篇具有很好参考价值的文章主要介绍了【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算法对区块进行加密)。

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

区块结构如下:

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

 区块链结构如下:

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

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

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

1.2.3 区块链工作过程

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

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

区块链的工作过程:
    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—— 区块链介绍文章来源地址https://www.toymoban.com/news/detail-422576.html

到了这里,关于【Hyperledger Fabric】学习笔记1—— 区块链介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【区块链学习】番外一:Hyperledger Fabric 2.x环境搭建

    由于疫情,只能乖乖滚回家了。回到家休息了几天,整理了一下家里的资源,找到一台win10老台式机,重装了Ubuntu18.04系统勉强够用。之前在实验室搭建过一次环境,这次希望少踩一些坑。 惯例,先附上hyperledger fabric的官方文档 更换镜像源(阿里云) 正式安装环境前,咱先把

    2024年02月02日
    浏览(31)
  • (Fabric学习八)部署区块链浏览器Hyperledger explorer

    区块链浏览器Hyperledger explorer: 区块链浏览器:官方网站https://github.com/hyperledger-labs/blockchain-explorer 可以看到他需要以下几个文件 : docker-compose.yaml test-network.json config.json 注意:如果从来没有设置过postgreSQL,那最好使用默认的账号hppoc和密码password,不然会报role \\\'你自己的定

    2024年02月09日
    浏览(33)
  • Fabric 超级账本学习【5】Fabric2.4网络环境下——搭建Hyperledger Fabric区块链浏览器

    博主最近在搭建Hyperledger Fabric区块链浏览器过程中也学习了很多博主的搭建流程,踩了很多雷,踩了很多 坑,现将成功搭建好的Hyperledger Fabric区块链浏览器详细流程分享如下,帮助大家避雷闭坑 Hyperledger Explorer 是一个简单,强大,易于使用,维护良好的开源实用程序,可浏

    2023年04月23日
    浏览(35)
  • Linux搭建Hyperledger Fabric区块链框架 - Hyperledger Fabric模型概念

    2015年,Linux基金会启动了Hyperledger项目,目标是发展跨行业的区块链技术。 Hyperledger Fabric是Hyperledger中的一个区块链项目,包含一个账本,使用智能合约并且是一个通过所有参与者管理交易的系统。 Hyperledger Fabric 是分布式账本解决方案的平台,以模块化架构为基础,支持不同

    2023年04月08日
    浏览(35)
  • 区块链hyperledger fabric部署

      新建目录、下载、解压 配置环境   将指定版本的 Hyperledger Fabric 平台特定二进制文件和配置文件安装到 fabric-samples 下的  /bin 和  /config  目录中,下载指定版本的 Hyperledger Fabric docker 镜像 2.2.1 配置镜像源 注:以上curl主要是为了获得一个 bootstrap.sh 的脚本文件并执行,可能

    2024年02月11日
    浏览(25)
  • 搭建 Hyperledger Fabric区块链网络

    这里以下载最新版为例,得益于官网文档;网址为:教程 或者使用该命令下载指定版本  wget https://studygolang.com/dl/golang/go1.19.linux-amd64.tar.gz 之后解压到指定文件,一般为 /usr/local/下 ,需要配置环境变量

    2024年01月20日
    浏览(46)
  • Hyperledger Fabric explorer区块链浏览器搭建

    https://github.com/hyperledger-labs/blockchain-explorer 官方浏览器的github地址 根据文档,采用docker容器的方法搭建explorer。 根据官方提供的文件,需要创建的目录结构如下: 这是官网提供的模板 这里的organizations就是你搭建区块链网络的证书配置文件crypto-config文件,因为之前的网络创建

    2024年02月11日
    浏览(34)
  • Hyperledger Fabric项目搭建区块链浏览器Hyperledger-blockchain-explorer

    区块链浏览器官网:https://github.com/hyperledger/blockchain-explorer 如果虚拟机没有联网,导致下载不下来,也可以前往Fabric-explorer附件下载进行下载,之后在本地根据需要修改,修改后上传到虚拟机 此时目录结构如下图所示 3.1修改test-network.json—— 网络配置文件,包含身份的指定

    2024年02月08日
    浏览(29)
  • 区块链——Hyperledger Fabric2.2多机搭建及区块链浏览器

    1、设置网络 2、安装docker和docker-compose 3、安装golang环境 1、编写证书文件 2、生成证书文件 3、复制证书文件到节点 1、编写创世块文件 2、生成创世块文件和通道文件 1、生成创世区块 2、生成通道文件 3、为 Org1 定义锚节点 4、为 Org2 定义锚节点 5、将生成的文件拷贝到另两台

    2024年02月11日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包