Why Block Chains
-
Block Chain 干嘛的:
一個(gè)可擴(kuò)充,不可更改的奕锌,de-centralized,distributed 的文件記錄系統(tǒng)
-
為什么需要文件記錄系統(tǒng):
如果不使用文件記錄系統(tǒng)瞄桨,互聯(lián)網(wǎng)上無(wú)法進(jìn)行資產(chǎn)的交易清酥,A給B轉(zhuǎn)賬100塊錢和A給B轉(zhuǎn)發(fā)1張圖片(的副本)是不一樣的。需要一個(gè)系統(tǒng)來(lái)記錄A少了100塊凿傅,B多了100塊
-
why 可擴(kuò)充:
因?yàn)殡S時(shí)都有新的數(shù)據(jù)需要記錄
-
why 不可更改:
交易記錄要是能改的話資產(chǎn)就混亂了缠犀,等于有人黑進(jìn)了銀行改了賬戶
-
why de-centralized:
去掉了銀行/paypal這樣的中間機(jī)構(gòu)数苫,好處:
- 更可靠,銀行可能會(huì)破產(chǎn)
- 更高效辨液,所有人共同存儲(chǔ)這個(gè)記錄
- 防止了集權(quán)(噓)
-
why distributed:
穩(wěn)定性虐急,reliability
How It works
一條block chain由一個(gè)接一個(gè)的block構(gòu)成,每個(gè)block包括:
- Nonce:(一個(gè)數(shù)值)
- Data:(需要存儲(chǔ)的各種東西)
- Prev:(上一個(gè)block的hash值)
- hash:(以上三坨信息加在一塊滔迈,map出來(lái)一個(gè)hash值)
其中止吁,hash func是固定的,hash value會(huì)有一個(gè)valid條件燎悍,比如說(shuō)要求前4位都是0敬惦;所以就需要找一個(gè)Nonce來(lái)滿足這個(gè)valid條件,找Nonce的過(guò)程就是mining(計(jì)算復(fù)雜度蠻高的谈山,找一次大概10分鐘俄删?)。找到Nonce之后奏路,這個(gè)block就生效了畴椰,被加進(jìn)鏈條里面。
對(duì)任意一個(gè)block思劳,修改他的data的任意一個(gè)字符迅矛,他的hash value就變了,這時(shí)候需要重新找一個(gè)nonce使得它的hash value滿足valid條件潜叛;找到之后,會(huì)發(fā)現(xiàn)因?yàn)閔ash value變了壶硅,他的下一個(gè)block也不滿足valid條件了威兜,需要重新找Nonce。那個(gè)block之后的所有鏈條都不valid了庐椒,并且你無(wú)法把它的所有block重新搞成valid因?yàn)樗€在后面不斷更新椒舵,速度趕不上。這條鏈就廢了约谈,之后大家就使用存在別的地方的鏈笔宿。篡改失敗了( ??? ? ??? )
別的好處
因?yàn)檫@個(gè)性質(zhì),它不僅可以用來(lái)在網(wǎng)上做資產(chǎn)交易棱诱,它其實(shí)可以存儲(chǔ)任何不想被篡改的東西泼橘。比如說(shuō)合同啊,國(guó)家歷史啊啥的迈勋。