(为了方便大家,故事的文字版贴在这里。想看视频的朋友可以移步我的主页。)
从前,有一个小村庄,那里的人们自给自足。在村里,张三养猪,李四养牛。突然有一天,张三想吃牛肉,就想办法把他的两头猪换成了李四的一头牛。李四同意了。这种以物易物的交易在村里很流行,以满足自己的需求。我们把这种货币称为“实物货币”。
有一天,村民们觉得这样太不方便了,于是村长组织全体村民开会,商量如何解决这个问题。有人建议,可以用可分的、稀有的东西作为通用等价物,比如黄金,然后编制一份其他物品与黄金重量关系的价格表。只要大家都同意,难道事后不能只用黄金进行交易吗?村长觉得这个提议很好,就通过了,并且规定村里其他人都不能收黄金!只有村委会可以剥削,然后按每个人的劳动或上缴的物资分配给每个人。从此,人们开始用黄金买卖自己的商品。我们把这个时候的货币叫做“称重货币”。
好景不长,称钱的弊端逐渐显现。附近金矿不多,开采冶炼费时费力。再加上黄金磨损严重等一系列问题,村长再次召集全体人员开会讨论。有人提出,“我们不一定要用真金。找一张写着“一克黄金”的纸。交易的时候不能给这张纸吗?”村长觉得这个提议也不错,就补充说,只有村委会写好盖章的纸才能作为交易。此时,乡村进入了纸币时代,村委会承担了政府和央行的角色。
过了一段时间,很多人开始抱怨家里的纸币太多,总是丢东西。村长的儿子,小村长,很聪明。他对所有村民说:“我去找人记账。你可以自愿把纸币放在我的地方。以后交易的时候通知我,我直接增减双方账户。不用带纸钱就能出门!”村民们欣然同意。于是中枢系统虚拟货币诞生了~相当于我们现在的银行。
过了一段时间,有人发现村委会写的纸币越来越多,导致很多纸币被买了一辈。我们称之为通货膨胀,他们自己的钱被别人保管,所以担心风险。村里的会计改了我的账户怎么办?这时,一个自称“中本聪”的人站出来说,他设计了一个系统来解决这个问题。
“首先,我们要改造账本。第一,账本由私有变为公有。第二,以后不记录余额,只记录交易信息。想知道余额,通过计算就知道了。第三,我们流通的货币叫比特币。”
此言一出,村民们炸开了锅,但不记余额也无可厚非,公家账本也接受不了!大家都知道我有多少钱!
中本聪说,别慌,让我们这样做。为了隐私和安全,我们每个人都不必用真名交易。我为每个人随机生成一个号码。这个数在0到2的256次方之间,它的出现可能大致相当于宇宙中所有原子的数量,所以不用担心重复。我用一个固定的算法(Base58)把这个数变成一个字符串,这个字符串叫做私钥。你必须自己照顾它。私钥是你拥有比特币的唯一证明,也相当于你的密码。
5 kyzdueo 39 z 3 fprtux 2 qbbwgnnp 5 ztd 7 yyr 2s C1 j 299 sbcnwjss
有密码就要有账号。在私钥的基础上,你可以通过算法重新计算出一个公钥。在公钥的基础上,你可以通过算法计算出一个相对较短的字符串,这个字符串叫做地址。如果你想收钱,就告诉别人你的地址。如果你想付费,你需要告诉别人你的公钥和地址。公钥用于检查该地址是否是您的。不过不用担心,算法很安全,别人无法通过你的公钥计算出你的私钥!这就解决了交易安全性和公开性的问题。
为了解决通货膨胀,中本聪接着说:
比特币不可能无限发行。我们用一种机制来控制它的发行速度和数量。这样,找一些人负责整理书籍,大家同时做。谁先完成谁就有50个比特币的奖励,比特币只有这样发行,这是比特币的唯一来源。但是想要得到奖励并没有那么简单。他们需要找到一个特定的数字串,我们称之为哈希值。具体操作是
此页面的版本号
上一页的哈希值:prev_hash
所有者交易地址:merkle_root
更新时间:ntime
当前难度:nbits
用一个随机数x执行sha256函数运算,Sha256函数可以加密任何字符串,得到一个64位的十六进制数。只要参数稍有变动,结果就会面目全非,但只要参数相同,很多时候计算结果是一致的。而且操作过程不可逆!
SHA256(SHA256(版本prev _ hash merkle _ root ntime nbits x))目标
您可以通过更改x的值来获得sha256函数的结果,该值可以是0到2的32次方之间的数字。如果结果小于我们给定的目标值,我们将认为他是成功的。最直接的判断方法是sha256函数得到的64位十六进制数的前几位都是0(目前需要前18位都是0才能成功。)我们会奖励他50个比特币外加你的转让费。这里的每一页都称为一个块,整理图书的过程称为打包块,也就是俗称的挖矿。与每一页相联系的分类账叫做区块链。
为了控制发行数量,我们规定每十分钟产生的交易记录要写在一块上,然后矿工打包。一开始每打包一块会奖励50个比特币,之后每21万块奖励减半(约4年)。直到2140年左右,奖励不足的时候,大约会分发2100万个比特币。之后就不会再发了。届时矿工的奖励来源将是每笔交易的手续费。
因为有奖励,村里很多人都加入了整理书籍的队伍,也有人加入了队伍。同时大家,谁先算出合格的X值,就意味着谁会得到这个奖励。一个矿工工作完X后,很快就把消息广播到全村。这个时候别人就开始校对他的答案是否正确。如果6人以上确认,则本页面账本上的所有交易生效!矿工会很快开始计算下一页的x值。
没有余额,所以虽然张三转给李四的100个比特币,双方都写在了账上,但是交易还不能生效,也就是李四不能花这100个比特币,直到看到超过6个人确认了这一页的账单无误,并且整块打包,李四才放心。
至此,关于比特币的故事讲完了。你明白吗?