主页 > imtoken不让安装 > 区块链如何处理和存储数据

区块链如何处理和存储数据

imtoken不让安装 2023-03-04 06:28:04

区块链如何处理和存储数据

随着区块链技术接管网络,用户仍然很难理解传统网络技术和 web3 技术之间的区别。

在本文中,我们将分解区块链的位置、存储位置以及数据在其中的处理方式。

区块链技术基础

简单地说,区块链是一个在网络中的多台计算机之间共享和同步的数据库。 在区块链中,交易安全地存储在点对点计算机网络(也称为节点)中。 它使用哈希,这是一种不可变的加密签名。 哈希将每种类型的数据转换为一组独特的字符,从而提高了区块链的完整性。 区块链技术的主要特征是透明、安全和不变性。 这意味着交易一旦被记录,就无法更改或删除。

为了清楚地了解区块链存储在哪里,我们首先必须清楚地了解信息在传统网络上是如何存储和处理的。

传统的数据存储方式

在传统的网络中,计算机将数据存储在中央数据库中,其中包含表、行和列,数据库管理员可以读取、写入、更新或删除这些数据。

集中式数据库更易于管理和扩展; 然而,它缺乏透明度、安全性和完整性。 这与透明且不可变的区块链网络有很大不同。

区块链中的交易是如何发生的

要在区块链上进行交易,区块链必须具有三个组件:节点、区块和矿工。

比特币挖矿难度变化_比特币挖矿难度调整后_比特币难度值计算公式

1.节点

节点可以是连接到区块链网络以验证和中继交易的任何计算机。 区块链中的所有节点都链接在一起,它们经常相互交换最新数据,以确保所有节点都是最新的。

节点的三个主要角色是:验证区块链上的交易比特币难度值计算公式,并根据交易的真实性接受或拒绝交易。 在区块链上存储大宗交易。 与区块链上的其他节点共享交易信息。

2.积木

在区块链中,区块是一个单一且唯一的交易记录单元。 块可以根据它们在网络中的角色来区分。

创世区块:网络中的创世区块。 换句话说,区块链的第一个区块。 该块允许创建和链接后续块,从而使网络不可变。 有效区块:已经被开采并且现在是区块链的一部分的区块。 该区块有效地包含了已经被矿工验证过的交易。 孤儿:不再属于区块链网络的区块。 孤立块是在同时开采多个块时创建的废弃块,但未添加到区块链中。 矿工向区块链添加新交易的过程称为挖矿。 矿工验证/验证交易并将其添加到区块链。

交易如何发生

区块链交易生命周期分为三个阶段:身份验证、授权和工作量证明 (PoW)。

1.认证

比特币难度值计算公式_比特币挖矿难度调整后_比特币挖矿难度变化

在进行任何交易之前,用户必须使用钱包的私钥成功验证其身份。 最流行的身份验证方法是使用助记符。

种子短语是一组随机选择的单词,代表一长串随机数字和字母(您的私钥)。

私钥如下所示:

0 c 8 FCA 386 c 227600 b 2 Fe 50 b 7 CAE 11 c 86d 3 BF 1 FBE 471 be 89827 e 19d 72 aa 1d 这有点难记,所以我们使用这个助记符:

霍克州长永远拒绝会议负载恩典农民西部讨价还价总是草地保证质量山丘忽略手扔歌词音频电话快照通常使用助记符比使用私钥更容易进入你的钱包,因为它更容易记住现场。 种子认证增强了区块链交易的匿名性和隐私性,因为没有中央机构来管理认证。

2.授权

授权意味着网络上的每个节点都同意彼此批准交易。 换句话说,在区块链中,必须达成共识才能验证交易。 一旦满足智能合约设定的标准,节点将批准交易。

一旦交易被批准,它就会被存储在区块链上。 一旦交易存储在区块链上,就无法更改。

3.工作量证明(PoW)

比特币挖矿难度调整后_比特币难度值计算公式_比特币挖矿难度变化

简单地说,工作量证明是加密货币矿工用来验证交易的复杂算法。 使用此算法,您可以确认在区块链中创建新块的交易。

矿工相互竞争以完成这个复杂的算法,因为他们会为每个添加到链中的新块获得经济补偿。 这是因为解决这些复杂的算法需要大量的计算能力。

权益证明 (PoS):权益证明是区块链使用的另一种共识机制。 通过权益证明,持有网络原币最多的成员拥有最大的交易验证权。

数据如何存储在区块链中

在区块链中,数据由网络中的所有节点访问、验证和记录。 那么,数据块的实际内容是什么? 什么类型的数据存储在区块链中?

块有两部分:标题和主体。 头部是区块的一部分,包含识别区块的信息,而主体是区块的一部分,包含数据(交易)。

笨重

块标头包含与块关联的元数据。

元数据是:

比特币挖矿难度调整后_比特币难度值计算公式_比特币挖矿难度变化

块的版本。 包含块版本号的 4 字节字段。 块的版本号指定了验证块的规则。 比如比特币有4个区块版本,每个版本都是对之前区块规则的改进。 前一个块的哈希值。 块的 ID。 它是一组唯一的字符串,用于标识特定块并将其与下一个块相关联以形成区块链。 换句话说,每个新块都是从前一个块的哈希生成的。

时间。 区块被散列时的时间戳。 默克尔树。 Merkle 树是一种数据结构算法,其中每个节点都使用块的加密哈希进行签名。 Merkle 树使用 Merkle 根数学公式来验证网络中的数据。 这是为了高效安全地验证区块链上的数据。 的种类。 存储难度目标,这是一个 4 字节的文件,指定矿工为了验证交易而解决的数学问题的难度。 随机数。 随机数(a number used once)是用来获取区块哈希值的随机数。 定位随机数是矿工在验证区块时所做的事情。 难度必须等于或小于要验证的块的随机数。 此元数据在比特币网络中是公开的比特币难度值计算公式,并且始终可以使用区块链浏览器(例如 etherscan [1] 或区块链 [2])进一步探索和查看。

堵塞

块的主体是存储块的所有交易的地方。 一个区块最多可以容纳 500 笔交易,就像比特币网络一样。 块越大,区块链中的交易越快。

区块链的类型及其存储数据的方式

不同的区块链有不同的数据结构。 让我们回顾一下比特币和以太坊网络中的数据结构。

比特币

比特币是第一种加密货币,也是区块链技术的第一个实际应用。 可以使用未花费的交易输出 (UTXO) 对比特币交易进行建模。 UTXO 是指一笔交易发生后比特币剩余的数量。

UTXO 数据库存储比特币交易的变化。 数据库的初始状态为 0。随着事务数量的增加,数据库中充满了来自多个事务的更改条目。

比特币挖矿难度调整后_比特币难度值计算公式_比特币挖矿难度变化

任何在交易结束时未被消费的输出都将保存回数据库作为后续交易的输入。

每笔比特币交易都提供以下元数据:

Tx_incount:交易输入总数。 Tx_ins:持有所有交易输入的列表。 Tx_outcount:交易输出总数。 Tx_outs:所有交易输出的列表。 Witness:该文件包含所有 SegWit 交易见证数据的序列化。 锁定时间:指定何时可以将交易包含在区块链中。 它是一个 4 字节的值,指定交易被锁定之前的块号或时间戳。 它通常设置为 0,这意味着交易在区块完成后立即生效。

以太坊

比特币的主要限制是可扩展性,这意味着比特币网络中的单个区块只能容纳 1MB 的数据。 以太坊网络使用 trie 数据结构构建,以解决比特币网络面临的性能和可扩展性挑战。

Trie,俗称数字树,是一种数据结构方法,包含一组由节点之间的链接连接的字符串。 以太坊网络有四种尝试:状态、存储、交易和接收尝试。

StateTrie:存储临时网络数据,例如账户密钥、交易号、地址和账户余额。 随着交易的发生,状态树中的数据会不断更新。 基本上,状态树将地址映射到帐户状态。 Storage Trie:存储智能合约数据。 它保存账户数据,例如账户余额和与账户关联的交易数量。 每次以太坊存储尝试。 Transactiontrie:交易树是特定于每个区块的。 交易 trie 捕获交易请求向量,例如气体值、交易值、气体限制、接收者和随机数。 Receipt Trie:保存交易后数据,例如gas消耗量、交易后状态、交易日志等。

综上所述

在本文中,我们将分析交易在区块链网络中是如何发生的,以及它需要哪些组件来工作。 我们还讨论了区块链的类型及其存储数据的方式。

以太网扫描:

[2] 木椅: