JobPlus知识库 IT 其它 文章
区块链学习笔记

1、综述 
区块链一句话概括是,区中心化分布式账本,其中最重要的就是共识机制。它最初来源于中本聪的白皮书,主要用到的密码原语是RSA,哈希函数,数字签名,椭圆曲线等等。 
区块链由我来通俗解释的话,每个人都有一个账本,来记录所有的情况,这个链是用哈希穿起来的,就是下一个块有上一个块的哈希值。但是由于每个人收到信息的时间不同,只有最长的链才能作为主链。在这种情况下,篡改信息是非常难的。 
下面记录了我认为区块链最重要的问题:共识机制,POW,hashcash,激励机制。其中,还有一些时间戳、随机数之类的细节没有详细讨论。 
2、支付流程 
比特币中,每个用户身份标识是公钥,又做了一层base58,身份是匿名的。当A和B交易的时候,在比特币网络广播,然后通过记账产生新的区块。其中很有趣的是,区块链不会统计余额,需要遍历所有交易,只有有足够的余额才能进行交易。 
这里有一个问题是双重支付,原因是网络延迟,比如两笔交易,很有可能先收到后一笔,这时候就有问题。这里解决问题,需要在交易确认之后,也就是被加入链中,才进行发货。 
3、共识机制: 
所谓共识机制,就是在一段时间内对某件事的先后顺序达成共识的一种算法。共识机制的作用,是为了让这条链继续下去。其实共识机制就是区块链继续链下去的动力,所以共识机制可以说是共识机制最重要的东西了。 
首先是拜占庭问题: 
“拜占庭帝国即中世纪的土耳其,拥有巨大的财富,周围10个邻邦垂诞已久,但拜占庭高墙耸立,固若金汤,没有一个单独的邻邦能够成功入侵。任何单个邻邦入侵的都会失败,同时也有可能自身被其他9个邻邦入侵。拜占庭帝国防御能力如此之强,至少要有十个邻邦中的一半以上同时进攻,才有可能攻破。 
然而,如果其中的一个或者几个邻邦本身答应好一起进攻,但实际过程出现背叛,那么入侵者可能都会被歼灭。 
于是每一方都小心行事,不敢轻易相信邻国。这就是拜占庭将军问题。” 
因为在去中心化的分布式系统中,没有中心可以来决定,只能让大家一起决定,这就是问题的关键。如果有人想要改账本(叛徒),应该怎么办?中本聪就提出,叛徒需要付出一定成本才能进行修改。比特币提出了POW工作量共识机制,要掌握整个网络50%以上的算力才能攻击,但是这些算力如果用来维护,也就是挖矿,可以获得更多的收益,这样就巧妙地用代价来阻止攻击。而挖矿,就是激励机制。这里有一个问题:为什么叛徒要付出算力?原因是它需要通过一定的操作成本,来证明自己的可信度。 
POW的原理,是基于hashcash算法,需要计算一个前13位是0的64位哈希值,要找到这样一个随机数是相当费力的,需要算力,这也就是挖矿。计算哈希值要耗费大量时间,增加了发送信息的时间间隔。如果发现了,就连同交易还有签名一起广播,其他机器收到并验证通过之后,就加到自己的链上,再把总账作为哈希算法的输入继续计算下一个哈希值。 
Hashcash原本的意义在于,可以知道邮件是否是真实用户,这里拿到区块链中,也是为了解决机器之间的信任问题。通过token,激励机制,诱导区块链向正确的方向发展。 
4、其他 
其中哈希指针链使用的数据结构是Merkle树,进行完整性认证。 
数字签名使用的是继续椭圆曲线的算法ECDSA。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

¥ 打赏支持
131人赞 举报
分享到
用户评价(0)

暂无评价,你也可以发布评价哦:)

扫码APP

扫描使用APP

扫码使用

扫描使用小程序