編者按:區塊鏈和比特幣已成為現在炙手可熱的概念,每個人都有必要去瞭解一下相關的知識,才不至於在科技的發展中落伍。然而,當小白們去網上搜相關的科普文章時,卻往往被裡面枯燥的文章和晦澀的概念所嚇走。本文另辟蹊徑,用用 Emoji 表情符號生動地科普瞭比特幣的相關知識,實乃出門在外、居傢旅行、殺人越貨之必備良文。文章編譯自 medium.com,作者 Tess Rinearson,原題為 "Making Money - Bitcoin Explained ( with Emoji ) , Part 1"。
比特幣是一種節省或花費數字貨幣的革命性方式,它的發展也有可能為其他領域帶來轉變。你不需要成為一名數學傢或密碼學傢才能理解它,當你能夠理解整個系統如何運作後,你一定會充滿成就感。開始之前先說明一下,這篇文章是 emoji 解讀比特幣三部曲中的第一部。
假設我通過互聯網給你發送電影或歌曲,我把它們作為附加上傳到電子郵件裡,一旦我點擊發送,你就能擁有它們。你可以看電影或者把它刪除——也就是說,對於這部電影,你想怎麼處理都沒有問題。
但是記住瞭:在我這裡,仍然有一個這部電影的副本。
這就是數字信息通常在互聯網上流轉的方式。你不會真正地傳輸內容本身,你隻是可以復制它。 到目前為止,這種方式運轉得都很順利——雖然可能不合法或不公平,但復制歌曲或電影並不太可能破壞經濟。
那要是把復制電影換成復制錢呢?
如果我發給你一美元,那麼我不保留它的副本是很重要的。使用電子郵件制作無限的數字金錢聽上去似乎很有吸引力,但一旦每個人都開始這樣做,會發生什麼呢?無疑,通貨膨脹會立馬變得猖獗,經濟也會開始快速下滑。
從傳統來說,在電匯和借記卡的世界中,數字貨幣被集中追蹤以防止重復。例如,銀行的數據庫能夠驗證誰擁有什麼。這個系統依賴於中央集權——所以當然——中央當局可以完全控制你的資金。
但如果有另一種方式呢? 如果我們不依靠一個可能發生錯誤的中央集權來向我們保證誰擁有什麼,而是依靠分散的權力而不是單一的一方控制呢? 如果錢的價值的來源不是因為我們相信政府對其的支持,而是因為我們相信數學的力量呢?
這樣我們就來到瞭比特幣的世界。
什麼是比特幣?
比特幣是一種與任何政府或機構無關的數字貨幣系統。
有點令人困惑的是," 比特幣 " 這個詞也是貨幣本身的名字。這個系統(比特幣)創建於 2009 年,但貨幣單位(比特幣)通過稱為 " 采礦 " 的過程不斷產生。這有點類似於在數字化 21 世紀裡的 " 黃金開采 "。
比特幣網絡上的所有交易都被永久記錄在稱為區塊鏈的長列表中。這不是中央當局保護的秘密名單。 它是一個分佈廣泛的公共清單,每個參與計算機都有它的副本。
比特幣區塊鏈是一個不可改變的公共分佈式賬本:
不可改變的,我的意思是說,一旦一條記錄在區塊鏈上幾個小時之後,改變或刪除它就變得不可行。這是因為在這段時間內,已經有很多其他的事務被建立。
對於公眾來說(我的意思是任何人,不僅僅限於銀行員工)都可以看到區塊鏈。 這並不意味著你可以確切地看到誰在發送或接收金錢,因為記錄中一般都會使用暫時性的假名字來掩蓋身份。
通過分發,區塊鏈的同步副本會由全世界的電腦持有。沒有規范的主副本, 所有副本都是平等的。
這種分佈式分類賬被稱為之所以被稱為 " 區塊鏈 ",是因為單個交易被分組到更大的 " 區塊 " 中,這些區塊按順序鏈接在一起。這比逐個添加事務更快,並且每 10 分鐘創建一個新的事務塊。
為瞭更好地說明不可變的公共分佈式賬本的力量,讓我們想象一個常見的但是假設的情況,這種情況涉及到價值 5 美元的比特幣。 (比特幣的價值可能會上升或下降,但 5 美元可能隻是單個比特幣的一小部分。)
假設我的朋友伊麗莎白發給我 5 美元的比特幣。想每筆交易一樣,這筆交易會馬上被記錄在區塊鏈中。反過來,我給你發去 5 美元,因為每個區塊鏈副本現在都表明我擁有過去屬於伊麗莎白的 5 塊錢。 不需要有人介入——我、你或者伊麗莎白,也不需要去詢問某個權威的中央數據庫誰擁有什麼或者是否需要許可。這就是權力下放,它位於區塊鏈的每一個副本中,無處不在。
你可能想知道:伊麗莎白從哪裡得到她寄給我的比特幣?
簡而言之,有人可能會把它發給她——幾乎每個人都能獲得比特幣。
但有一點需要註意,這些比特幣最初必須被創建出來。
比特幣是如何誕生的?
美元在美國政府印刷他們時產生,其他傳統貨幣也由各國或各地區政府印制發行。很久以前,美元在美國財政部得到瞭相當數量的黃金的支持,並且在那段時間裡創造額外的貨幣需要提供相應數量的黃金,因此黃金開采開始變得額外受歡迎。
比特幣也是通過一個稱為挖掘的過程創建的。不過這是用計算機和軟件而不是炸藥和鏟子完成的 " 數字挖掘 "。為瞭將新的交易塊添加到區塊鏈中,必須解決繁重的數學問題,而首先解決問題的 " 礦工 " 將獲得全新的比特幣獎勵——比特幣就是這樣開采的。
換句話說,挖掘有兩件事:一是它為區塊鏈增加瞭新區塊,二是創造瞭新的比特幣。那些礦工們正在努力解決的數學問題包括哈希法(散列法)。
什麼是散列?
散列算法是指,將一個特定的對象(照片、相冊、電影、文本、密碼)通過 hash 運算,轉成一個特定的字符串,字符串可能有字母、數字以及其他符號組成。
散列算法是計算機科學中的核心概念。廣泛應用於後端計算。為瞭增加安全性,在線服務通常將明文密碼通過特定散列函數轉化成暗文散列碼,在登錄時,將暗文散列碼傳到服務器端,進行驗證。Facebook 通過散列算法識別圖像。Facebook 將被舉報的圖片進行散列處理,形成違規圖片的散列庫。每次講新照片與已有的散列庫進行對比,如果匹配上,說明圖片違規。
通常情況下,計算機運行散列函數,它將輸入數據(如照片)轉化成 gobbledygook 字符串,這就是散列算法。
舉個例子,讓我們把這張小狗的圖片稱為一個叫 SHA-256 的散列函數:
很明顯,任何人都能看出這張可愛的小狗圖片並未違反任何 Facebook 規則。Facebook 上的軟件會檢查圖片的散列,這就是:
8EC9D4718F919C6087CA589EDA09E7DD9A7ACCDB820F42B4196E1D0D4BEDE77A
這是該圖片的 SHA-256 結果,以十六進制表示。恩,確實不如小狗本身可愛。
散列函數的一個有趣特征是,如果我們稍微改變輸入,輸出將完全不同。 比方說,例如,我們通過在他的眼睛上方放置一個 1 像素的黑色跳蚤來改變小狗照片的一個像素:
你能看到那個小黑點瞭嗎?
當我們對照片進行散列處理時,即使隻有一個像素發生瞭變化,我們也會得到完全不同的散列:
039E1AF92F7D00775ECE35C2216FC3F7F0BBCD31F912A105D2601380D8DEABA2
現在,我們可以在本文的其餘部分使用真實內容和真正的哈希值,但哈希值真的不太好理解。所以我們來使用 emoji 來表示這些輸入和輸出。 在下面的示例中,輸入(要進行散列處理的內容)由 cat 的臉部表示,而輸出(它是生成的散列)由蝴蝶結表示:
想象一下,Facebook 已經在以下兩張不合適的圖片上運行瞭散列函數:
後來有人上傳瞭一張照片,我們先稱為 "?",因為目前 Facebook 還不知道它是什麼。在 Facebook 對照片進行散列處理後,結果是:
盡管沒有人看過這張神秘的照片,但 Facebook 已經知道這是我們上傳的的是不合適的照片瞭。
當然瞭,照片識別隻是散列的一個應用。比特幣采礦創造瞭新的比特幣,並為區塊鏈增加瞭新的交易。
到目前為止,在第 1 部分中,我們瞭解到比特幣是一種分散化的貨幣,不是由任何政府或金融機構生成的,以及散列是什麼。 在第 2 部分中,我們將學習比特幣礦工如何使用散列來真正賺錢,以及密碼學如何讓比特幣獨特且不可復制。