区块:在比特币网络中,数据以文件的形式被永久记录,怎么记录呢?通过矿工挖矿来产生区块。这些数据包括:神奇的奇数、区块大小、区块头部信息、交易计数、交易详细。区块头部信息包括那些信息呢?版本号、父区块哈希值、Merkle根哈希、时间戳、难度目标、随机数(Nonce)等信息,我们看下图
数据块的结构 区块头部结构挖矿:“挖矿”过程的本质是在竞争中“解决”当前区块,即确认该区块的记账权。白话挖矿就是说:单身男士要找女朋友,“国民岳母”说,我有好多肤白貌美、乖巧可爱的女儿,这样吧,我给你们出一个旷世难题,解除一个就给你们其中一个姑娘的微信号,解出题后还有巨额财产就是比特币奖励。
分叉:解题的时候两个人同时说解题成功,这个时候就看广播的时候那个传得远及链谁长。
双花:指一笔数字现金在交易中被重复使用。
拜占庭将军问题:拜占庭将军问题是一个共识问题,其核心描述的是军中可能有叛徒,却要保证进攻一致性(攻占一个城池,派出10支军队,但是合围的10支军队都不在一个地方,需要信使传递攻击命令,需要至少6支军队同时攻击才能攻下,中间有叛徒传递假消息怎么解决)。比特币解决方式:发送信息加入成本,来降低信息传播的速度,并加入一个随机元素以保证在同一个时间只有一只军队可以进行广播,就是基于计算一个随机哈希的算法的工作量证明。
哈希算法:哈希算法是区块链中保证交易信息不被篡改的单向密码机制。加密过程不可逆,意味着我们无法通过输出的散列数据倒推原本的明文是什么;输入的明文与输出的散列数据一一对应,任何一个输入信息的变化,都将导致最终输出的散列数据的变化。
公钥和私钥:可以理解为用户名和密码对应的关系,俗称不对称加密方式,是对以前对称加密方式的提高,公钥就是给大家用的,私钥就是自己的,必须非常小心保存,切记小心保存。
Merkle树结构:区块链利用Merkle树的数据结构存放所有叶子节点的值,并以此为基础生成一个统一的哈希值;
硬分叉:简单来说就是兼容性的不同,应对不同的需求,产生分歧,不能达成一致意见出现,软分叉是暂时的,硬分叉是永久的;在区块链层面会分叉两条链,一条旧链,一条分叉新链(例如:btc的各种分叉:UBTC、SBTC)。
软分叉:指比特比交易数据结构发送改变时,节点可以验证已经升级的节点生产出的区块,而且已经升级的节点也可以验证为升级的节点生产出的区块。
相关关键词或者知识点比较多,我这不一一讲了,需要各位践行,不断学习,提高自己,下面我们看看比特币怎么运行的:
1. 新的交易向全网进行广播;每个节点都将收到的交易信息纳入一个区块中
2.每个节点都将收到的交易信息纳入一个区块中
3.每个节点都尝试在自己的区块中找到一个具有足够难度的工作量证明
4.当一个节点找到了一个工作量证明,它就向全网进行广播
5.当且仅当包含在该区块中的所有交易都是有效的且之前为存在过的,其它节点才认同该区块的有效性
6.其他节点表示他们接受该区块,而接受的方法则是跟谁在该区块的结尾,制造新的区块延长该链条,并将该区块的随机散列值视为新区块的随机散列值。
网友评论