区块链技术栈-密码算法

密码算法算法

  密码算法的应用在区块链中是个很巧妙的东西,它应用的点也不少,咱们在这里不详细介绍密码算法的原理,就从几个关键的应用来介绍一下。数据结构

  首先咱们回顾一下区块链帐本格式,经过上述讲解咱们已经知道,区块链帐本就是链接起来的一个个区块,那么究竟是经过什么来链接的呢?学过数据结构的朋友都知道,在数据结构中有一种变量叫作指针,它能够用来指向某数据的地址,那么区块的链接是否是用过这样的方式呢?生活中地址链接的例子不少,好比路牌、门牌等,然而区块之间的链接,每每都不是靠数据地址来链接的,而是靠一种叫作哈希值的数据来关联的,什么叫哈希值?这是经过密码算法中的哈希算法计算得出的,哈希算法能够经过对一段数据计算后得出一段摘要字符串,这种摘要字符串与原始数据是惟一对应的,什么意思呢?若是对原始数据进行修改,哪怕修改一点点,那么计算出来的哈希值都会彻底变化。区块链帐本对每一个区块都会计算一个哈希值,称为区块哈希,经过区块哈希来串联区块。这里有个很好的做用就是,若是有人篡改了中间的某一区块数据,那么后面的区块都要进行修改,这个时候并非简单的修改一下后面区块的地址指向就能结束,因为后面的区块是经过区块哈希来指向的,只要前面的区块发生变更,这个区块哈希就无效了,就指不到正确的区块了。区块链

  另一个对密码算法的应用就是梅克尔树结构,梅克尔树在以后会详细讲解,咱们先初步认识一下,经过上述讲解咱们知道,每一个区块会被计算出一个哈希值,实际上,除了整个区块会被计算哈希值以外,区块中包含的每一笔事务数据都会计算一个哈希值,称为事务哈希,每个事务哈希均可以惟一的表示一个事务,对一个区块中全部事务进行哈希计算后,能够得出一组事务哈希,再经过对这些事务哈希进行加工处理,最终得出一颗哈希树的数据结构,哈希树的顶部就是树根,称为梅克尔根。经过这个梅克尔根就能够将整个区块中的事务约束起来,只要区块中的事务有任何改变,梅克尔根就会发生变化,利用这一点能够保证区块数据的完整性。spa

  固然,密码算法在区块链系统中的应用还远不止这些,好比经过密码算法来建立帐户、地址、签名交易事务等,这些应用在后续会逐步介绍。指针

相关文章
相关标签/搜索