有人可以通俗点讲解一下区块链技术吗?
先举几个案例,区块链可以解决下面的3个问题。
1.币小宝买彩票,每次都是买完后30分钟才开奖,币小宝怀疑它有内幕,但是没有证据。
2.911事件中,纽约银行因为所有服务器放在大楼内,导致数据全部被毁,1个月后不得不破产清算。
3.老王欠了币小宝8000块,一直不还,走司法程序又太麻烦,又无可奈何。
区块链是一个分布式的数据库。如果把区块链比作一个账本,那么:账本的每一页就是一个区块,页面里的内容就是交易记录,页码就是哈希值,区块与区块之间通过父哈希链接在一起,构成“区块链”。
区块链是一个包含所有历史记录的总账本。以比特币(比特币用的是区块链技术)为例,从比特币发行至今的交易信息均被记录在区块链上,通过区块链浏览器可以查询。
每一个区块由区块头和区块体构成。区块头是由父哈希(上一个区块的哈希值)、时间戳、难度目标等信息构成,区块体由交易记录和其他信息构成。区块头经过两次SHA256加密算法得到区块哈希值,哈希值是区块的身份标识符,与身份证号码类似,具有唯一性。严格来说区块哈希值并不包含在区块结构内。
区块链的转账过程—以比特币为例。
假设币小宝给老李转账0.1BTC。需要分三步:
1.币小宝发起交易之后,转账消息会首先向区块链网络广播。
2.矿工(节点)对签名进行验证,验证成功后进入交易池,等待打包。
3.矿工打包并计入区块。矿工打包交易时优先选择矿工费高的、占用内存小的交易,当矿工挖矿成功时,会向全网广播该区块,通过验证后,该区块加到区块链上,开始下一轮的挖矿。当区块成功上传至区块链网络后,币小宝这笔转账完成。
备注:平时银行转账的验证由第三方机构银行来进行验证,而在区块链中由于没有第三方,验证工作由网络中的节点进行。实际上,比特币区块大小被中本聪设定为1M,由于不同的交易记录大小不一样,每一个区块大约包含2000笔~3000笔交易。为了保证速度,比特币网络大约每10分钟就会产生一个区块。
区块链原理。
(1)矿工与挖矿。
矿工也称为节点,所有的节点构成P2P(点对点)的区块链网络。这种分散的P2P网络,不需要任何第三方中央机构的信任就可完成交易。由于区块链网络没有中央服务器,所以使遭遇不可抗力的事件,依然可以稳定运行。
(2)矿工为什么要记账呢?这里以比特币为例进行说明。
记账的过程就是挖矿的过程。挖矿可以获得奖励:一是手续费。二是新的区块奖励。转账时用户自行设置手续费,手续越高,矿工会优先打包,意味着转账速度越快;最初一个区块奖励50枚比特币,大约每4年减半一次,现在一个区块奖励6.25枚比特币。区块挖完之后,矿工只有手续费奖励。
比特币网络每10分钟会出一个区块,每一个区块只有一个矿工可以获得。为保证新块挖出的速度,比特币用难度系数调整挖矿难度。具体来说,挖的人越多(算力),难度越大,反之亦然。
本文采摘于网络,不代表本站立场,转载联系作者并注明出处