主页 > imtoken1.0钱包下载 > 区块链技术之间的框架和层

区块链技术之间的框架和层

imtoken1.0钱包下载 2023-03-04 06:37:53

今天小编就为大家梳理一下区块链各项技术之间的关系框架和层级关系,让大家更直观的掌握区块链的技术本质。

一、区块链平台架构

系统架构决定了应用范围、跨链和链上链下数据整合的可行性,甚至是业务转型的方向。因此,各个平台架构的升级理念体现了平台对区块链技术和商业模式的理解。

传统区块链倾向于将架构分为数据层、网络层、共识层、激励层、合约层和应用层。

区块链平台架构示例

数据层

它是一个可附加且不可更改的分布式数据库系统,封装了底层数据块的链式结构、相关的非对称公私钥数据加密技术和时间戳技术,并以分布式账本的形式存在。

网络层

基于IP通信协议和P2P网络,包括分布式组网机制、数据传播机制和数据验证机制。

共识层

封装了网络节点的各种共识机制算法。

激励层

综合经济因素,主要用于公链。

合约层

封装各种脚本、算法和智能合约是可编程特性的基础。

应用层

它封装了区块链的各种应用场景和案例,提供可编程的环境,通过智能合约将业务规则转化为平台自动执行的合约。

二、区块链核心技术组件

1、支持技术

哈希函数

哈希函数在比特币系统中也有重要的应用。区块链中的数据不仅是原始数据或交易记录,还有它们的哈希函数值,即将原始数据编码成特定长度,由数字和字母组成的字符串后,记录在区块链。

默克尔树

默克尔树是数据结构中的一种树,它可以是二叉树,也可以是多叉树,它具有树结构的所有特点。

P2P网络

P2P网络(peer-to-peer network,点对点网络)是一种分布式应用架构,在对等点之间分配任务和工作负载。它是在应用层web或web表单上形成的一组对等计算模型。

分布式数据库

比特币系统中的区块就像一个账本,记录着所有的比特币交易信息,每个比特币用户的比特币收支情况都被永久嵌入到数据区块中,供其他人查询。这些数据块中的交易数据存储在每个比特币用户的客户端节点中,所有这些节点构成了比特币及其弹性分布式数据库系统。任何节点的数据销毁都不会影响整个数据库的正常运行,因为完整的数据库保存在其他健康节点

电子签名

数字签名就是在消息中添加另一条内容作为发件人的证明,证明消息没有被篡改。一般情况下,发送者通过哈希算法对信息进行处理,得到哈希值,然后用私钥对哈希值进行加密,得到签名。然后,发送者将消息连同签名一起发送给接收者。接收方使用发送方的公钥解密签名,恢复哈希值,然后使用哈希算法验证信息的哈希值是否与解密签名恢复的哈希值一致,从而识别信息是否来自发件人或验证信息未被篡改。

加密演算法

除了散列算法,还有一种非对称加密算法(椭圆曲线加密算法)对比特币中的交易进行加密。非对称加密算法是指存在一对数学上相关的密钥,用其中一个密钥加密的数据信息只能用另一个密钥解密。在这对密钥中,公钥称为公钥,未公开的密钥称为私钥。

2、应用技术

挖矿和分叉问题

块是在采矿过程中产生的。所谓挖掘,其实就是穷举随机数算法。将前一个区块的哈希值与 10 分钟内的所有交易订单打包,并添加一个随机数,计算出一个 256 位的字符串哈希值。, 输入随机数 Nonce 使哈希值满足一定条件即可获得该区块的交易记账权。新生成的块需要快速广播,以便其他节点可以验证它们以防止欺诈。每个区块都存储了前一个区块的哈希值,可以追溯到源头。只有经过验证,才能最终获得该区块的交易记账权。

时间戳和不变性

时间戳是指从格林威治标准时间 1970 年 1 月 1 日 00:00:00(北京时间 1970 年 1 月 1 日 08:00:00)到现在的总秒数,通常是一个字符序列,唯一标识一个时刻时间。在比特币系统中,获得记账权的节点在链接区块时需要在区块头上加盖时间戳,用于记录当前区块数据的写入时间。每个后续块中的时间戳都会增加前一个时间戳,形成一个时间递增链。时间戳技术本身并没有那么复杂,但时间戳在区块链技术中的应用是一项重大创新。时间戳为未来基于区块链的互联网和大数据增加了时间维度,使数据更易于追溯。也可以重现历史。同时,时间戳可以作为 Proof of Existence 的一个重要参数,可以确认特定数据在特定时间必须存在,从而保证区块链数据库不可篡改,不可伪造。它为区块链技术应用于公证、知识产权登记等时效性领域提供了可能。

避免双重支出

区块链技术通过区块链技术加上验证比特币是否满足UTXO(未花费交易)和数字签名形成的时间戳技术,有效避免了双重支付的问题。

比特币的隐私模型

在比特币的隐私模型中,所有的交易都不需要第三方操纵,也不需要提供任何身份信息,只需要提供比特币地址就可以与任何人完成准匿名交易。

共识机制

在没有中央控制的情况下,一种共识机制,用于在没有相互信任的个人之间就交易的合法性达成共识。

主要共识机制对比

PoW 工作量证明

比如比特币的挖矿机制。

优势:

完全去中心化,节点可以自由进出,避免了建立和维护中心化信用机构的成本。只要网络破坏者的计算能力不超过网络总计算能力的 50%,就可以就网络的交易状态达成一致。

缺点:

目前,比特币挖矿造成大量资源浪费;此外,挖矿的激励机制也造成矿池算力高度集中,背离了原本去中心化设计的初衷。更大的问题是PoW机制的共识周期长,每秒最多只能做7笔交易,不适合商业应用。

PoS 权益证明

一种分布式共识机制,需要节点提供一定数量代币的所有权证明,以获得竞争区块链的记账权。

优势:

在一定程度上缩短了达成共识的时间,减少了 PoW 机制的资源浪费。

缺点:

破坏者进行网络攻击的成本很低,网络的安全性还有待验证。此外,拥有大量代币的节点获得记账权的机会更大,这将导致网络的共识被少数富有的账户所主导,从而失去公正性。

DPoS 股权授权证书

股东投票选出一定数量的见证人。每个见证人都有两秒的授权时间来依次生成区块。如果见证人无法在给定的时间片内生成区块,则将区块生成权限移交给下一个见证人。时间片对应的见证人。股东可以随时投票更换这些证人。

优势:

可以大大减少参与验证和记账的节点数量,秒级完成共识验证。

缺点:

选举固定数量的见证人作为簿记候选人可能不适合完全去中心化的场景。此外,在具有少量网络节点的情况下,民选证人的代表性并不强。

分布式一致性算法

基于传统的分布式一致性技术。其中有解决拜占庭将军问题的拜占庭容错算法,如PBFT。此外,解决非拜占庭问题的分布式共识算法(Pasox、Raft)

优势:

实现秒级快速共识机制,保证一致性。

缺点:

去中心化程度不如公链上的共识机制;更适合多方参与的多中心商业模式。

区块链的链接模型

区块链是由块组成的链。每个区块分为两部分:区块头和区块主体(包括交易数据)。区块头包括用于实现区块链的前一个区块的哈希值(PrevHash)(也称为哈希值)和用于计算挖矿难度的随机数(nonce)。前一个区块的哈希值实际上就是前一个区块的头部的哈希值,随机数计算规则决定了哪个矿工可以获得记录该区块的权力。

数据块

以比特币为例,比特币的交易记录将存储在数据块中。在比特币系统中,大约每 10 分钟生成一个块。每个数据块一般都包含一个块头(Header)和一个块体。(正文)两部分。

UTXO 交易模式

UTXO(Unspent Transaction Outputs)是未使用的交易输出,是比特币交易过程中的基本单位。

它是比特币交易生成和验证的核心概念。事务形成一组链结构。所有合法的比特币交易都可以追溯到一笔或多笔远期交易的输出。这些链的来源是挖矿奖励,最终是当前未花费交易的输出。所有未使用的输出都是整个比特币网络的 UTXO。

三、区块链可编程规则

解锁脚本

脚本是区块链上实现合约自动验证和自动执行的重要技术。严格来说,每笔交易的每个输出都不是指向一个地址,而是指向一个脚本。脚本就像一组规则,用于管理接收者如何使用锁定在此输出上的资产。

交易规则

用于规范交易过程的原则。

交易优先级

区块链交易的优先级由区块链协议的规则决定。

对于比特币比特币采用的哈希算法是,交易被包含在区块中的优先级取决于交易被广播到网络的时间和交易的大小。随着交易广播到网络的时间增加比特币采用的哈希算法是,交易的链龄增加,交易的优先级增加,最终会被包含在区块中。

对于以太坊来说,交易的优先级也与交易的发布者愿意支付的交易费用有关。发布者愿意支付的交易费用越高,交易被包含在区块中的优先级就越高。

默克尔证明

比特币区块链使用 Merkle 证明来存储每个区块中的交易。它使交易不可篡改,也很容易验证交易是否包含在特定的区块中。它也可以用于快速支付验证。

RLP

RLP(Recursive Length Prefix)是以太坊中对象序列化的主要编码方法,其目的是对任意嵌套二进制数据的序列进行编码。

四、区块链交易流程

区块链上的交易不是通常意义上的单手支付单手发货的交易,而是转账。

为每次转账构建交易数据会很笨拙。为了使价值易于组合和分割,比特币交易被设计成包含多个输入和输出,即一笔交易可以转移给多个人。

1、事务生成

当前所有者使用私钥对上一笔交易和下一笔交易进行数字签名,并将签名附加到货币末尾以制作交易单。

2、交易的传播

当前所有者将交易列表广播到全网,每个节点将收到的交易合并到一个块中。

3、工作证明

每个节点通过相当于解决一个数学问题的工作量证明机制获得创建新区块的权力,并争取数字货币的奖励。

4、全网节点验证

当一个节点找到解决方案时,它会将区块中记录的所有带时间戳的交易广播到全网,并被全网其他节点检查。

5、记录到区块链

全网其他节点检查区块记账的正确性。如果没有错误,他们将在合法区块之后竞争下一个区块,从而形成合法的记账区块链。

五、技术特点

1、分布式、去中心化

由于采用分布式记账和存储,没有中心化的硬件或管理机构,任何节点的权利和义务都是平等的,系统中的数据块由整个系统中具有维护功能的节点共同维护。

2、时间序列数据

数据存储在带有时间戳的链式块结构中,为数据增加了时间维度,具有很强的可追溯性和可验证性。

3、集体维护

采用特定机制保证分布式系统中的所有节点都可以参与数据块的验证过程,通过共识算法选择特征节点,将新的块添加到区块链中。

4、可编程

它可以提供灵活的脚本代码系统来支持用户创建高级去中心化应用程序。

5、高安全性

不需要第三方的进入,而是通过一种技术来实现的,一种预先确定的技术来实现整个交易的完成。

6、自治

区块链采用基于共识的规范和协议(如一套公开透明的算法),使整个系统中的所有节点都可以在去信任的环境中自由、安全地交换数据,从而使对“人”的信任变为对“人”的信任。相信“人”。机器的信任,任何人为干预都行不通。

7、不可变

一旦信息被验证并添加到区块链中,它将被永久存储。除非可以同时控制系统中超过 51% 的节点,否则单个节点上对数据库的修改是无效的,因此区块链的数据是稳定的 高可靠性和可靠性。

8、开放性

系统是开放的,除了交易双方的隐私信息被加密,区块链的数据对所有人开放,任何人都可以通过开放的接口查询区块链数据和开发相关应用,因此整个系统信息高度透明 。

9、匿名

由于节点之间没有相互信任,因此节点之间无需公开身份,系统中的每个参与节点都是匿名的。

综上所述:

1、区块链具有分布式、去中心化、时序数据、集体维护、可编程、高安全性、自治性、不变性、开放性、匿名性等特点。

2、传统的区块链架构分为数据层、网络层、共识层、激励层、合约层、应用层。

3、区块链核心技术组件包括支撑技术:哈希函数、默克尔树、P2P网络、分布式数据库、数字签名、加密算法;应用技术:挖矿分叉问题、时间戳和不变性安全、避免双重支付、比特币的隐私模型、共识机制、区块链链接模型、数据块、UTXO交易模型。

注:区块链Beat社区已经正式成立。只有区块链投资银行家和货币交易所被允许加入这个群体。你可以用你的微信号在公众号留言,我加你的微信号拉你进专区。区块链相关社区;

免责声明:本公众号所有文章(报道)均基于已发布信息或受访者提供的信息,但Blockchain Beta和文章作者不保证此类信息的完整性和准确性。在任何情况下,本文(报告)中表达的信息或意见均不构成对任何人的投资建议。