什么是区块链?(任何人都能看懂的一篇科普文章)

在这里插入图片描述
从一个日常场景出发,过年期间大家在微信互相发红包,每一次转账都是一次交易行为,每过去一秒,微信就得处理1.4万笔这样的转账,你能正常转账的前提,是因为微信知道你有多少钱,而这些钱又放在人民银行的专户里记账,而你也相信微信和银行体系背后的无数员工,不会搞错你的余额,
在这里插入图片描述

但如果没有这些可信的第三方,比如微信记错账导致信任崩塌的前提下,在一个完全匿名的去中心化网络里,你怎么给我打钱?线上交易的成立前提其实因为加入了担保第三方,解决了信任问题。
在这里插入图片描述

2008 年 11 月 31 号,署名为 Satoshi Nakamoto 的 ID 用一篇 9 页的论文解决了这个问题。现在我们知道,这个被称作中本聪的神秘人和这 9 页纸凭空创造了相当于1万亿人民币的比特币和支持比特币运转的技术 ——区块链。
在这里插入图片描述

大家有没有想过,现实生活中,我们能够完成各种交易的前提是什么?我个人理解是共识,字典的解释是大家都可以接受的观念或者决定,我通过微信向马云转账100块的前提是:我和马云就微信记账不会出错这一结论达成了共识。在没有可信任的第三方之后,最大的问题是我们每一个人都无法互相信任。所以在区块链的世界,转账就得发广播,目的是让所有人都得知道网络里每一个人、每一笔钱的来龙去脉。大家好,我给马云转账100块,这是我的电子签名C8253XXX,大家会通过电子签名验证,这句话确实是我说的,再把这笔账记在账本上,我就少了100块,马云多了100块。但是大家怎么知道我真的有100块,你的账本会帮你确认,账本就是区块。
在这里插入图片描述

区块连起来就是区块链,它记录了比特币从创立到今天所有的交易记录,截止到2021年大概有60万个区块,每个区块大概记录了2000-3000笔交易,包括你我在内的的每一个账户,有多少钱,从哪里来,花到哪里去,一清二楚,透明公开,可以想象。
在这里插入图片描述
在区块链的网络里,所有人都拿着一份相同且实时更新的账本,所以我说要付给马云100块的时候,大家的账本就会开始回溯,检查我到底有没有100块,如果没有,转账无效。不难发现,账本的可靠性是数字货币的基石。如果账本出了问题,什么币都不好使。
但这就引出了个新问题。谁来给大家记账?怎么保证账本不被造假?如果每一个人都能记账,每个区块里包含的交易和交易顺序可能都不一样。
在这里插入图片描述
如果有故意记假账的,那就更乱了。不可能得到一个大家都能接受的账本。所以记账的人得让所有人都能接受,这样大家的账本才能统一。这也被称为共识机制。今天的各种区块链有各种不同的共识机制。而中本聪的方案是做题谁先把答案算出来,谁就有权利记账。这一期制被称为 pow——proof of work,工作量证明的本质是穷举,你的设备算力越强,算出答案的可能性就越高。这里具体算指的是什么呢?
首先我们打开一个区块账本,一个账本包括区块头,交易数量,交易详情等信息。对区块头做二次SHA256计算,就能得到这个区块的哈希值,SHA256可以简单理解成一个封闭的黑盒算法,如下所示,一个输入数据丢进去,会产出一串数字。
在这里插入图片描述
而工作量证明就是通过修改随机数nonce的值,来使得区块头经过二次SHA256计算后得到一个前n个数字都是0的哈希值,其实每一位数也就两种可能 1 和0。
在这里插入图片描述
所以每改变一次随机数的成功概率就是 2 的 n 次方分之一。比如 n 是1,也只要第一个数是 0 就行,成功率就是 1/ 2,而网络里参与计算的算力越强,要算的0就越多,工作量证明的难度也越大。今天比特币网络里的 n 大概是76,那成功率就是 2 的 76 次方分之一,差不多是 755 万亿分之一。用一块 8000 块的英伟达 rtx2080 t i 显卡,大概要算 1407 年。n由区块链的维护者全局控制,保证一个区块的产出时间在10分钟左右。
在这里插入图片描述
要算对确实不容易,但只要你算出来了,所有人就可以在瞬间验证你算没算对。如果确实没问题,大家就会把这个区块连接到账本上,开始打包计算下一个区块。这样网络里的所有人就有一份相同且实时更新的账本了。而为了让大家有动力做题记账,第一个完成区块打包的节点会获得系统奖励,现在是12.5个比特币,差不多是 200 万人民币。这个过程也被称为挖矿。

欢迎评论区留言交流讨论

引流:大厂 java 字节跳动 阿里巴巴 腾讯 面试 设计模式 笔试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

挖你家服务器电缆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值