对区块链的一些认知

        对区块链的一些认知 最近区块链真是大火啊!也有人预测说2018年将是区块链的天下。而对于一个区块链小白来说,我看着大家在以区块链为底层技术的比特币等其他技术币中赚了好多钱,而禁不住金钱的诱惑的我,也觉得我必须要了解一下区块链了。 

       现实生活中,人与人、人与公司、公司与公司之间的交易都需要公信力提供支撑。公信力意指在社会生活中,公共权力面对时间差序、公众交往以及利益交换时,所表现出来的一种公平、公开、人道、民主与责任的信任力。当前社会,公信力一般由政府、国家机关或政府授权的第三方组织来提供。 

      区块链技术可以很好地满足公信力需求,并把公信力抽象出来作为一个独立的而不是由政府或第三方组织掌控的存在,形成政府、大众、区块链与公信力相互监督的“公信新格局”。信任是建立在区块链上的,而非由单个组织掌控,从而公信力可以被多方交叉验证与监督。 

     《经济学人》杂志这些写到:区块链是一台创造信任的机器,可以说区块链最核心的问题就是解决信用共识的问题。 那么区块链是如何解决信用共识的问题的呢?

       原理:信用共识带来的智能信任。 

 区块链的核心概念 

 一、区块 

       区块作为区块链的基本结构单元,由包含元数据的区块头和包含交易数据的区块主题构成。 区块头包含三组元数据:1.用于连接前面的区块、索引自父区块哈希值的数据;2.挖矿难度、Nonce(随机数,用于工作量证明算法的计数器)、时间戳;3.能够总结并快速归纳校验区块中所有交易数据的Merkle(默克尔)树根数据。 

      区块链系统大约每10分钟创建一个区块,其中包含了这段时间里全网范围内发生的所有交易。每个区块中也包含了前一个区块的ID(识别码),这使得每一个区块都能找到其前一个节点,这样一直倒推就形成了一条完整的交易链条。从诞生之初到运行至今,全网随之形成了一条唯一的主区块链。 

 二、哈希算法 

       哈希算法是区块链中保证交易信息不被篡改的单项密码机制。哈希算法接收一段明文后,以一种不可逆的方式将其转化为一段长度较短、位数固定的散列数据。

      它有两个特点:1.加密过程不可逆,意味着我们无法通过输出的散列数据倒推原来的明文是什么;2.输入的明文与输出的散列数据一一对应,任何一个输入信息的变化,都必将导致最终输出的散列数据的变化。

 三、公钥和私钥 

      在区块链的话题中,我们还经常听到这样的词汇——公钥和私钥。这就是俗称的不对称加密方式,是以前的对称加密方式(使用用户名和密码)的提高。

       我们用电子邮件加密的模型来简单介绍一下:公钥就是给大家用的,你可以通过电子邮件发布,也可以通过网站让别人下载,公钥其实是用来加密/验章的。私钥就是自己的,必须非常小心保存,最好加上密码,私钥用来解密/签章,私钥由个人拥有。 

       在区块链中,使用公钥和私钥来标识身份,我们假设区块链中有两个人,分别是小黑和小白,小白想证明自己是真实的小白,那么小白只需使用私钥对文件进行签名并发送给小黑,小黑使用小白的公钥对文件进行签名验证,如果验证成功,那么就证明这个文件一定是小白用公钥加密过的。由于小白的私有只有小白才能持有,那么就可以验证小白确实是小白。 

       在区块链系统中,公钥和私钥还可以保证公布时网络点对点信息传递的安全。在区块链信息传递中,信息传递双方的公钥和私钥的加密和解密往往是不成对出现的。 

       信息发送者:用私钥对信息进行签名,使用信息接收方的公钥对信息加密。 信息接收方:用信息发送者的公钥验证信息发送者的身份,使用私钥对加密信息解密。 

 四、时间戳

       区块链中的时间戳从区块链生成的一刻起就存在于区块之中,它对应的时每一次交易记录的认证,证明交易记录的真实性。 时间戳是直接写在区块链中的,而区块链中已经生成的区块不可篡改,因为一旦篡改,生成的哈希值就会变化,从而变成一个无效的数据。 

 五、Merkle树结构

       区块链利用Merkle树的数据结构存放所有叶子节点的值,并以此为基础生成一个统一的哈希值。Merkle树的叶子节点存储的是数据信息的哈希值,非叶子的节点存储的是对其下面所有叶子节点的组合进行哈希计算后得出的哈希值。

       同样地,区块中任意一个数据的变更都会导致Merkle树结构发生变化,在交易信息验证比对的过程中,Merkle树结构能够大大减少数据的计算量,毕竟,我们只需要验证 Merkle树结构生成的统一哈希值就可以了。

       先写到这里吧。未完待续!

你可能感兴趣的:(对区块链的一些认知)