一、意义:
通过区块链部分面试问题的总结,我们不仅仅能复习区块链相关的知识,还能更好的拥抱了解区块链在市场中的详细应用。废话不多说,开干,欧力给!!
二、内容
ps:问题的答案是我自己写的,可能阐述的不到位,有心人,可帮忙回答,在评论区留言。我会及时修改过来。
1.区块链是何如构成的?
区块链是由区块头和区块体构成。
区块头中存放了 版本号、上一级哈希,梅克尔根,当前哈希,时间戳,挖矿难度值,以及一个常数nonce,其中上一级哈希,当前哈希时间戳没有什么可说的,而梅克尔根是用来防止数据篡改的,nonce就是pow中要求出的那个值。
区块体中 就是存在各种交易数据的
2.比特币是如何防止篡改的?
说道比特币防篡改,就要谈一谈梅克尔根了。梅克尔根在区块头中是一个常量hash、
因为梅克尔根 是由交易+签名后两两做哈希,得到值,此值再次与其他两两做hash的值做hash运算,最终得到一个树状结构。树状结构最终的这个hash值 就是梅克尔根。由于梅克尔根与交易数据有上述关系,所以一旦交易数据被篡改,梅克尔根的值就会发生变化。而梅克尔根变化后,就会被全节点发现,一旦区块值对应不上,就会被剔除。所以想修改比特币数据,只能通过修改超过51%的区块节点,但这种代价是十分大的,几乎可以说是不可能,因为就形成了比特币难篡改的特性