V宝币-V宝币今日价格_V宝币最新消息_V宝币行情走势图_V宝币交易平台

BTC区块链核心技术解析

更新时间:2021-07-14 07:57点击:

转自:区块网

区块链的出现主要解决的是传统中心化互联网部署方法所带来的海量问题,包括:

1)买卖非公开化,中心节点学会分布节点信息,分节点不学会其他节点信息;

2)系统安全性取决于中心节点安全性,中心节点存在道德风险,可借助云数据进行数据变现,存在隐私泄露风险;

3)系统风险性伴随互联网规模扩大而上升;

4)中心节点维护系统运行涉及较高本钱等。


来自于BTC,区块链借助分布式部署点对点互联网和同步更新完成了对于以上问题的解决:

1) 分布式方面,区块链每一个节点学会各个节点信息,信息可以使用匿名化原则,但买卖公开,且系统内买卖批准取决于所有节点共识性原则,规则对于所有节点公平且强制,因此,伴随互联网规模扩大,系统风险性反而降低;

2) 同步更新方面,因为每一个节点都存有过去所去所有买卖的历史记录,且每10分钟交易平台组成的比邻区块之间存在逻辑嵌套关系,故伴随时间推移,买卖增多,每一个节点内同步更新的链条愈发变长,愈发难以被篡改。

BTC完成了区块链“从0到1”的诞生,BTC区块链买卖浅易步骤


1)买卖概念

公共钥匙加密。BTC区块链PKC现在为每位互联网参与者提供两把钥匙,一个为其他用户所知的公匙,一个只为用户自己所知的私匙 ,任何有你公匙的参与者可以给你发送一条加密信息,该信息只有你可以读到。

用私匙,发信人可以在加密信息中进行数字签名,向收信人证明发信人是你一个人。KPC使用椭圆不对称加密技术,安全性较强。怎么样发送BTC?例:A向BTC区块链互联网中发送一条或多条信息,A在信息中指名发送人和收件人的地址。对于每一个收件人地址,A指名发送的BTC数目。A在信息中借助私匙对信息进行数字签名,向收件人证明身份。信息发送后,A等待BTC区块链互联网对于信息进行验证和确认。

区块链深度剖析报告:BTC区块链核心技术解析

2)单节点买卖核查

A的买卖信息发送后,当BTC区块链互联网内任一节点上的机器收到了信息,其开始做以下处置:检查该机器自己是不是已经处置过此次买卖;检查买卖涉及地址是不是合法有效;检查数字签名,以确保原发信者是Input地址合法有效的拥有者;检查发件人这笔BTC有没在别的地方被花费提取过;检查发件人BTC数目至少是和收件人预收的BTC数目相同。

假如以上检查没问题,节点将买卖标注成有效,将其列入“未确认买卖”名单。然后将信息广播至互联网内其它节点,互联网内众节点开始对买卖进行节点共识验证,并在互联网中进行广播。进行单点验证的矿工可以获得一小部分BTC获得奖励。

3) 加入区块,区块创造

该笔买卖被一个挖矿节点验证,验证成功后会被添加到区块中。每一个节点要正确无误的给这十分钟的每一笔买卖盖上时间戳并记入最新的区块中,所以每一个区块包含过去十分钟的所有买卖。

4) 节点共识验证

每一个矿工节点需通过解SHA256的算法来角逐过去十分钟区块的合法记账权,并争获得到12.5个BTC的奖励。若一个矿工节点解开了这十分钟的SHA256难点,其将向全网公布其这十分钟区块记录的所有盖时间戳买卖,并由全网其他矿工节点核对。

5) 区块成链

全网其他矿工节点核对该区块记账的正确性,没错误后他们将在该合法区块之后角逐下一个区块,如此就形成了一个合法记账的区块单链,也就是—区块链。

通常来讲,每一笔买卖,需要经过六次区块确认,也就是六个十分钟共计60分钟,才能最后在区块链上被承认合法买卖。

BTC区块链本身是一种全球分布式数据库,最大的特征是没中央管理员,因此没办法被单一方所控制,但同时可以做到买卖传输数据的可信性。

互联网节点为矿工,负责承载互联网运输任务,同时其负责买卖的验证与信息记录储存。

个人用户,企业等可以通过钱包和交易平台形式介入BTC区块链互联网,但其不涉及区块链的买卖验证和记录储存。

区块链核心技术之一:数学加密

BTC的所有权通过数字密钥、BTC地址和数字签名予以确认,BTC钱包中只有密钥,不包含BTC。因为每笔买卖需一个有效签名才能被处置存储,因此拥有密钥等于拥有了帐户中BTC的所有和控制权。

公私钥为1对1成对出现,公钥等于用户名,私钥等于密码,私钥为随机生成的数字,通过不可逆椭圆曲线运算加密函数运算出公钥,公钥经过哈希函数运算得出一个BTC地址,可公开且推荐。

区块链核心技术之二:点对点互联网

拥有去中心化、抗攻击、帮助传输、韧性强的特征。

区块链核心技术之三:区块和链


挖矿步骤

挖矿由矿工型节点一同参与,因为需要保证节点之间的同步,所以新区块的添加速度不可以太快。由于每一个区块的后面,只能跟着一个区块,矿工永远只能在最新区块的后面,生成下一个区块。因此若区块添加速度过快,就会出现刚刚同步了一个区块并筹备基于其生成下一个区块,别的节点又有新区块生成的状况。因此BTC区块链白皮书协议中设置故意让添加新区块变得较困难—平均每10分钟,全网才能生成一个新区块。

应该注意,这种产出速度并不是由白皮书硬性命令规定,而是通过使大量计算成为得出有效Hash的先决条件,从而控制区块产生时间约为10分钟。

目的值:

解密的过程为各个矿工在区块头所包含的叠加内容基础上放置随机数字链,经过SHA256反复计算后达成目的值。矿工解密运算Hash的有效性跟目的值密切有关,只有小于目的值的Hash才有效,不然则无效,需要重算。

每一个区块头包含一个困难程度系数,此值决定了计算Hash困难程度。区块链协议规定,用一个常量除以困难程度系数,可得到目的值。困难程度系数越大,目的值就越小。伴随全网算力提高,困难程度系数迅速上升。例,第10000个区块困难程度系数为14,484.16,而第504,000个区块困难程度系数已上升为2,227,847,638,503.63。

为了将产出速率恒定在十分钟,BTC区块链白皮书内设计了困难程度系数的动态调节机制。困难程度系数每两周调整一次。若2周内,区块平均生成速度是8分钟,就意味着比法定速度快了20%,因此困难程度系数就要调高20%;若平均生成速度是12分钟,就意味着比法定速度慢了20%,困难程度系数就要调低20%。

随机数:

随机数为只能用一次的密码数字,若矿工通过哈希运算产生了一个大于目的数的哈希值,则其需选择随机值重新进行计算,直到找到小于或等于目的数的哈希值。

更具体和直接讲解整个步骤 挖矿步骤

Merkle Root是区块头部分内的Hash值,代表了区块体部分内的所有买卖。在BTC区块链中,每笔买卖产生后,都已经被Hash成一段代码并广播给各节点。在各节点的区块中,可能包含数百笔到数千笔的买卖,因此,为节省储存空间并降低资源耗费,BTC区块链的设计原理採用Merkle Tree机制,让这部分数百到数千笔的买卖Hash值经由两两一组形成一个新Hash值的方法,不断重複进行,直到最后产生一组最后的Hash值,也就是Merkle TreeRoot,这个最后的Hash值便会被记录到Block Header中,只有32 Bytes的大小。MerkleTree机制可大幅降低资料传输量与运算资源消耗,验证时,仅需验证这个Merkle Tree的Root值即可。

分叉和六度认证

分叉:

区块链中,每一个子区块只有一个父区块,但当不一样的矿工发现不一样的区块时,会出现一个父区块暂时拥有不少子区块的状况,这样的情况被叫做分叉。在任何区块里,第一条都没转出地址,就是所谓的coinbase,没其他人付给矿工这笔钱,矿工只不过理所应当的写上自己获得了12.5BTC。

若所有节点皆认同矿工如此写,则矿工得到该笔挖矿收入。不一样的矿工在填写区块的时候,数据肯定是不同的,由于每一个矿工的第一条一定不同,矿工只能把挖矿收入转入我们的地址。所以譬如说矿工A的CoinBase是“A获得了12.5BTC”,矿工B的CoinBase是“B获得了12.5BTC”。

因为每一个矿工的区块数据皆不同,所以他们解题得出的结果也是不同的,都是正确答案,只不过区块不同。因为距离远近,不一样的矿工看到这两个区块是有先后顺序的。一般情况下,矿工们会把自己先看到的区块复制过来,然后接着在这个区块后开始新挖矿工作。

从分叉的区块起,因为不一样的矿工跟从了不一样的区块,在分叉出来的两条不同链上,算力存在差别,形象地说,就是跟从两个链矿工的数目是不一样的。因为解题能力和矿工的数目成正比,因此两条链的增长速度也会不同。一段时间后,总有一条链的长度要超越另一条。当矿工发现全网有一条更长的链时,其就会抛弃他目前的链,把新的更长的链全部予以复制,在这条链的基础上继续挖矿。所有矿工都如此操作,这条链就成为了主链,分叉出来被抛弃掉的链就消失。


最后互联网内只有一条链会被保留,成为真的账本,其他分链皆为无效。买卖区块所引伸的区块“长度”越长,越困难被互联网内其他节点所改变或不承认,通常来讲一笔买卖要经过6次确认才会被最后记录下来,“六级”是BTC用户所认同的最后确认等级。

上一篇:鱼池CKB(Nervos)测试网挖矿课程 下一篇:没有了

相关阅读

官方微信公众号