区块链(1):区块链简介

区快链是通过密码技术保护的分布式数据库这是比特币背后的技术。

本文将逐步带您了解区块链。

1 区块链BLOCKCHAIN的类的定义

区块链有一个区块列表。

它从一个单独的块开始,称为 genesis block【创世区块】

2 区块链BLOCK的类的定义

第一个区块叫做 Genesis[创世] block,每个块存储以下信息:

  • Index
  • Timestamp
  • Hash
  • Previous Hash
  • Data
  • Nonce(挖矿原理,比特币难度举例)

3 区块链中创世区块

创世区块(genesis block)是区块链中的第一个区块,其区块序号是0。它是区块链中唯一一个不指向前一个区块的区块,因为没有前一个区块。它也不包含交易,因为还没产生任何以太币。

只有网络中的两个节点有相同的创世区块,它们才会彼此配对,也就是说,如果两个对等节点有相同的创世区块才会进行同步 区块,否则它们将彼此拒绝。不同的创世区块有较高难度值也不能替代难度值较低的。每一个节点生成自己的创世区块。对于不同的网络,创世区块被硬编码到客户端里。

4 区块Block6个属性的说明

(1)Index

该索引是链中的块的位置。

【创世区块】的索引是0。下一个区块的索引是1。

(2)Timestamp

创建块的时间记录。

时间戳有助于保持区块链的顺序。

(3)HASH

哈希看起来像一堆随机数。它是唯一标识数据的数值,或数据的"数字指纹"。

Hash属性:

  • 哈希具有固定的长度

  • 相同的数据结果相同的hash值。

  • 器实际上不同的数据会导致不同的hash值。

  • 图 Hash值很容易计算。

  • 不可能将Hash值转换为数据。[不可逆]

  • 个数据的小改变会导致Hash值的巨大变化。

  • VALID HASH(有效散列)

有效的Hash是满足特定要求的Hash。对于这种区块链,哈希前面的三个前导零是对有效散列的要求。

注意:所需的前导零的个数是困难或难度系数,个数越多,难度系数越大。

  • BLOCK HASH CALCULATION(块散列计算

Hash函数将数据作为输入,并返回一个唯一的Hasn值。

f(data) = hash

由于哈希是整个块的"数字指纹",因此数据是索引,时间截,以前的哈希,块数据和随机数的组合

f(index+previous hash+timestamp+data+nonce)= hash

替换我们的起源块的值,我们得到

f(o+"o"+1508270000000+"Welcome to Blockchain Demo 2.!"+604) =ooodc75a315ca1f9c9816247do3ddieid219939d3810hd98ed2

(4)Previous Hash

Previous Hash是前一个Hash,为前一个块的Hash。 由于没有以前的块,因此[创世区块]的前一个散列值为"0"。

(5)Data

Data为存储在块上的数据。在诸如比特币这样的加密货币中,数据将包括货币交易。如果数据发生更改,由于数据是输入变量的Hash,因此更改数据将更改Hash值。新的散列将失去三个前导零,并且变得无效。需重新挖矿生成有效的Hash值。

数据更改后,后续的区块也将无效。Hash更改将导致后续块的前一个Hash值发生变化。由于之前的Hash值用于计算Hash值,因此后面的Hash值会改变。这将导致区块的级联失效。

所以说,挖矿是查找有效Hash值的过程。

(6)Nonce(重点说明:挖矿原理,比特币难度举例)

nonce是用于查找有效散列的数字。nonce从0开始迭代,直到找到有效的散列。这用到了处理能力【工作量证明】!

随着难度的增加,可能的有效散列数量会减少。,使用较少可能的有效哈希值,需要更多的处理能力才能找到有效的哈希。

相关推荐
The_Ticker5 小时前
CFD平台如何接入实时行情源
java·大数据·数据库·人工智能·算法·区块链·软件工程
程序猿阿伟5 小时前
《C++ 实现区块链:区块时间戳的存储与验证机制解析》
开发语言·c++·区块链
TechubNews5 小时前
Helius:从数据出发,衡量 Solana 的真实去中心化程度
去中心化·区块链
dingzd957 小时前
Web3的核心技术:区块链如何确保信息安全与共享
web3·去中心化·区块链
清 晨7 小时前
Web3与智能合约:区块链技术下的数字信任体系
web3·区块链·智能合约
CertiK8 小时前
Web3.0安全开发实践:Clarity最佳实践总结
web3·区块链·clarity
加密新世界8 小时前
Move on Sui入门 004-在sui链上发布Coin合约和Faucet Coin合约
区块链
YSGZJJ12 小时前
股指期货的套保策略如何精准选择和规避风险?
人工智能·区块链
web3探路者21 小时前
深入探索Solana链上的Meme生态:创新、潜力与挑战#区块链开发#dapp开发
web3·区块链·团队开发·dapp开发·区块链技术·链游开发·交易所开发
加密新世界1 天前
指南: 如何在 MEV 项目中使用 Yul
区块链