10.1 另類幣的曆史和誘因
區塊鏈:技術驅動金融 作者:阿爾文德·納拉亞南 / 約什·貝努 等 投票推薦 加入書簽 留言反饋
2009年1月,比特幣誕生。2011年年中,還未到兩年,第一個基於比特幣的衍生貨幣——域名幣就出現了。2013年,另類幣出現爆炸式增長,迄今為止已有數百個(見圖10.1)。由於沒有明確的統計標準,我們無法給出確切的數字。舉個例子,如果有人宣布創造了一種另類幣,可能也公開了源代碼,但無人挖礦也無人使用,這種貨幣是否需要納入統計範圍?此外,有些另類幣,在其誕生初期是有人使用的,但後來很快就無人問津了,這類貨幣是否也需要納入統計範圍?
而且,我們也不清楚如何區分另類幣和傳統數字加密貨幣。早在比特幣出現之前,就有多種數字加密貨幣的方案和係統,這些貨幣並不能稱作另類幣。許多另類幣借用了比特幣的概念,它們通常是直接複製其基礎代碼或是使用部分代碼。有些隻對比特幣做了極小的改動,例如隻改變一些係統參數值,保留比特幣開發者後續所做的所有變更。截至目前,所有已知的另類幣都是從一個新的創世區塊開始,都有自己獨特的交易曆史,而不是從比特幣曆史交易記錄中的某個區塊進行分叉,進而演化出自己體係的。為了研究和學習,我們並不需要另類幣的精確的定義,而是把將所有在比特幣之後誕生的加密貨幣籠統地稱為另類幣。
圖10.1 每月創造的另類幣量
注:僅指通過創世區塊創建的另類幣。
我們將簡要提一下非另類幣係統,如瑞波公司(ripple)和恒星公司(ster),它們屬於第2章中所介紹的傳統分布式共識協議。這類係統為了達成共識,模型中每個節點都有自己的標記並且需要知道其他節點的標記。當然,比特幣建立共識的模型與此截然不同。在瑞波公司和恒星公司中,共識協議支持支付清算網絡並且在每個體係中有其自己的貨幣。盡管這些特性和另類幣類似,但在本書中並未將它們作為另類幣考慮。
發行另類幣的原因
每種另類幣都有自己的故事。一種另類幣之所以存在,就是因為它有別於其他另類幣的特點。最簡單的情況下,一種另類幣隻是修改比特幣內置的參數,比如修改區塊的平均時間間隔、區塊大小限製、創造回報的計劃和貨幣的通貨膨脹率等。
當然也有更複雜的技術上的差異,這種情況更有趣。例如,可以對腳本語言進行擴充以增加交易種類和安全屬性,可以采用與比特幣完全不同的挖礦方式以及共識算法(consensus algorithm)。
有時,為了支持一個主題或者社區,通常是需要給社區中的成員賦予一個特定的角色或權限,就會有一種比特幣被創造出來。本章將在最後的部分研究此類相關案例。
如何創造一個另類幣
我們首先考慮一下另類幣在創建過程中及創建後所涉及的內容。正如前文提到的,創造一個另類幣就是建立一個全新的參照體係,最常見就是通過複製修改現存的成熟另類幣或者比特幣本身。最容易的部分就是加一些技術特色或者修改一些參數使之更好用。曾經有一個網站coingen.io,隻收取一些費用,就會自動產生一個另類幣。你隻需要自己設定各種參數,比如區塊產生的平均時間、需要的工作量證明算法、另類幣的名字以及3個字母的貨幣代碼和標誌。完成設置後,隻要輕輕點擊鼠標,就能下載一份根據你的需要修改的比特幣源代碼,你就擁有了自己的另類幣,接下來你就可以和別人馬上開始運用這個另類幣了。另類幣最困難的部分在於如何讓別人逐步接受並使用你的另類幣。通過複製並修改源代碼,你可以對外發布新的另類幣,在剛誕生時,沒有人會使用這個貨幣,由於沒有人想擁有這個貨幣,因此它毫無價值,又由於沒有挖礦的人,它也不安全。本書第7章,我們介紹過比特幣係統的利益相關者:開發者、礦工、投資者、商家、客戶和支付服務商。最終,為了讓你的另類幣形成規模,你需要吸引這些參與人加入這個貨幣的生態圈中。
另類幣的這些相關群體都是非常重要的,而且它們相互關聯,這與創建並推廣一個平台非常類似。比如,創建一個智能手機操作係統,就需要用戶、設備製造商、手機軟件開發者和其他重要的利益相關者共同參與,同時每個角色都需要群體中的其他人的參與。
在另類幣中,吸引礦工對另類幣來說特別重要,因為如果沒有足夠的哈希算力做支持,雙重支付和複製修改代碼就很可能會發生,另類幣的安全性就無從談起。事實上,這種貨幣可能會徹底崩潰,本章10.4節中將會討論“另類幣夭折”(altcoin infanticide)。沒有一個簡單的方法可以吸引大家接受並逐步推廣使用另類幣,但是通常來說,當礦工感覺到貨幣回報值得他們付出時,他們就會加入。為了吸引礦工,很多另類幣都給早期礦工比較豐厚的回報。比特幣顯然是最早采用這種策略的,後來很多另類幣采用了更加激進的激勵措施來吸引早期礦工。
而最困難的工作,是讓一個社區的人相信這個另類幣有價值。正如我們在第7章討論過的,即便對比特幣來說,我們也不是特別清楚這個過程是如何自舉的。這依賴仙子效應,從而實現自我增強,讓人們相信它有價值的過程是如何實現的。這就回到我們一開始提到的,另類幣需要有一個好的故事,才能讓人相信這個新的另類幣將來會有價值,或者是相信其他人會認為這個有價值。如果一個社區對獲取另類幣感興趣,礦工就會參與進來。[1]隻要價值被認可,其他重要的元素就會顯現,比如在交易所交易以及從開發區塊鏈的工具,到遊說團體開發的各種輔助設施和服務。
拉高出貨騙術(pump-and-dump scams)
當一種另類幣的創始人成功地促成一個活躍的貨幣社區和一個真正在運作的交易市場時,他們就會變得非常富有。幾乎可以肯定的是,他們擁有很多這類貨幣。這種貨幣可能來源於,在係統運行最初,哈希算力還不是很高的時候所挖的貨幣,或者是類似接下來要討論的,在還未挖礦之前獲得的預先分配的貨幣。一旦另類幣的交換價值提高了,創始人就可以選擇賣掉他們的貨幣。
一夜致富的可能性,極大地吸引了有雄心的創業者和風險投資基金,毫不意外地也吸引了騙子。事實上,我們很難區分騙子和創業者。騙子可能會使用各種方法,來誇大一種另類幣的潛在和未來收益。他們可能會炒作它的技術優點,偽造底層支持的假象,在市場上推高另類幣價格等。
事實上,甚至連非創始人都可以設計這樣的騙局。他們可以先買入大量還未出名的另類幣,然後說服大眾相信該貨幣還有未實現的增值潛力(也就是“拉高”)。如果成功地拉高了貨幣的價格,他們就可以通過賣出獲利(也就是“拋售”)。此時,很多理智的投資者可能會意識到這是個騙局,然後幣值出現斷崖式下跌,導致很多當初購買的人最終血本無歸,隻剩下毫無價值的貨幣。這種拉高出貨的騙局,在操縱不知名的低價股票的主流金融業務中很常見,在另類幣的發展早期也很普遍,那時候用戶熱情高漲,投資者也無法分辨到底哪一種另類幣是真正具有創新性的,哪一種是依靠噱頭和推廣,但實際是毫無真正價值的。這也導致,截至目前,用戶和投資者都厭煩了另類幣。
初始分配
在比特幣體係中,貨幣隻能以挖礦的方式分配給用戶。但是在其他另類幣體係裏,出於各種考量,除挖礦以外,開發者們還使用其他方法對貨幣進行初始分配。
開發者可以預先分配貨幣,也就是說,先預留一部分貨幣給自己或者其他特定團體(比如預留給開發該貨幣的非營利性組織)。用這個額外的收獲,去激勵開發者花費時間精力去創造和激活一個新的加密貨幣。有時候,也可能會采取更激進的激勵方式,即可以對貨幣進行預售,也就是把這些貨幣預先賣給其他投機者,換取比特幣或者現實中的貨幣。這有點像投資初創企業:如果投資的另類幣成長起來,投機者就會獲得大量財富。
尋求各種預分配方法的另外一種動機是,確保早期的貨幣擁有者來自多個社區,並且他們與貨幣成功的利益相關。如果礦工太為集中,就會造成資產持有過度集中,這不利於貨幣的發展壯大。一種比較聰明的分散所有權的做法,就是把另類幣發給現有的比特幣用戶。
在技術上如何做到這一點,即讓比特幣用戶可以自動地分配,並擁有另類幣?一種辦法是通過第3章談到過的“銷毀證明”:用戶隻要證明他們銷毀了一定比例的比特幣,就能要回一個單位新的另類幣。用戶需要在銷毀的時候提供數據證明,比如特殊的字符串來識別某個另類幣,這樣就可以說明他們銷毀比特幣的目的,就是為了獲取這個新的另類幣(見圖10.2)。
通過“銷毀證明”來分配另類幣,也叫作“單向掛鉤”或者“價格上限”。另類幣可以一對一地配對比特幣,並不意味著兩者價值相同。這樣的配對,確保另類幣最多值1個比特幣。因為,1個比特幣可以換1個另類幣,但是反過來不行。
圖10.2 通過“銷毀證明”分配另類幣
注:另類幣提供一個以比特幣操作為輸入的生成貨幣(gencoin)的指令。生成貨幣的簽名用到的私鑰,和簽銷毀證明的私鑰是一樣的(簽名的機製也一樣)。這樣就能保證,銷毀比特幣的同一個用戶,同時創造了新生成貨幣。如果匯兌比例是1∶1,那麽另類幣的價值v′不大於比特幣的價值v。
也可以有一些相對沒那麽複雜的做法:要求用戶提供擁有比特幣的證明,但無須銷毀比特幣,也以獲得新幣。具體來說,另類幣體係會指定一個比特幣區塊高度(也許剛好就是另類幣誕生時的長度)。在這個高度的區塊裏,任何人擁有還沒花掉的比特幣,就可以按比例得到同樣數量的另類幣(見圖10.3)。通過這種方式,比特幣和另類幣的價格就無須固定,畢竟比特幣並沒有通過銷毀證明來“轉換”成為另類幣。
圖10.3 通過證明比特幣的所有權來分配另類幣
注:生成貨幣的輸入,是特定區塊高度下一個或者多個沒用過的比特幣交易輸出。就像正常的比特幣操作一樣,這些都是通過控製未使用比特幣的私鑰來進行簽名認證的。圖中的比特幣交易有兩個未用過的交易輸出,分別為特定高度區塊鏈中的b和c地址。b地址的用戶換了另類幣,但c地址用戶還沒這麽做。假設匯兌比例是1∶1,新另類幣的價值為v′,那麽v′一定不能大於b的比特幣價值v1。
當然,為了實現這種分配,另類幣的礦工也必須時刻了解比特幣的區塊鏈。另類幣必須明確什麽才算認定的比特幣交易。一種選擇是要求固定的確認次數,比如6次。另外的一種選擇是,在每個另類幣的區塊中加入最新比特幣區塊。這樣,比特幣的交易立刻可以在另類幣體係裏使用,而不需要等待確認。這就類似在比特幣體係中,交易的輸出可以在自身或者下一個區塊中使用。我們將在下一節討論共同挖礦(merge mining),一種把比特幣和另類幣區塊鏈接起來的方式。
最後一種方式是,把已經分配好的貨幣捐贈出去,這也是擴大貨幣用戶多樣性的一種辦法。一種方式是支付小費:很多服務允許贈送小費給電子郵箱或者社交媒體賬戶,這多多少少可以促進接收者了解並參與到這個貨幣體係中來。接受方收到信息,得知他的托管賬戶存有小費,然後通過認證郵件地址或者社交媒體賬號可以取得這些小費。當然,為獲得這些小費,他們還需要安裝錢包軟件,或者采用其他方式。另外一種可以稱作“水龍頭”捐贈方式,即任何訪問特定網站並輸入郵件地址的人,都可以獲得一小部分另類幣。
[1] 盡管當幣種升值快於挖礦的速度時,可能會有風險。——譯者注
而且,我們也不清楚如何區分另類幣和傳統數字加密貨幣。早在比特幣出現之前,就有多種數字加密貨幣的方案和係統,這些貨幣並不能稱作另類幣。許多另類幣借用了比特幣的概念,它們通常是直接複製其基礎代碼或是使用部分代碼。有些隻對比特幣做了極小的改動,例如隻改變一些係統參數值,保留比特幣開發者後續所做的所有變更。截至目前,所有已知的另類幣都是從一個新的創世區塊開始,都有自己獨特的交易曆史,而不是從比特幣曆史交易記錄中的某個區塊進行分叉,進而演化出自己體係的。為了研究和學習,我們並不需要另類幣的精確的定義,而是把將所有在比特幣之後誕生的加密貨幣籠統地稱為另類幣。
圖10.1 每月創造的另類幣量
注:僅指通過創世區塊創建的另類幣。
我們將簡要提一下非另類幣係統,如瑞波公司(ripple)和恒星公司(ster),它們屬於第2章中所介紹的傳統分布式共識協議。這類係統為了達成共識,模型中每個節點都有自己的標記並且需要知道其他節點的標記。當然,比特幣建立共識的模型與此截然不同。在瑞波公司和恒星公司中,共識協議支持支付清算網絡並且在每個體係中有其自己的貨幣。盡管這些特性和另類幣類似,但在本書中並未將它們作為另類幣考慮。
發行另類幣的原因
每種另類幣都有自己的故事。一種另類幣之所以存在,就是因為它有別於其他另類幣的特點。最簡單的情況下,一種另類幣隻是修改比特幣內置的參數,比如修改區塊的平均時間間隔、區塊大小限製、創造回報的計劃和貨幣的通貨膨脹率等。
當然也有更複雜的技術上的差異,這種情況更有趣。例如,可以對腳本語言進行擴充以增加交易種類和安全屬性,可以采用與比特幣完全不同的挖礦方式以及共識算法(consensus algorithm)。
有時,為了支持一個主題或者社區,通常是需要給社區中的成員賦予一個特定的角色或權限,就會有一種比特幣被創造出來。本章將在最後的部分研究此類相關案例。
如何創造一個另類幣
我們首先考慮一下另類幣在創建過程中及創建後所涉及的內容。正如前文提到的,創造一個另類幣就是建立一個全新的參照體係,最常見就是通過複製修改現存的成熟另類幣或者比特幣本身。最容易的部分就是加一些技術特色或者修改一些參數使之更好用。曾經有一個網站coingen.io,隻收取一些費用,就會自動產生一個另類幣。你隻需要自己設定各種參數,比如區塊產生的平均時間、需要的工作量證明算法、另類幣的名字以及3個字母的貨幣代碼和標誌。完成設置後,隻要輕輕點擊鼠標,就能下載一份根據你的需要修改的比特幣源代碼,你就擁有了自己的另類幣,接下來你就可以和別人馬上開始運用這個另類幣了。另類幣最困難的部分在於如何讓別人逐步接受並使用你的另類幣。通過複製並修改源代碼,你可以對外發布新的另類幣,在剛誕生時,沒有人會使用這個貨幣,由於沒有人想擁有這個貨幣,因此它毫無價值,又由於沒有挖礦的人,它也不安全。本書第7章,我們介紹過比特幣係統的利益相關者:開發者、礦工、投資者、商家、客戶和支付服務商。最終,為了讓你的另類幣形成規模,你需要吸引這些參與人加入這個貨幣的生態圈中。
另類幣的這些相關群體都是非常重要的,而且它們相互關聯,這與創建並推廣一個平台非常類似。比如,創建一個智能手機操作係統,就需要用戶、設備製造商、手機軟件開發者和其他重要的利益相關者共同參與,同時每個角色都需要群體中的其他人的參與。
在另類幣中,吸引礦工對另類幣來說特別重要,因為如果沒有足夠的哈希算力做支持,雙重支付和複製修改代碼就很可能會發生,另類幣的安全性就無從談起。事實上,這種貨幣可能會徹底崩潰,本章10.4節中將會討論“另類幣夭折”(altcoin infanticide)。沒有一個簡單的方法可以吸引大家接受並逐步推廣使用另類幣,但是通常來說,當礦工感覺到貨幣回報值得他們付出時,他們就會加入。為了吸引礦工,很多另類幣都給早期礦工比較豐厚的回報。比特幣顯然是最早采用這種策略的,後來很多另類幣采用了更加激進的激勵措施來吸引早期礦工。
而最困難的工作,是讓一個社區的人相信這個另類幣有價值。正如我們在第7章討論過的,即便對比特幣來說,我們也不是特別清楚這個過程是如何自舉的。這依賴仙子效應,從而實現自我增強,讓人們相信它有價值的過程是如何實現的。這就回到我們一開始提到的,另類幣需要有一個好的故事,才能讓人相信這個新的另類幣將來會有價值,或者是相信其他人會認為這個有價值。如果一個社區對獲取另類幣感興趣,礦工就會參與進來。[1]隻要價值被認可,其他重要的元素就會顯現,比如在交易所交易以及從開發區塊鏈的工具,到遊說團體開發的各種輔助設施和服務。
拉高出貨騙術(pump-and-dump scams)
當一種另類幣的創始人成功地促成一個活躍的貨幣社區和一個真正在運作的交易市場時,他們就會變得非常富有。幾乎可以肯定的是,他們擁有很多這類貨幣。這種貨幣可能來源於,在係統運行最初,哈希算力還不是很高的時候所挖的貨幣,或者是類似接下來要討論的,在還未挖礦之前獲得的預先分配的貨幣。一旦另類幣的交換價值提高了,創始人就可以選擇賣掉他們的貨幣。
一夜致富的可能性,極大地吸引了有雄心的創業者和風險投資基金,毫不意外地也吸引了騙子。事實上,我們很難區分騙子和創業者。騙子可能會使用各種方法,來誇大一種另類幣的潛在和未來收益。他們可能會炒作它的技術優點,偽造底層支持的假象,在市場上推高另類幣價格等。
事實上,甚至連非創始人都可以設計這樣的騙局。他們可以先買入大量還未出名的另類幣,然後說服大眾相信該貨幣還有未實現的增值潛力(也就是“拉高”)。如果成功地拉高了貨幣的價格,他們就可以通過賣出獲利(也就是“拋售”)。此時,很多理智的投資者可能會意識到這是個騙局,然後幣值出現斷崖式下跌,導致很多當初購買的人最終血本無歸,隻剩下毫無價值的貨幣。這種拉高出貨的騙局,在操縱不知名的低價股票的主流金融業務中很常見,在另類幣的發展早期也很普遍,那時候用戶熱情高漲,投資者也無法分辨到底哪一種另類幣是真正具有創新性的,哪一種是依靠噱頭和推廣,但實際是毫無真正價值的。這也導致,截至目前,用戶和投資者都厭煩了另類幣。
初始分配
在比特幣體係中,貨幣隻能以挖礦的方式分配給用戶。但是在其他另類幣體係裏,出於各種考量,除挖礦以外,開發者們還使用其他方法對貨幣進行初始分配。
開發者可以預先分配貨幣,也就是說,先預留一部分貨幣給自己或者其他特定團體(比如預留給開發該貨幣的非營利性組織)。用這個額外的收獲,去激勵開發者花費時間精力去創造和激活一個新的加密貨幣。有時候,也可能會采取更激進的激勵方式,即可以對貨幣進行預售,也就是把這些貨幣預先賣給其他投機者,換取比特幣或者現實中的貨幣。這有點像投資初創企業:如果投資的另類幣成長起來,投機者就會獲得大量財富。
尋求各種預分配方法的另外一種動機是,確保早期的貨幣擁有者來自多個社區,並且他們與貨幣成功的利益相關。如果礦工太為集中,就會造成資產持有過度集中,這不利於貨幣的發展壯大。一種比較聰明的分散所有權的做法,就是把另類幣發給現有的比特幣用戶。
在技術上如何做到這一點,即讓比特幣用戶可以自動地分配,並擁有另類幣?一種辦法是通過第3章談到過的“銷毀證明”:用戶隻要證明他們銷毀了一定比例的比特幣,就能要回一個單位新的另類幣。用戶需要在銷毀的時候提供數據證明,比如特殊的字符串來識別某個另類幣,這樣就可以說明他們銷毀比特幣的目的,就是為了獲取這個新的另類幣(見圖10.2)。
通過“銷毀證明”來分配另類幣,也叫作“單向掛鉤”或者“價格上限”。另類幣可以一對一地配對比特幣,並不意味著兩者價值相同。這樣的配對,確保另類幣最多值1個比特幣。因為,1個比特幣可以換1個另類幣,但是反過來不行。
圖10.2 通過“銷毀證明”分配另類幣
注:另類幣提供一個以比特幣操作為輸入的生成貨幣(gencoin)的指令。生成貨幣的簽名用到的私鑰,和簽銷毀證明的私鑰是一樣的(簽名的機製也一樣)。這樣就能保證,銷毀比特幣的同一個用戶,同時創造了新生成貨幣。如果匯兌比例是1∶1,那麽另類幣的價值v′不大於比特幣的價值v。
也可以有一些相對沒那麽複雜的做法:要求用戶提供擁有比特幣的證明,但無須銷毀比特幣,也以獲得新幣。具體來說,另類幣體係會指定一個比特幣區塊高度(也許剛好就是另類幣誕生時的長度)。在這個高度的區塊裏,任何人擁有還沒花掉的比特幣,就可以按比例得到同樣數量的另類幣(見圖10.3)。通過這種方式,比特幣和另類幣的價格就無須固定,畢竟比特幣並沒有通過銷毀證明來“轉換”成為另類幣。
圖10.3 通過證明比特幣的所有權來分配另類幣
注:生成貨幣的輸入,是特定區塊高度下一個或者多個沒用過的比特幣交易輸出。就像正常的比特幣操作一樣,這些都是通過控製未使用比特幣的私鑰來進行簽名認證的。圖中的比特幣交易有兩個未用過的交易輸出,分別為特定高度區塊鏈中的b和c地址。b地址的用戶換了另類幣,但c地址用戶還沒這麽做。假設匯兌比例是1∶1,新另類幣的價值為v′,那麽v′一定不能大於b的比特幣價值v1。
當然,為了實現這種分配,另類幣的礦工也必須時刻了解比特幣的區塊鏈。另類幣必須明確什麽才算認定的比特幣交易。一種選擇是要求固定的確認次數,比如6次。另外的一種選擇是,在每個另類幣的區塊中加入最新比特幣區塊。這樣,比特幣的交易立刻可以在另類幣體係裏使用,而不需要等待確認。這就類似在比特幣體係中,交易的輸出可以在自身或者下一個區塊中使用。我們將在下一節討論共同挖礦(merge mining),一種把比特幣和另類幣區塊鏈接起來的方式。
最後一種方式是,把已經分配好的貨幣捐贈出去,這也是擴大貨幣用戶多樣性的一種辦法。一種方式是支付小費:很多服務允許贈送小費給電子郵箱或者社交媒體賬戶,這多多少少可以促進接收者了解並參與到這個貨幣體係中來。接受方收到信息,得知他的托管賬戶存有小費,然後通過認證郵件地址或者社交媒體賬號可以取得這些小費。當然,為獲得這些小費,他們還需要安裝錢包軟件,或者采用其他方式。另外一種可以稱作“水龍頭”捐贈方式,即任何訪問特定網站並輸入郵件地址的人,都可以獲得一小部分另類幣。
[1] 盡管當幣種升值快於挖礦的速度時,可能會有風險。——譯者注