區塊鏈技術是什麼?未來可能用於哪些方面?

Posted by

preview

這個問題有兩部分,我分“原理”和“意義/用途”兩部分來回答,力求讓沒有背景知識的朋友看完之後也能大概理解區塊鏈的原理和重大意義:

區塊鏈技術原理

我盡量不涉及太多細節,把區塊鏈大概的工作原理用盡可能簡單的語言描述一下,相信你能很快對區塊鏈有所了解。

以比特幣的區塊鍊為例,你可以把區塊鏈想像成一個比特幣的公共賬本,這個賬本:

1.存放在互聯網的各個比特幣節點上,每個節點都有一份完整的備份
2 .裡面記錄著自比特幣誕生以來的所有比特幣轉賬交易
3.賬本是分區塊存儲的,每一塊包含一部分交易記錄。每一個區塊都會記錄著前一區塊的id,形成一個鏈狀結構,因而稱為區塊鏈
4.當你要發起一筆比特幣交易的時候只需把交易信息廣播到p2p網絡中,礦工把你的交易信息記錄成一個新的區塊連到區塊鏈上,交易就完成了。

這裡有幾個問題:

1.如何保證用戶有足夠的餘額,例如你只有十個幣,而你居然發起了一筆轉20個幣的交易怎麼辦。

這個問題很好解決,因為區塊鏈上記錄了所有的比特幣交易記錄,只需要回溯所有的和你賬戶相關的歷史交易就能知道你這個賬戶上到底有多少餘額,餘額不對礦工是會拒絕記錄你的交易的。
由此你可能又會產生一個疑問,那麼最初的比特幣是從哪裡來的呢?

最初的比特幣是由系統獎勵給記錄區塊的礦工的。每一個區塊在生成的時候就會在生成這個區塊的礦工的賬戶上生成一定數量的新比特幣作為獎勵。

2.如何保證你的賬戶不被冒名頂替

這問題也很好解決,用數字簽名技術就好了。每個比特幣賬戶都有公鑰和私鑰。你發起交易的時候用私鑰對交易信息簽名,礦工收到信息後用公鑰檢查一下簽名就好了。

3.那麼多礦工,如何決定該由哪個礦工生成下一個區塊?

解決方案是這樣的:
中本聰設計了一個數學問題,這個數學問題會耗費大量的計算機cpu時間才能得出答案,同時每一次得出的答案都會作為下一次計算的初始條件進行技術。全世界的礦工一起來計算這個問題,誰先得出答案,他就可以用這個答案生成一個新的區塊,再廣播到網絡中。收到這個新塊數據的礦工會立即停止當前的計算,用新塊裡的數據重新進行下一次計算。這就是所謂的“挖礦”。礦工產生的區塊一旦被網絡接受,他就能獲得一筆比特幣作為酬勞。

這時要考慮一種情況:如果同時有兩個礦工各自得到一個正確答案,並各自生成了一個區塊廣播出去會發生什麼呢?

這時候在區塊鏈上同一個位置就有了兩個區塊,所謂的“分叉”就出現了。
分叉是絕對不允許的,所以當礦工發現區塊鏈分叉之後,會選擇最長的一條繼續計算,短的那條區塊鏈會被丟棄。

仔細思考下這個體系,你會發現它幾乎無懈可擊。首先你不能憑空造出比特幣,只能挖礦獲得;其次你無法偽造交易,無法控制不屬於你的賬戶。一旦交易被確認,幾乎無法取消。

我這裡說“幾乎”,是因為有“51%攻擊”的存在。51%攻擊條件非常苛刻,這裡就不擴展開講了。感興趣的朋友可以自行查閱相關資料。
———————-

好吧,現在你應該大概明白了區塊鍊是怎麼回事。一個公開透明的可信賴的帳務系統,聽起來還不錯,是吧?不過,我想告訴你區塊鏈遠遠不止是一個帳務系統那麼簡單,它的意義之重大、用途之廣泛,一旦你意識到,你一定會像我一樣激動萬分的。

區塊鏈技術使得DAC成為可能。DAC是一種能夠從根本上顛覆人類社會組織模式的東西。我相信它對社會的影響,會超過工業革命,成為互聯網給世界帶來的最為深刻的變革。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.