区块链的核心技术

区块链的技术基石主要有:

  • SHA256 Hash
  • 公钥加密技术
  • 工作量证明机制

(1)SHA256 Hash

区块链使用的核心哈希算法是 SHA256,计算后的值不能被解密回原始内容,它是单向的,而且不管原始内容有多少,其结果的长度都是固定的,例如:

可以看到,即使原始内容的差异非常小,其结果的差异却是极大的。

SHA256 可以实现免碰撞,即不会出现输入x≠y,但是H(x)=H(y)

SHA256 会有2^256种输出,如果我们进行2^256+1次输入,那么必然会产生一次碰撞,我们可以计算一下,假设一台计算机以每秒10000次的速度进行哈希运算,要经过10^27年才能完成2^128次哈希,所以碰撞的几率是极其小的。

(2)公钥加密技术

这个加密技术帮助用户创建一个公钥和一个私钥,公钥是可以分享给他人的,私钥是需要自己秘密保管的。

如果 Chandler 给 Joey 转一些比特币,这笔交易中会包含3部分信息:

  • Joey 的比特币地址(Joey 的公钥)
  • 交易的比特币数量
  • Chandler 的比特币地址(Chandler 的公钥)

所有这些数据以及加密数字签名都会通过网络发送进行验证。数字签名是Chandler的比特币地址和他向joey发送的数量的组合的哈希值,这个数字签名是通过私钥加密的。

当矿工收到这个数据后,他会进行验证,会同时做两项工作:

  1. 把所有非加密数据(交易金额、两个人的公钥)放入哈希算法中,得到一个哈希值(例如为 Hash1)
  2. 使用 Chandler 的公钥对数字签名进行解密,得到一个哈希值(例如为 Hash2)

如果 Hash1 与 Hash2 相同,那么它就是一个合法的交易。

(3)工作量证明

区块链中每个人都平等的拥有账本,那么谁来向区块链添加区块?如何信任这个人呢?

为此,有了工作量证明 POW这个概念,可以理解为解一道复杂的题,需要付出大量的计算,做这个工作的人被称为“矿工”。这些矿工的工作就是验证交易并解决与创建块相关的复杂数学难题。

每个区块都有一个哈希值,是几项数据的组合,包括:

  1. 前一个区块的哈希值
  2. 交易数据的哈希值
  3. nonce

最终的哈希值必须以指定数量的0开头才行。

举个例子,给定的一个基本的字符串 Hello, world!,我们给出的工作量要求是:可以在这个字符串后面添加一个叫做nonce的整数值,对变更后的字符串进行SHA256哈希运算,如果得到的哈希结果(以16进制的形式表示)是以"0000"开头的,则验证通过。

为了达到这个工作量证明的目标。我们需要不停的递增nonce值,对得到的新字符串进行SHA256哈希运算。按照这个规则,我们需要经过4251次计算才能找到恰好前4位为0的哈希散列。

谁先找到这个 nonce 谁就是获胜的矿工,可以添加他的区块到区块链中,所有人都可以进行验证,如果正确就更新他们的区块链,继续计算下一个区块。

小结

希望通过上面的简单介绍,能让大家对区块链技术有个大体了解,之后会详细介绍区块链技术的应用细节。

原文发布于微信公众号 - 性能与架构(yogoup)

原文发表时间:2018-05-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏智能计算时代

Hyperledger Fabric与其他块链实现有何不同?

[表格]

27130
来自专栏kalifaの日々

比特币2140年将耗尽?我用python算了一笔账

首先,比特币是一种直接进行点对点交易的虚拟货币,每一笔用比特币进行的交易都需要记账。

10310
来自专栏华仔的技术笔记

以太坊白皮书(原版译文)以太坊(Ethereum ):下一代智能合约和去中心化应用平台

514100
来自专栏区块链深度

区块链是什么(上)超通俗的区块链入门干货

区块链是比特币的底层技术,不等同于比特币。有人说比特币就是一场泡沫,甚至放话“比特币是传销”。区块链作为继互联网后的新一波技术浪潮,本身无罪,况且炒币只是区块链...

46790
来自专栏程序你好

区块链 - 区块链基础知识入门

30910
来自专栏码洞

面向程序猿的比特币教程之数据结构基础

最近才开始了解区块链,花了一些时间使劲钻研了一下,大致理解了比特币区块链的基本结构和运行机制。比特币说复杂也不复杂,但是如果深究下去,绝不是非常简单。

10110
来自专栏企鹅号快讯

《以太坊白皮书》笔记(1)——比特币介绍

#1 State Transaction System State 在 Bitcoin 当中,"state" 代表了所有被挖出且没有被消费的货币的集合 (UT...

23370
来自专栏企鹅号快讯

谈谈我对区块链的理解

通过之前研究的十大前景行业(带来高收入的 10 大开源技术,可以涨工资了!)提到人工智能,区块链,大数据都是今年以及2018年的技术热门趋势,本文专门介绍下什么...

29970
来自专栏ImportSource

什么?区块链中的hash算法!施主,快扶老衲起来

hash算法有很多种。比如MD5、SHA1、SH2(SHA224、SHA256、SHA384和SHA512)、SH3、RIPEMD-160。

15430
来自专栏架构师之路

1分钟了解“挖矿”的本质

上一篇《1分钟了解区块链的本质》,介绍了什么是区块链,区块链是一个没有管理员,每个节点都拥有全部数据,高可用的分布式存储系统。 文章的留言里,不少朋友会用比特币...

442110

扫码关注云+社区

领取腾讯云代金券