区块链概念介绍

区块链定义

区块链是一些技术集成的、适用于多方博弈、由多方共同对数据背书的数据存储工具。区块链的核心技术包含块链式存储、点对点通讯、密码学、共识机制、智能合约等。

区块链是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的技术保证数据传输和访问控制的安全、利用有自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构和计算范式。

核心技术

块链式数据结构

区块链是由一个个区块组成,区块之间通过索引连接,形成一条由区块组成的链条。每个区块包含若干条交易(transaction),也可称事务,每个区块的交易数量可进行配置。每条交易都有一个交易哈希,作为独一无二的标识符。当一个区块形成之后,便会形成这个区块的区块哈希,包含在这个区块的区块头里,同时包含的还有父区块的哈希、形成区块的时间戳、默克尔树(公链有),而这个区块上一个区块便称为它的父区块,并且索引会指向父区块。这样的块链式存储结构保证了区块中的数据无法被篡改:当程序员对A区块中的交易信息进行篡改,那么该A区块头中存储的区块哈希和当前区块哈希无法对应,程序员需要再篡改A区块头中的区块哈希,而这样和子区块头保存的父区块(A区块)哈希对应不上,程序员需要再篡改子区块中保存的哈希,以此类推,最终程序员需要将A区块之后的所有区块进行篡改,其篡改成本较大。

点对点通讯

以往的中心化服务器无论是计算压力还是安全性都是短板,而采用分布式存储和点对点通讯就可以极大地解决这个问题。区块链至少需要有3个节点,相互之间通过P2P协议进行通讯,因为是分布式存储,算力可以分布到各存储终端。因为非中心化存储,并且每个节点(全节点)都保存有一套相同的存储数据,如果要对存储的数据进行篡改,那么就要对2/3的节点进行篡改,篡改成本进一步提高。

密码学

密码学包含对称加密(即用同一套密码来验证),非对称加密(一对公私钥),哈希算法。区块链大量采用非对称加密,每个区块链用户都会获得一对公私钥,公钥类似于用户的账号,私钥类似于密码需妥善保存。以比特币为例,A用户向B用户转账,A用户需要知道B用户的公钥信息,B用户收到转账,需要用匹配公钥的私钥才能解密。而B用户想要知道这笔转账是否是A用户转来的,可以用A的公钥进行验签,因为A用户在转账的时候,会用A的私钥进行加密(签名)。应用密码学保证了数据的隐私性,在当前数据被滥用、用户隐私被肆意侵犯的情况下,密码学对用户数据的重要性将会越来越被重视。

签名

即数字签名,是电子签名的一种特定形式,指利用非对称加密,将私钥信息附着在电子信息、文件上。验签:即验证签名信息,在这里即利用公钥对私钥进行验证,如果两者匹配,即验证成功。

共识机制

在以上技术的基础上,需要考虑的便成为了多方之间的联盟治理,否则数据的无序增长会造成这个区块链的瘫痪:同一时间多个节点录入的不同信息,应该如何有一个统一的标准规则去治理。共识机制即一条规则,将哪些数据应该记录在区块中,如何记录,谁来记录,奖励机制做出统一的规定。典型的共识机制包含公钥的POW、联盟链的PBFT、RPCA等,还有一类联盟链的共识机制,以牺牲正确率为代价大幅增加共识效率,其中的代表如paxos、raft。

分片共识

将网络和交易都进行分片,网络分成若干个片区,每个片区都有一组可完整共识的节点,共识开始时,将交易传给网关节点,网关节点将交易放到交易池中,分片后分组分发给各片区,分片节点共识后形成初步区块microledger,传给委员会节点。委员会节点也承担自己片区的共识任务,将所有片区的初步区块组合形成最终区块finalLedger,并传给网关、同步SYNC节点、分片节点,最终区块在全网同步。分片共识有一些局限性,一般的单链共识BFT,可容错3F+1节点,即4个节点可容错1个,7个节点可容错2个。

智能合约

合约定义

智能合约(SmartContract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。其本质是一套运行在区块链上的程序,基于区块链不可篡改的特性,保证了这段程序是公认的、单个机构无法篡改。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。实际上,一个智能合约是一套以数字形式定义的承诺(Promises),包括合约参与方可以在上面执行这些承诺的协议。

合约历史

在以太坊之前无法使用智能合约,以太坊出现后才可以在区块链上写程序。

合约生命周期

区块链中,一份智能合约的典型的生命周期包括:

扫描二维码关注公众号,回复: 15031361 查看本文章

合约编写,使用合约开发语言编写智能合约;

合约编译,使用合约编译器将智能合约编译为字节码;

合约部署,将编译得到的字节码部署到区块链上;

合约调用,客户端将调用合约方法的交易发送到区块链节点执行;

合约升级,即根据业务需求修改合约代码,重新编译后再更新到区块链上;

合约冻结,冻结后的合约不再允许新的调用,该特性用于合约缺陷下的紧急干预或者合约下线。

智能合约是区块链不可或缺的一个组件,其实现了预先规定的业务流程,与普通程序的区别在于其可多人同时执行,并根据执行结果决定是否要继续提交。

在平台上,用户可自动选择部署、启动、停止智能合约。

Fabric中智能合约也称链代码(Chaincode),链代码将业务网络交易封装在代码中,最终在一个 Docker 容器内运行。用户可以在线下进行开发和测试。

实际应用

目前大火的NFT即是使用了智能合约,其中ERC721和1155协议被广泛应用。

其他适用于产业中的智能合约也比比皆是。

跨链技术

定义

跨链是多条链之间信息互通,进行链上信息的转移。

种类

包含公证人机制、中继链、侧链、哈希锁定等。

难点

目前同构链(相同的底层区块链框架)之间跨链较简单,异构链跨链会存在技术壁垒。跨链技术存在一些弊端,比如公证人机制存在一定中心化。

猜你喜欢

转载自blog.csdn.net/xzhu4571/article/details/125309671