当前位置:网站首页 > 区块链基础 > 正文

第一章区块链基础概念

第一章区块链基础概念

1.1.1区块链的基本概念

区块抽象到计算机语言中就是一个对象、一个结构体、一个类,同样类中也可以定义属性、变量和方法,但区块里包括的内容可以自己来定义。比如,以太坊公链的区块结构,它有变量,我们就可以自己进行定义。以下是我们设置一个区块包括变量的例子。


1.1.2链的分类

区块链的链分类通常有3类,即公有链、私有链和联盟链。这3类链的主要区别是:
(1)公有链的维护节点比较多,节点网络对所有人开放,任何人都可以进行特定的数据访问。
(2)私有链是面向个人或某个组织的。
(3)联盟链是多个组织团体的节点联合在一起维护的,对组织开放。

1.2共识的作用

每条区块链上的节点都有存储数据的地方,每个节点之间需要相互通信,通信过程中要保证数据的一致性,此时就诞生了区块链技术栈中的另一个知识点:共识,又称共识机制

如果区块链中没有共识机制,那么节点之间就会各干各的,会失去一致性,区块链不会达成统一性。

共识算法的作用?

  • 在众多节点且相同的时间流逝中,A节点有可能诞生一个区块1,B节点也有可能诞生一个区块1,这样它们诞生的区块号就发生重复了。在同一条链中,相同区块号的区块最终只能挑选一个串接到链中,这时取谁的好呢?此时就需要用共识算法这一规则来做出选择了。

https://cdn.jsdelivr.net/gh/JackieLing/mage1/img/20220129120622.png

1.2常见的共识算法(三种)

  • PoW(工作量证明算法)

挖矿者进行的计算量越大,解答的问题越多,那么就更容易获得记账权(该矿工挖出的区块被接入主链)==⇒”多劳多得”

  • PoS(股权证明算法)

该算法没有挖矿这一说法,而是在创世区块内写明股权分配比例,谁的股份多,谁就容易获得记账权。

  • DPoS(股份授权证明机制算法)

DPoS引入了“见证者节点”这个概念。见证者节点可以生成区块。注意,这里有权限生成区块的是见证者节点,而不是持股节点。

  • BPFT(拜占庭容错算法)

联盟链中常用,此处略…

见证者节点:

每一个持有股份的节点都可以投票选举见证者节点,得到总同意票数中的前N位候选者可以当选为见证者节点。

三种算法的比较:DPoS>PoW+PoS

PoW PoS DPoS
优点 公平 防作弊,节约消耗 能耗低,去中心化,公平
缺点 吃硬件,吃算力 不公平 有安全隐患

1.3共识算法的实现

1.3.1定义候选区块数组

候选区块数组可以保存每个节点广播过来的和自己当前节点生成的对象。

globleBlocks []Blocks//公链区块数组 candidateBlocks []Blocks//候选区块数组 

我们定义的区块体结构block如下:

type Block struct{ 
    Timestamp string//时间戳 Hash string//哈希值 PrevHash string//上一个区块的哈希值 NodeAddress string//区块节点地址 Data string//区块的数据 } 

1.3.2定义共识算法机制难度系数difficultlty

该系数表现了难度系数

  • 生成新区块:
func generateBlock(old Block,data string) Block{ 
    var newBlock Block; t:=秒级别时间戳 newBlock.Index=oldBlock.Index+1 newBlock.Timstamp=t.String() newBlock.Data=Data//区块的附属数据 newBlock.PrevHash=oldBlock.Hash//区块的父区块的哈希值 for i:=0;;i++{ 
    newBlock.Nonce=hex; newBlock.Hash=calculateHash(newBlock) if isBlockHashMatchDiffculty(newBlock,diffculty){ 
    candidateBlocks=append(candiateBlocks,newBlock)//添加候选区块 break } } } 

假设节点启动了一个子协程且在不断地计算候选区块数组中区块的哈希值,所计算出的哈希值满足难度系数difficultlty的校验

var resultBlock Block for block~candiateBlocks{ 
    resultBlock=block break } continue } 
到此这篇第一章区块链基础概念的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 区块链基础架构模型2024-10-30 21:44:40
  • 区块链1——区块链基础2024-10-30 21:44:40
  • 区块链节点同步慢 Warning: Synchronization stalled2024-10-30 21:44:40
  • 区块链基础知识认知_区块链基础知识认知2024-10-30 21:44:40
  • 建设区块链基础设施,加速区块链等新技术与传统行业深度融合发展2024-10-30 21:44:40
  • 区块链基础_做区块链一年能赚多少2024-10-30 21:44:40
  • w1区块链基础知识25讲2024-10-30 21:44:40
  • 区块链1——区块链基础概念2024-10-30 21:44:40
  • 区块链基础知识2024-10-30 21:44:40
  • 区块链基础架构_区块链系统架构2024-10-30 21:44:40
  • 全屏图片