首页 > 区块链 > 区块链技术 > 区块链基础知识大普及 小白收藏必备

区块链基础知识大普及 小白收藏必备

作者:佚名 来源:高速下载 更新:2023-11-20 阅读:

在手机上看

1 通用概念
1.1 比特币
英文名称Bitcoin,缩写BTC,是一种加密数字货币,由中本聪于2008年提出,是目前最被人熟知的区块链应用。
1.2 区块链
英文名称Blockchain,最早起源于比特币的底层技术。以下是一些区块链的定义:
区块链是新一代信息技术的重要组成部分,是分布式网络、加密技术、智能合约等多种技术集成的新型数据库软件。(2021年6月,工信部、网信办 《关于加快推动区块链技术应用和产业发展的指导意见》)
区块链(Blockchain)是一种由多方共同维护,使用密码学保证传输和访问安全,能够实现数据一致存储、难以篡改、防止抵赖的记账技术,也称为分布式账本技术(Distributed Ledger Technology)(2019年10月,中国信通院 可信区块链推进计划 《区块链白皮书(2019年)》)
区块链是一种在对等网络环境下,通过透明和可信规则,构建不可伪造、不可篡改和可追溯的块链式数据结构,实现和管理事务处理的模式。(2017年5月,工信部电子标准院 《中国区块链技术和产业发展论坛标准》)
区块链本质是一种多方共享的分布式账本技术,存储于其中的数据或信息,具有“不可伪造、不可篡改、全程留痕、可以追溯、公开透明、集体维护”等特征。
1.3 区块
英文名称Block,是区块链中一套分布式账本存储的基本数据结构、是在区块链网络中承载交易数据的数据包。
每个区块一般被标记上时间戳,记录了本区块中的交易集合、上一个区块的哈希值、本区块的哈希值等信息。新旧区块之间通过哈希值依次前后串联,并通过区块链网络的共识机制验证并确认区块中的交易。
1.4 链
英文名称Chain,区块链中数据持久化存储时区块之间的连接结构。
一条链是指存储在某个区块链网络中,一个由若干区块通过特定指向链接、摘要算法或加密算法锚定组成的数据序列。
1.5 区块高度
英文名称Block Height,简称块高,区块链的第一个区块称为“创世区块”(genesis block),后续生成的区块用“高度”标识,每个区块高度逐一递增。
通过区块高度可以识别区块在区块链中的位置,并可以据此找到和这个区块相关的所有基础属性和交易记录。
1.6 哈希算法
也称Hash算法、散列函数、摘要算法等,可以将一组源码转换成固定长度的哈希值,且源码的细微改变都将导致哈希值的极大变化,同时理论上不可能通过哈希值逆向演算得到原始值,可以理解为一种单向加密机制。
当前区块链普遍采用的SHA256、SM3等先进哈希算法,可以在理论上认为“哈希碰撞”是几乎不可能发生的,即可以相信如果两个哈希值相同则其输入值一定相同。
1.7 哈希值
英文名称Hash Value,也称“数据指纹”,通常用一串固定长度的随机字母和数字组成的字符串来代表,哈希值可以校验数据的一致性和完整性。
1.8 交易
英文名称Transaction,指与区块链交互时处理的原子事务,即一系列不可分割且不可简化的操作。
1.9 交易号
英文名称Transaction ID,简称TxID,又称交易ID或交易哈希,是标识区块链中不同交易的唯一字段,一般即交易完整信息的哈希值。
1.10 分布式网络
英文名称Distributed Network,也称对等网络,区块链系统中,一般各节点平等,对等网络的每个用户端既是一个节点,也有服务器的功能。
1.11 节点
指区块链网络中负责网络互联、协议交换、账本维护等工作的信息处理设备,可以是一个进程或一台运行了节点进程的计算机设备。
1.12 客户端
有时候又被称为“钱包”,指通过集成了软件开发工具包(Software development kit,简称SDK)或者应用程序接口 (Application programming interface,简称API)后实现的可以访问区块链网络并发送请求、获取信息的应用程序、命令行工具等。
1.13 共识机制
英文名称Consensus,是区块链作为分布式网络,节点之间在没有所谓中心的情况下就交易的合法性达成共识的一种分布式协调机制。所有节点根据共识机制达成的共识,来生成和更新数据,确保分布式系统的数据一致性。
1.14 智能合约
英文名称Smart Contract,是基于区块链系统实现的一套规则逻辑或脚本程序,本质上就是一段代码。
智能合约可以在没有第三方的情况下进行可信的交易,且交易是可以被追溯的,同时也是不可逆的。
相比于传统的中心化应用程序,基于区块链及智能合约实现的应用程序可以被称为Decentralized application,简称DAPP。
1.15 区块链分类
三种基本类型:公有链(Public Blockchain)、私有链(Private Blockchain)和联盟链(Consortium Blockchain),前者又称无许可链(Permissionless Blockchain),后两者在技术实现上差别不大,所以合称许可链(Permissioned Blockchain)。
公有链:高度的去中心化, 所有交易数据公开、透明,任何人或组织都可以随时访问读取数据、发送可确认交易、参与共识过程。适用于公共社会服务领域。一般会通过代币机制鼓励参与者竞争记账,来确保数据的安全性。目前的典型应用有比特币、以太币。
私有链:以中心化的形式运作,不对外公开,参与节点的资格受到严格限制,写入权限由某个组织控制,读写权限可能公开或任意程度的限制。适用于企业内部服务领域。典型应用场景有审计。
联盟链:以多中心化的形式运作,仅对联盟成员开放,各节点通过授权认证加入或退出网络,共识过程受预选节点控制, 只允许联盟内的节点读写和发送交易、共同记录交易数据。适用于跨企业服务领域。典型应用场景有存证溯源、供应链领域。
1.16 区块链实现技术框架
主流的有:以太坊(Ethereum,缩写ETH)(属于无许可链)、Hyperledger Fabric(属于许可链)、R3 Corda(属于许可链)等。
1.17 区块链发展阶段
可以大致分为3个阶段:
区块链1.0:引入简单的交易账本,主要应用是数字货币,以比特币为代表。
区块链2.0:引入智能合约技术,主要应用是区块链游戏、数字货币交易等简单可编程场景,是数字货币与智能合约相结合的一种技术升级,以以太坊为代表。
区块链3.0:引入多行业的企业应用,以满足大规模的公共和企业应用为目标,实现分布式社会、分布式经济,主要应用是金融行业、司法存证、商品溯源、供应链等,以各大公司或其组建基金会主导的开源项目为代表,例如超级账本、趣链、FISCO BCOS等。
1.18 区块链浏览器
英文名称Blockchain explorer,可以通过区块链浏览器查看链上数据及信息,如浏览并查询任意区块、交易、哈希等详细信息。
2 Hyperledger Fabric相关概念
2.1 整体介绍
Hyperledger(超级账本)是一个旨在推动区块链跨行业应用的开源项目,由Linux基金会在2015年12月主导发起,Fabric作为一个企业级许可分布式账本框架,用于开发区块链解决方案和应用程序,是当前企业场景中联盟链/私有链实现所常用的开源框架。
Hyperledger Fabric技术框架下,将节点进行了功能拆分,分为三种服务类型:Peer节点、Orderer节点、CA节点。在一套可运行的Fabric网络中,三类节点一般都要存在。
2.2 身份管理
为了实现权限管控的网络系统,Hyperledger Fabric 提供了包含管理用户 ID 以及对所有网络参与者进行验权的会员身份服务的功能。
访问控制列表可以当做额外的权限层,以此来实现不同的用户授权不同的网络操作权限。比如说,一个特定的用户id可以被允许唤起一个链码应用,但却无法部署新的链码。
2.3 Peer节点
指参与节点,区块链网络中参与共识和账本记录的节点。
根据承担的功能,可以进一步细分为Anchor、Endorser、Committer等角色。
Anchor节点:指锚定节点,在Hyperledger Fabric技术框架下,为了实现高可用,把几个Committer节点组成集群,设置其中一个为主节点,与网络中其他组织进行信息同步。
Endorser节点,指背书节点,在交易时模拟执行智能合约,验证相关信息,进行签名背书,是维护账本的网络节点。 
Committer节点,记账节点,只负责验证从Orderer节点发出的区块和交易的合法性、并存储账本区块信息。
3种角色不互斥,所以一个节点可以既是Anchor、同时又是Endorser和Committer。
2.4 Orderer节点
指排序节点,提供排序服务(即Fabric共识服务)的节点,负责交易的排序、区块打包、区块分发等工作。
区块链网络内的交易完成背书后,由Orderer节点进行排序,然后根据一定的规则打包成新区块,发送给Peer节点以进行区块和交易的验证并写入账本,从而完成共识的全过程。
2.5 CA节点
英文名称Certificate Authority,简称CA,指数字证书颁发机构,在Hyperledger Fabric区块链网络中,负责组织成员的注册、加入等,为组织用户创建和颁发数字证书。颁发的数字证书是为最终用户数据加密的公共密钥。
2.6 共识机制
Hyperledger Fabric 共识机制目前包括SOLO和Raft,另外Kafka已经不再推荐使用,SBFT(简化的拜占庭容错)仍然在开发中。
2.7 通道
英文名称Channel,通道是Hyperledger Fabric技术框架中为了实现数据的隔离和保密,构建在一套区块链网络上的专用区块链账本。每一个通道即为一条逻辑上的区块链。通道可以向特定的节点子集提供事务隐私和机密性,任何未明确授予访问该通道的节点都无法访问。同一个节点可以加入多个通道,为每个通道维护一个账本。
2.8 智能合约
Hyperledger Fabric 的智能合约是用链码(Chaincode)实现的,并且被区块链外部应用程序所调用,以此来与账本交互。
目前支持的链码语言是 Go,未来将支持 Java 和其他语言。
3 FISCO BCOS相关概念
3.1 整体介绍
FISCO BCOS是由国内企业主导研发、对外开源、安全可控的企业级金融联盟链底层平台,由金链盟开源工作组协作打造,并于2017年正式对外开源。
截止2020年5月,已有数百个应用项目基于FISCO BCOS底层平台研发,超80个已在生产环境中稳定运行,FISCO社区已发展成为最大最活跃的国产开源联盟链生态圈。
3.2 共识算法
FISCO BCOS支持PBFT、Raft和rPBFT共识算法,其中PBFT是联盟链常用共识算法,Raft是私有链常用的共识算法。
3.3 群组
FISCO BCOS引入多群组架构,支持区块链节点启动多个群组,群组间交易处理、数据存储、区块共识相互隔离,保障区块链系统隐私性的同时,降低了系统的运维复杂度。
多群组架构中,群组间共享网络,通过网络准入和账本白名单实现各账本间网络消息隔离。
3.4 智能合约
FISCO BCOS平台目前支持Solidity及Precompiled两类合约形式。
Solidity合约与以太坊相同,用Solidity语法实现。
预编译(Precompiled)合约使用C++开发,内置于FISCO BCOS平台,相比于Solidity合约具有更好的性能,其合约接口需要在编译时预先确定,适用于逻辑固定但需要共识的场景。
金蝶云·苍穹区块链服务云相关概念
4 区块链控制台
4.1 用户组
英文标识Team,代表一个授权使用区块链控制台的企业、机构、团体等组织实体。
当前区块链控制台的所有资源以用户组为维度进行隔离,每个用户在进入区块链控制台时已经被分配到其所属的用户组,例如通过苍穹入口进入时,即其所使用的租户和数据中心。
4.2 联盟
英文标识Consortium,是由若干用户组所组成的区块链业务团体。一个联盟一般包含代表多个组织的不同用户组,参与方为了实现某个业务协作或业务交易,需要共同建设和维护区块链网络。
创建联盟的用户组被称为“链主”,其他加入联盟的用户组被称为“联盟成员”。
在区块链控制台应用中,一个联盟可以建立一个联盟链类型的区块链网络,区块链网络的节点数将等于联盟的成员数。
4.3 网络
英文标识Network,是区块链控制台中对区块链网络的简称,当用户选择了一种区块链底层框架后所实例化的区块链网络。
区块链网络运行后将占用较大量的服务器资源(主要包括计算、存储、网络等),同时区块链网络提供了后续所有区块链控制台资源可被创建和使用的运行时基础设施。
4.4 链
英文标识Channel,是区块链控制台中对网络可支持数据持久化存储的一套区块链分布式账本的统称,即Hyperledger Fabric框架中的通道、FISCO BCOS框架中的群组等。
当前主流的区块链框架一般都支持多链运行。
4.5 智能合约
简称合约,英文标识Contract,是区块链控制台上可以部署到区块链网络上的应用程序或脚本。
智能合约可以通过一系列自动执行的规则,实现自动执行交易和操作区块链数据,实现业务逻辑。
区块链控制台支持智能合约全生命周期管理,包括智能合约的编码、评审、发布、安装、更新,并且提供在线IDE和适配多个场景的智能合约市场功能,可以一键上架、一键安装,从而极大简化智能合约开发和部署流程。
区块链控制台提供了标准的通用存证合约,支持对区块链账本的通用操作,包括存证数据结构的自定义以及数据的写入、查询等,可满足标准的区块链存证需求。
4.6 应用
英文标识Client,是在区块链控制台中创建的、可以授权访问区块链网络的认证客户端。
当基于区块链服务云开发区块链应用时,只需要正确配置此应用的认证信息,即可访问区块链网络,包括区块链控制台封装的完善、丰富的区块链网关API等功能。
4.7 运行环境
指区块链节点运行的服务器,可以是云服务器或用户提供的个人服务器
作为区块链运行的物理基础依赖,区块链控制台通过集成Kuberneters、NFS、Docker等云基础技术,可以统一管理区块链相关的计算、存储、网络等服务器资源。
4.8 数字证书
英文名称Digital Certificate,又称为数字标识,指在互联网通讯中标志通讯各方身份信息的一个数字认证,人们可以在网上用它来识别对方的身份。
对用户在计算机网络交流中的信息和数据等以加密或解密的形式保证了信息和数据的完整性和安全性。
5 区块链配置服务
5.1 服务网络
英文标识Service Network。区块链系统一般是有多方参与的,这里的参与方可能是企业、政府机关、行业组织等等。
每一个使用区块链服务云的参与方即俗称的“业务系统”,当一方或多方的业务系统连接到同一条区块链上时,即形成了一个区块链式的“服务网络”。
服务网络不同于底层技术概念里的区块链网络,在其他友商产品的实现及介绍中,也可能把它叫做“应用链”、“业务链”、“业务网络”等,总之都是为了表达在实际场景下多方参与的一种业务形态。
5.2 服务中心
英文标识Service Center或Service Node。在区块链服务云中“业务系统”都需要在区块链控制台的访问控制中申请或获取一个可用的“应用”,并指定到“链”后配置为区块链配置服务中的“服务中心”。
服务中心即包括了业务系统访问区块链网络时最基本的认证和权限信息,也代表了业务数据上链后在区块链账本中的数据隔离关系。后续介绍中区块链服务云的数字身份、存证数据等信息都是以一个服务中心为基础进行创建或访问的。
5.3 数字身份
英文标识Business Digital Unit,简称BDU。数字身份指代了区块链系统中的一对私钥和证书(或公钥),会生成一个在区块链及智能合约执行上代表用户分布式身份的“数字身份地址”,并可以与业务系统的组织或人员唯一ID绑定。
区块链系统中,通过数字身份区分实际的上链调用者,所以数据上链、链上数据查询和授权等交互时,均需要验证数字身份的合法性。
区块链配置服务可无缝集成星瀚或苍穹系统中现有的组织架构,快速注册相应的数字身份,并通过数字身份实现链上数据的业务隔离,并支持链上权限的细粒度控制。
6 区块链存证服务
6.1 区块链存证服务
通过把企业经营数据上链,利用区块链不可篡改、可信共享的特性,增强电子数据的法律效力,帮助企业提升数据可信度、降低企业运营成本。
支持电子合同、电子发票、数字票据、电子证照、电子签章、共享积分等多种形式信息存证,适用于多种应用场景。
区块链存证服务把一般的区块链存证模式,解析为“存证实体”、“业务关联”和“上链任务”三种可配置的对象,支持以低代码方式,快速实现区块链存证应用,灵活地满足业务数据上链的需求。在使用区块链存证服务前,请确认服务中心所访问的区块链上已经安装了“存证合约”。
6.2 存证实体
英文标识Datatype,在区块链存证的应用场景中,对于链上存储的数据结构有定制化需求。通过存证实体可以快速自定义上链数据类型及其数据结构。
支持定义在同一条链上的一种存证实体(链上数据结构)在不同服务中心之间共用,方便形成链上通用的存证数据标准。
区块链存证服务支持通过可视化面板或JSON-Schema标准的数据模版来定义存证实体。
6.3 业务关联
英文标识Map,描述业务系统中的“业务对象”与区块链系统中的“存证实体”之间的关联对应关系。
用户可以通过业务关联,选择哪些业务数据的字段需要上链、如何上链。通过无缝集成苍穹平台的业务对象元数据,可以实现业务对象和存证实体之间的字段级映射关系。
业务关联还支持灵活设置业务单据的上链条件,即只有满足相应上链条件的业务单据才会存证上链。
6.4 上链任务
英文标识Task,通过上链任务可以灵活管理“一键上链”的开关,并对上链任务的参数进行设置。
当前区块链存证服务已经支持“定时任务”和“事件触发”两种上链方式。
“定时任务”上链任务,即用户设定一个周期性的时间后,区块链存证服务通过轮询的方式定时触发上链任务并完成数据存证(依赖系统服务云中的“调度管理”)。
“事件触发”上链任务,即定义并订阅相关的业务事件后,通过事件触发的方式实时执行上链任务并完成数据存证(依赖流程服务云的“业务事件中心”应用)。
通过设置“历史数据上链起点”字段可以指示上链任务在第一次启动时,对满足“上链条件”的历史业务单据进行一次性存证。如果不需要对历史数据进行上链预处理的话,使用默认的当前系统时间即可。
6.5 存证日志
英文标识Log,当上链任务运行时,每一条业务数据存证上链都会在业务系统记录一条相应的存证日志。
存证日志中的“存证数据”,按照相应“存证实体”定义的数据结构调用区块链存证接口并完成上链存证,所以“存证数据”与区块链上实际存储的数据是相对应的。
通过存证日志可以查看上链成功后的区块链交易号等信息。同时如果因为异常情况导致上链失败,也可以通过错误日志进行排查。
6.6 存证方案
主要将一组“存证实体”、“业务关联”、“上链任务”等上链过程对象组合成一套模板。
并从“客户数据资产”的角度出发,形成各种可复用、标准化的存证方案,应用开发者和业务管理人员可以在任意新环境中“一键引用”存证方案,简化数据上链操作。
推荐
评论
    匿名评论
  • 评论
人参与,条评论
返回顶部