区块链如何运行的

区块链,顾名思义。就是把一个个区块用一根根链条串联在一起。形成一个长长的链接。

图片发自App

那它是如何形成的呢?下面都是以比特币为例进行描述。

区块链是由全世界成千上万台的计算机,来参与维护的一种网络系统。参加维护的每一台计算机都是这个区块链的节点。在这个网络中,发生的每笔交易都会在全网发出通知,然后每台计算机,都会收到通知,参与验证计算。十分钟内最快计算出2500条,交易信息结果的计算机。可以获得一定的比特币奖励。也就是挖矿奖励。十分钟内的2500条交易信息计算的结果打包成为一个区块。并且加上时间戳,通过加密的哈希算法,形成一串特定的字符串。这个区块的哈希值成为下一个区块区块头的组成部分。这个哈希值如同一个ID。创世区块只有一个ID,以后形成的区块,都有两个id。一个是前面的区块的ID,还有自身的ID。ID就是一根根链条把一个个区块相互连接形成一条条长长的链接。被形象地称“区块链”

区块链上的区块容量是1M,是由区块头和区块体组成的。区快体很简单就是记录了这个区块的所有的2500条交易信息。

区块头包含了:

1)上个区块的哈希值(ID);还有这个区块的哈希值(ID)。

2)时间戳,也就是区块上每笔交易的时间和区块创建的时间。

3)挖矿难度。

说到这我们就可以找到区块链的几个特点的理论根据:

1、可查询。区块链的第一个区块是由中本聪创建于2009年。被称为创世区块。他是区块链里所有区块的祖先。这就意味着你从任意一个区块,循着链条,向后查询。最终都能到达创世区块。帐目清晰明了,不管多长时间的帐目都可以查。

2、不可篡改。这里我们还要交待一下哈希算法的特点。哈希算法是一种加密算法。有几个特点

001  单向不可逆转。比如说有一段明文:今天下雨了。通过算法产生的哈希值是abcde。但你知道了abcde,这个哈希值。没办法倒推出明文:今天下雨了。

002  输入敏感性。原始信息修改一点点,都会产生不同的哈希值。比如说你把明文修改成:今天快要下雨了。它就会产生的对应哈希值abefcd。所以在区块链上,要篡改区块交易信息。那么区块的哈希值会发生变化。从而系统马上会找出这个恶意节点,并修改信息重新上链。所以区块链从09年开始运行至今一直很安全。

3、去中心化。点对点的交易。比如在情人节那天,小徐为表达自己对小姚的爱意。要向小姚发起520个BTC转帐交易。小徐只要用钱包中的私钥来签名向全网发出交易通知。然后全网中的计算机节点通过小徐钱包的公钥来验证交易真实性。验证成功就可以顺利把小徐钱包中520个BTC转到小姚的钱包中去。交易信息打包成块,盖上时间戳!通过哈希算法生成对应的哈希值永远存在于区块中。快捷方便,全网节点验证解决了现实生活人与之间信任问题。

在此,顺便说明一下钱包的组成和在交易过程中流程:钱包是由由公钥地址三部分组成的。是密码学里非对称加密算法的内容。顾名思义,公钥是可以公开的,大家都可以看的。私钥是只能自己看,必须进行安全妥善保管。

钱包中的私钥是随机生成的。公钥是对私钥的加密算法推出来的。因为公钥太长,为了简便实用,就出现了地址。这些都是通过哈希算法得到的,单向不可逆。通过地址不能推出公钥,公钥不能推出私钥。

公钥加密,私钥解密他们俩是如影随形的。公钥就像一个银行帐号,所有资产都放在帐户上。要支付时必须要用私钥进行签名。才能提取资产。所以必须妥善保管好自己的私钥,不能在互联网上随意发送,以防被人截取。

图片发自App

你可能感兴趣的:(区块链如何运行的)