区块链简介 1

这是我第一次写博客,有些地方可能表示不清楚,还请见谅。

区块链是比特币的重要底层技术,在 2008 年中本聪创造比特币时,也带来了互联网的一场新的革命。

区块链,简而言之就是存放在网络云端的一条通过哈希指针将所有区块连接在一起的长链,每一个区块都存放着一笔区块链上的交易数据。下面将以比特币为模型介绍区块链。

1 哈希指针是什么?

首先介绍一下哈希函数,哈希函数是一种将不定长的数据块映射到定长的数据块的函数,可以看成是这个不定长数据块的指纹;当原数据块发生变化(即使这个变化很小)时,哈希值,也就是哈希函数的输出,都将发生很大的变化。

设 f(x) 是一个哈希函数,我们认为,计算

y = f(x)

是容易的,而知道 y,反推回 x,则是计算上不可能的(比特币区块链上使用的哈希函数是 SHA-256)。

而区块链,就利用哈希函数的指纹特性,在每一个区块的区块头部都存放一个哈希值,这个哈希值就是上一个区块数据的哈希值,这样,就相当于有一个指针,指向了上一个区块,一个一个的区块,就被连接成一个区块链系统。

2 区块究竟由什么组成?

一个区块,由区块头和存放交易数据的区块体组成,区块头的数据结构如图所示:

时间戳是这个区块生成的时间,而工作量证明和挖矿难度则与比特币挖矿有关(此问题将在后续文章中介绍),而对哈希值的理解则参考上节。

3 在比特币网络中如何进行可信的交易?

我们知道,现实世界中,纸币利用各种防伪手段和国家机构来杜绝假币,而在网络上,数字文件可以被完美地复制,这就极可能出现 “双花问题”;假设 A 向 B 转账 10 个比特币,此时 A 的比特币就将转移到 B 中,但如果没有防御机制,A 就可以将这个转账记录完美复制出来,并将这 10 个比特币同时转到 C 的账户上,这就是 “双花问题”。

在比特币区块链系统中,中本聪的解决方法是:

A 向 B 转账 10 个比特币,这个交易信息由 A 进行数字签名后,利用 B 的公钥加密,再将交易信息在区块链网络中广播,此时 B 还无法收到这 10 个比特币,需要等到区块链网络中其他节点的确认,并由矿工将这个交易信息打包成新的区块,连接到区块链中后,这 10 个比特币才被 B 所有,因为这 10 个比特币的信息将只能由 B 的私钥持有者能够使用,A 已经失去了这 10 个比特币的所有权,也就无法再复制转账给 C,这就解决了 “双花问题”。

在这个过程中,A 和 B 是两个互不信任的节点,且没有第三方可信机构来居中协调,而是直接以网络来担任这个可信中介。

4 挖矿是什么意思?矿工在做什么工作?

比特币网络中,任何转账行为都需要得到其他网络节点的确认才能成为一个新的区块,而生成新的区块的过程,就是挖矿。

还记得区块的数据结构吗?(不清楚请回头再看一下)在区块头有一个工作量证明,矿工在将未确认的转账信息打包成新的区块时,需要计算这个哈希的具体信息,即知道 y,反推到 x,我们说这是计算上不可能的,因为这将消耗大量的计算量(SHA-256的反函数目前的计算方法只有穷举法)。矿工通过不断的穷举计算,得到最终的结果后,在工作量证明中将会记录该矿工的穷举工作,而要验证这个结果的正确性,只需要进行一次哈希计算即可。矿工在挖矿成功后,比特币系统将会奖励矿工 12.5 个比特币(奖励的比特币数量每 4 年减半一次),这其实也算是一个特殊的交易,即 “创币交易”,这样,矿工为了自己的利益,将会相互竞争(比特币网络的矿工不止一个,只有第一个算出结果的矿工才能得到奖励。而这个激励机制也促进了矿工对比特币网络系统的维护。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值