2017年9月6日 星期三

用白話文解釋什麼是區塊鏈?

https://steemit-production-imageproxy-upload.s3.amazonaws.com

最近比特幣的投資熱潮簡直到了頂點,讓我不得不想辦法跟一下流行,想辦法了解一下。不過許多介紹區塊鏈的文章真的還是太艱深、太難理解了,所以我試著看能不能用最簡單的方式來介紹。

什麼是比特幣?

在講區塊鏈之前,先講「什麼是比特幣」,一方面對大家比較容易了解,一方面直接從實際的應用面來切入。
比特幣是一種P2P形式的數位貨幣,P2P就是Peer to Peer,就像以前有一個軟體,叫ezPeer,大家用那個軟體下載mp3,不是從網站下載的,而是從同樣有裝ezPeear的使用者那邊下載的,所以叫做點對點,而點對點的傳輸意味著一個「去中心化」的支付系統。

什麼叫去中心化?

就是沒有人管,簡單來說我們的中央銀行(簡稱央行,13A總裁彭淮南上班的地方),它負責印鈔票,嚴格來說是發行新台幣,管控新台幣在巿場上的流通數量,例如巿場上的錢太多,它就發行債券,把債券賣給投資者,把新台幣收回來,不給流通;或是巿場上的錢太少,為了鼓勵投資,就印新的鈔票出來,把債券買回來,讓投資者手上有錢,把錢拿來做其他的投資。但是印鈔票會讓東西變費,因為巿場上的東西就是那麼多,一個便當假如是100塊,如果今天央行多印一倍的鈔票,並不會讓大家的錢變多,而是讓一個便當變成200塊,就是所謂的通貨膨帳。所以100塊和200塊只是一個數字,能買到多少東西比較重要(購買力)。
上面扯到經濟學太遠了,簡單說,新台幣就是受央行控管,而且由央行和各家銀行來記帳,但是比特幣是不受控管的,應該說不是用印鈔票或是回收鈔票來控管,而且記帳是存在網路上的每一台電腦(節點)裡。它依據特定的計算方法,通過大量的計算產生,比特幣使用整個P2P網絡中眾多節點構成的分散式資料庫來確認並記錄所有的交易行為。
下圖說明了,記帳從原本的集中式帳本,改變成分散式帳本的示意圖。
http://banknxt.com/wp-content/uploads/2015/07/Santander-image.png

比特幣的安全性-基於密碼學的設計

比特幣使用密碼學的設計來確保貨幣流通各個環節安全性,沒人可以大量製造比特幣來人為操控幣值(也就是不會重複支付)。就是所有的交易都被加密,而且是匿名的,交易記錄都能夠確保真實性,無法造假,例如A付比特幣給B,可以確認「A真的有比特幣」、A的比特幣「真的轉帳給B」、「B的比特幣變多」,而且交易記錄都被加密,所以查不出來A和B是誰(所以可以洗錢)。

通貨緊縮的貨幣-數量不會改變

比特幣與其他虛擬貨幣最大的不同,是其總數量非常有限,雖然可以通過挖礦來產出,但它的總量將被永久限制在2100萬個,每經過四年,10分鐘內挖出的比特幣會減半,預計在2140年挖完,挖完就再也挖不出來了。

什麼是挖礦?

所謂“挖礦”實際上就是用電腦解決一項複雜的數學問題,來保證網路上分佈式記帳系統的一致性。比特幣網絡會自動調整數學問題的難度,讓整個網路約每10分鐘得到一個答案,就是數據塊。隨後比特幣網絡會新生成一定量的比特幣作為獎勵。所以挖礦就是一直在計算加解密的資料,然後記錄交易,需要計算能力很強的電腦,尤其是專門拿來挖礦的,叫做挖礦機。
https://bluenotes.anz.com/content/dam/bluenotes/images/articles/2016/April/venterblockchainchart5.png/_jcr_content/renditions/original

比特幣的數量限制

2009年比特幣誕生的時候,每一筆挖礦的賞金是50個比特幣。誕生10分鐘後,第一批50個比特幣生成了(代表第一個區塊產生-創世區塊),而此時的貨幣總量就是50。隨後比特幣就以約每10分鐘50個的速度增長。當總量達到1050萬時(2100萬的50%),賞金減半為25個。當總量達到1575萬(新產出525萬,即1050的50%)時,賞金再減半為12.5個,到最後全部賞完,就是挖完了。
所以比特幣貨幣總量增長的速度會越來越慢。事實上,87.5%的比特幣都將在頭12年內被“挖”出來。而且使用比特幣的人越來越多,代表人們拿錢買比特幣,讓比特幣的總巿值越來越大,所以錢就越來越大,一塊比特幣能買的東西越來越多,當然目前的趨勢是這樣,未來是否會膨脹下去?我也不敢保證,只能說巿場上看好的人蠻多的。
這就是為什麼大家都要買比特幣的原因,因為比特幣的數量不會改變,不受某個單為控管,亂印鈔票,而且它太方便使用了,很多在海外工作的勞工,為了把錢匯回國內,先換成比特幣,再回國把比特幣賣掉,中間不用透過銀行收取高額的換匯,以及轉帳手續費,而且轉帳速度快,很快就確認完畢,所以大家都花錢買比特幣,讓比特幣的價格越漲越高。有名的WannaCry也是勒索比特幣,因為轉帳太方便了,而且又有匿名性。
在P2P網絡裡,每個節點運行著相同的核心算法,從而保證所有節點都有相同的“認知”:誰與誰發生了交易、比特幣是否真實的、“同一個”比特幣是否被重複支付等等。

為什麼無法造假?

如果要造假,那麼就需要與整個網絡的1/2的節點(挖礦的電腦)進行競爭,有點類似“舉手錶決過半數”的意思,反之,如果自己沒有話語權,也就無法得到其他節點的認可,也就不能造假了。並且,比特幣系統已運行了近8年的時間,“時間就是力量”,想要與整個系統對抗,靠某個人的力量是不可能的。也正是如此,比特幣才非常安全。

不是很安全,那為什麼有駭客攻擊?
因為駭客攻擊的不是比特幣的計算,是用傳統攻擊方式,攻擊「管理比特幣的網站」、或是偷取某些人的比特幣帳戶、或是使用勒索病毒,例如有名的WannyCry攻擊,並不是用什麼更高超的技術,除非有人可以直接破解比特幣的加密,而且可以駭入全球半數以上的電腦,這似乎沒有人可以做到啊。所以網路上有幾台電腦的帳本被摧毀,相同的帳本還是在網路上的其他電腦中。
用一個簡單的例子:
不會因為網路上有幾台放A片的PC掛掉,你就不能下載波多野結衣最新的A片。你還是可以用BT (比特慧星) 下載到最新的A片。
終於有一段話容易了解了吧?
呃......這是別人教我的例子。
挖礦本身就是加密和解密,都已經非常累人,用盡大量電力和電腦運算能力,破解更是難如登天。

到底區塊是什麼?

在比特幣系統裡,只有轉賬一種交易,即使是挖礦產生的比特幣,也可以看成是從某個核心賬戶轉出的交易。系統為了對交易進行“快速”確認,如果採用所有節點(電腦)對每個交易進行驗證,會使整個系統空前複雜,因為比特幣的交易不斷在世個各個角落發生,為了避免這種“爆炸”問題,中本聰(比特幣發明者)將多個交易打包成一個塊,在部分節點對交易驗證後,其他節點只需驗證這一個塊的信息即可,從而大大提高效率。這個塊正是大家耳熟能詳的【區塊】。


上面這段話寫得很精簡,接下來用一系列的圖來表示:

一群節點(電腦)驗證一些交易,一些交易被打包成一個區塊,驗證完後,告訴其他節點(就是把資料散播到網路上的所有帳本)。
https://image.slidesharecdn.com/understandingblockchains-150715160546-lva1-app6892/95/understanding-blockchains-19-638.jpg?cb=1437142392

挖礦本身,就是在驗證並記錄交易,解數學問題,驗證完會得到獎賞,以及交易手續費。
https://image.slidesharecdn.com/bitcoin-sfmw-150408050025-conversion-gate01/95/bitcoin-banking-and-the-blockchain-7-638.jpg?cb=1428469581
一群節點驗證完一個區塊,通知其他節點,就是把帳本複製過去。
https://bluenotes.anz.com/content/dam/bluenotes/images/articles/2016/April/venterblockchainchart5.png/_jcr_content/renditions/original
讓每個節點都有一模一樣的帳本,所以駭客如果只攻破一個帳本,無法造假,因為其他節點不相信,除非攻破網路上所有的帳本。
因為交易記錄太多筆,所以把固定數量的交易,打包成一個區塊,方便管理,用後用一些節點(電腦)來驗證區塊裡的交易記錄,用鏈條把區塊串在一起,形成可追溯的交易記錄。
https://bitcoin.org/img/dev/en-blockchain-overview.svg
每個區塊的標頭,都會記錄上一個區塊的加密資料(Hash Value),這就是鏈,之所以能讓區塊串起來的東西,最後變成區塊鏈
最後總結一下:
1.比特幣是去中心化,就是沒有發行單位的貨幣。
2.比特幣的交易資料(帳本)存在網路上個節點(電腦)上。
3.交易資料太多,所以把交易資料包成一個一個區塊,讓部分節點(電腦)來驗證一個區塊中,每一筆交易真實性。
4.這些節點驗證完,會把交易資料(帳目)複製到網路上所有節點(帳本)。
5.每一個區塊的標頭,會記錄上一個區塊的加密資料,稱為鏈。
一句白話講完區塊鏈:「把打包交易資料的區塊,在標頭用Hash值串連起來」,天啊還是很難表達清楚。
我主要參考以下這三篇文章,各位有興趣可以深入了解。
對了我再提醒一下,不懂就不要投資比特幣(大起大落已讓人失去理智),但區塊鏈的技術最好是了解一下,它可能是改變世界的關鍵技術之一。
以上是我的介紹,希望可以講得足夠簡單明瞭(不要只懂紅字那一段),讓非資訊專業的人也能懂,謝謝各位。

沒有留言:

張貼留言