Physical Address

304 North Cardinal St.
Dorchester Center, MA 02124

区块链需要学习哪些技术

谈到区块链的技术栈,我们可以用分层的架构去理解。


首先看一下区块链技术的底层——数据层,也就是说它的数据是怎么保存的。区块链是由一个个区块组成,所以一个很重要的部分是区块数据是怎么组织这个区块的,然后是怎么链起来(链式结构)的问题。这当中还涉及到的数字签名、非对称加密、Merkle tree(即通过数据怎么把这些交易组织起成一个Merkle tree )、哈希函数。


第二层,网络层,这也是非常重要的一部分。很多节点相互之间的通讯要考虑传播机制和验证机制。区块链的网络基于P2P,P2P是一个非常老的技术,大家在bt下载方面应该非常熟悉P2P的协议,区块链用的也是这样一个比较成熟的技术。


第三层,共识层,之前讲到共识算法是区块链中非常重要的内容。这里讲POW(Proof of Work,工作量证明),也就是比特币使用的共识算法,其它的共识算法POS(权益证明)也在应用中。


第四层,激励层,简单点说就是大家来参与这件事情,要给大家一点好处,所以涉及到区块链里面用来激励的一些发行机制、分配机制。


第五层,应用层,具体的应用是转账、记账。如果是以太坊的话,还有智能合约的一些内容。


讲完以上技术概括,再来过一下区块链技术的特点。


前两个点是分布式和去中心化,前面已经讲过很多,这里不再赘述。不过提一点目前在去中心化方面的不好趋势,也就是挖矿。现在已经不是像之前一个人在那挖的局面了,而是大家加入一个矿池在挖。所以现在大矿池的集中度是比较高的,这样就会造成一定的中心化倾向,这是目前讨论比较多的话题。


第三点是与传统分布式的区别。区块链的数据的组织形式非常特别,它是一个区块里面包含了很多交易数据,然后再把一个一个区块链在一起,所以叫做区块链。所以它跟正常的普通分布式数据库其实差别非常大。正常的分布式数据库比区块链要快,正因为区块链要保证非常强的一致性,而且数据量还非常大,这些是与分布式数据库差别比较大的地方。同时区块链的数据库只要写进去,就不能再改。这一点上是牺牲了效率的,也就是为共识牺牲的效率。


第四个特点是它的信任机制由加密技术来保证。也就是通过哈希函数签名校验的机制来保证它不能篡改。比如一个交易。如果是我是发款人,这个交易要由我签名。所以别人拿不到我的私钥是没有办法对我这个交易数据进行篡改。至于为什么,是因为我们对每个交易它都会取哈希值,总的再求哈希值,你只要改了任何一个东西,这个哈希值都会改变。这是由哈希加密的特征决定。但凡是没有绝对,正常情况下,数据确实是完全不可篡改。但是如果一个人他占有了整个区块链,比如说整个比特币里面它有51%的算力,它就可以对这个区块链本身发动51%攻击,也就是这个数据本身虽然不能篡改,但是可以通过建立一个新的区块,把这个旧的区块给扔掉,这样你旧的区块就作废了。


虽然51%攻击仍然没有办法篡改已经打包好的数据,但他就是可以通过建立一个新的区块,把你这个旧的区块给作废来达到这个效果的。不过也不用过多担心,因为现在比特币的总体量如此巨大,51%攻击几乎是不可能的,


回到加密技术上,你作为一个账户拥有者的话,只要保护好你的私钥,就可以保证安全。但需要提醒,私钥一旦丢失或忘记,账户也永远无法找回。

本期主要做了技术上的大致介绍,后续会逐一展开,敬请期待。

留下评论

您的电子邮箱地址不会被公开。 必填项已用*标注

zh_CNChinese