? ? ? 今天嘿辟,讀到一篇文章,非常淺顯易懂地舉例說明了節(jié)點片效、分布式記賬红伦、區(qū)塊鏈等相關知識。我覺得非常好堤舒。僅復制過來色建,作為學習參考。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? 一. 我們來假設一個場景---某所學校里的一個班級舌缤。阿聰老師為了激勵同學箕戳,會對表現良好和成績進步的同學獎勵小紅花,這些小紅花可以在班級的書架里面兌換動漫書国撵、小說或者漂亮的文具等等陵吸。此舉很受學生們的歡迎,慢慢的同學之間的一些交易介牙,也開始用小紅花作為交易媒介壮虫。比如小強要借我的《火影忍者》,就要支付小紅花給我环础,我得到的小紅花就可以去班級的書架上租我愛看的小說囚似。這樣一來,小紅花就成為了我們班級的貨幣线得。
? ? ? 但是這個體系最終卻崩潰了饶唤,因為有同學為了能多換書籍和文具,開始自己制作小紅花贯钩。小紅花的量越來越多暮屡,超過了阿聰老師往書架補貨的速度后控,最終東窗事發(fā),導致同學們再也不相信紙片小紅花了。
? ? 二.看到這種情況楔绞,阿聰老師想了一個辦法撑刺。不再用實物形式的小紅花了隧膘,而是記賬钙态!每個同學都有一個屬于自己的“小紅花賬本”,同時在班長那里設置“小紅花總賬”吗坚。當交易發(fā)生的時候揭措,同學在班長的見證下胯舷,填寫自己的賬本。班長看到一切正確绊含,就把這筆交易記錄在“小紅花總賬”上桑嘶。比如,我想租借小明同學的漫畫躬充,我要支付給他1朵小紅花逃顶。那么我就在我的賬本上記錄“小紅花-1”,小明在他的賬本上記錄“小紅花+1”充甚,然后我們去拿給班長看以政,班長看后覺得沒問題,就在“小紅花總賬”上記錄這筆交易伴找。如果有同學想偷偷修改自己的賬本盈蛮,但是跟班長的總賬對不上,就會發(fā)現問題技矮。
? ? ? 但是這個貨幣體系卻崩潰了抖誉,因為突然有一天,有同學發(fā)現跟班長同桌的女生總是有用不完的小紅花衰倦。這個過程我可以寫一萬字袒炉,就不多說了,反正你懂的樊零。
? ? ? 三.阿聰老師確實是聰明的老師我磁,看似很難的問題,阿聰老師想出來一個絕妙的解決辦法驻襟。(有人可能會說夺艰,讓紀律委員監(jiān)督,這是治標不治本的沉衣。)
阿聰老師的辦法如下:
第一郁副, 不再設立總賬。
第二厢蒜, 每一筆交易全班同學都要記賬,不論這筆交易是否涉及到你烹植。
第三斑鸦, 每天下午全部課程結束后,全班同學一起計算今天發(fā)生的交易草雕。
第四巷屿, 每天最先計算出來的同學,獎勵2朵小紅花墩虹。
第五嘱巾, 在每天計算之后憨琳,一筆交易只有與絕大多數同學記錄的一致,才能被承認旬昭。
舉個例子:我想租借小雪同學的小說篙螟,需要支付給小雪1個小紅花。我把這筆交易記在我的賬本上问拘,然后把付款的單子傳遞給前后左右的同學遍略,收到我單子的同學記錄這筆交易,然后再傳給他們周圍的同學骤坐,直到全班都記錄了這筆交易绪杏。這樣一來,有人要偷偷修改賬本就很難了纽绍,他必須與全班同學的賬本對賬蕾久,只有絕大多數(超過半數)的同學賬目能跟你對上(也許有個別同學記錯賬),這筆交易才能得到認可拌夏。同時還調動了同學們計算賬目的積極性僧著,因為最早計算出來的同學有獎勵。
? ? ? 哈哈辖佣,現實生活中霹抛,不會有這么變態(tài)的班級和老師啦,我就不再繼續(xù)拓展了卷谈。我們來看這個模擬的場景杯拐。
① 這個場景中,賬本上的小紅花就是一種數字貨幣世蔗,相當于比特幣端逼。
② 全班同學組成的網絡就是一個p2p網絡。每個同學就相當于一個節(jié)點污淋。
③ 同學+賬本共同組成的系統(tǒng)就好比一個區(qū)域鏈顶滩。
④ 不存在一個保存在班長那里的“小紅花總賬”,這就是去中心化寸爆。
⑤ 最先計算出來的同學會得到獎勵礁鲁,這個就是挖礦。
⑥ 有個同學用計算器赁豆,算的比別人快仅醇,這個計算器就相當于礦機。
⑦ 如果同學的賬本上面都不寫自己的名字魔种,而是用自己想的代碼表示析二,這就是匿名性的體現。
? ? ? 四.現在我們把班級的例子搬到現實的網絡世界中來。就是這個樣子:
? ? ? 每一個記賬的同學叶摄,就是一個節(jié)點属韧。在網絡中,用戶在電腦上運行比特幣客戶端軟件蛤吓,這樣的電腦稱為一個節(jié)點(node)宵喂。這些節(jié)點聯系在一起,就形成了一個p2p網絡柱衔。這些網絡的節(jié)點都參與記賬樊破,就形成了一個分布式存儲的系統(tǒng)---區(qū)域鏈。
? ? ? 在網絡中唆铐,安全性是一個重要的考量哲戚。比特幣系統(tǒng)采用“密鑰對”來保證安全性。密鑰對就是一個私鑰對應一個公鑰艾岂。
? ? ? 五.回到班級的例子中顺少,假設每個同學都有自己的密碼(私鑰),然后去阿聰老師那邊根據私鑰領取一個對應的公鑰王浴。這個公鑰就作為童鞋們的賬戶名和地址脆炎。我要支付給小明,就填寫小明的公鑰收款氓辣,我的公鑰匯款秒裕,其他同學看到我的公鑰匯款,然后可以去阿聰老師那邊驗證钞啸,這個公鑰是不是真實的几蜻。是不是隨便瞎掰了一個賬戶。不過我的私鑰他們不知道体斩。
? ? ? 網絡中也是這樣梭稚。每個參與者,隨機生成一個字符串絮吵,這是你的私鑰弧烤,然后這個私鑰通過轉換變成公鑰(也是一個字符串),這個公鑰就是你的比特幣賬戶蹬敲。我向其他人轉賬的時候暇昂,我把單子發(fā)給其他的節(jié)點,并且傳播到全網伴嗡。網絡上的其他節(jié)點可以使用對應的公鑰對交易進行驗證急波,看看這個賬戶是不是來自一個合法的賬戶持有者。
? ? ? 這時候闹究,礦工登場了幔崖,他們要驗證交易食店。每10分鐘的數據都被打包成一個“數據塊”渣淤。就好比班級里面計算每天的數據一樣赏寇,在比特幣系統(tǒng),是按10分鐘的交易數據了計算的价认。
? ? ? 計算的方式是用哈希函數嗅定。這個不多說了,計算的勝出者用踩,就會得到一定比特幣的獎勵渠退,這個獎勵最初是50比特幣,今后每產生210000個區(qū)塊脐彩,比特幣數量都會依次減半碎乃。直到第33次減半時,每個塊產生0.0021個新比特幣直接減為0個惠奸。我們知道比特幣大約每10分鐘產生一個區(qū)塊梅誓,而210000個10分鐘接近4年。所以比特幣挖抗的收益是大概4年降低一半》鹉希現在已經降低了2次梗掰,目前的獎勵是12.5個比特幣。
? ? ? 至于為什么這么設定嗅回,這個就要問比特幣的發(fā)明者—中本聰了及穗。如果你能找到他的話。