区块链(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开始迭代,直到找到有效的散列。这用到了处理能力【工作量证明】!

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

相关推荐
paceboy13 小时前
如何制作免费的比特币冷钱包
区块链
小明的小名叫小明1 天前
区块链技术原理(15)-以太坊虚拟机 (EVM)
区块链
MicroTech20251 天前
微算法科技(NASDAQ: MLGO)研究利用PBFT中的动态视图变换机制,实现区块链系统高效运转
区块链
余_弦2 天前
区块链钱包开发(二十一)—— 一次交易的全流程分析
区块链·以太坊
gaog2zh2 天前
0301-solidity进阶-区块链-web3
web3·区块链·solidity
终端域名2 天前
区块链:数字时代信任基石的构建与创新
区块链
数据皮皮侠3 天前
最新上市公司业绩说明会文本数据(2017.02-2025.08)
大数据·数据库·人工智能·笔记·物联网·小程序·区块链
余_弦3 天前
区块链中的密码学 —— 密钥派生算法
算法·区块链
小明的小名叫小明4 天前
区块链技术原理(14)-以太坊数据结构
数据结构·区块链
终端域名5 天前
中本聪思想与Web3的困境:从理论到现实的跨越
web3·区块链·元宇宙