日前, Monero的開發者宣布,將于無服務器存儲協議Arweave合作,正在驗證一種新的抗ASIC挖礦算法RandomX,一旦審計成功,將取代CryptoNight 算法。算法更換,直接導致原來的礦機變成一堆廢鐵。
Monero,6個月換一次算法
Monero,是字節幣Bytecoin的一個分叉幣種。當時字節幣Bytecoin發布以后,被發現已經有82%的貨幣被預挖,在崇尚自由的數字貨幣世界,你敢預挖我就敢分叉,于是社區對字節幣直接分叉,誕生了門羅幣(2014年4月18日)。
至于字節幣,既然字節幣團隊喜歡預挖,那剩下的18%也留給他們自己挖好了。門羅幣似乎天生就在追求“公平與自由”,連團隊預挖都不能忍,焉能忍ASIC礦機?所以為了應對中心化的礦霸,平均每6個月都會對門羅幣進行硬分叉。
門羅幣更新算法,并不是單純為了對抗ASIC礦機。由于門羅幣的挖坑對于pc、ipad等終端設備比較友好,所以這就被各種黑客盯上了。各種黑客通過木馬病毒,控制別人的pc、ipad等進行挖坑,進而攫取利益。通過算法更換,也可以解決這個問題。
從歷史上看,門羅幣先后出現過monero zero、monero original、monero classic等多個分叉幣,不過門羅幣等社區絕對屬于非常強大的,目前最公認的還是monero。這就叫,你大爺永遠是你大爺!
門羅幣的出現,就是要和各種不公斗爭,如果不斗爭,也許門羅就失去了其固有的意義。當然,門羅作為混幣的代表,不僅僅對抗著中心化的算法,對抗著黑客病毒,也對抗著現實世界對電子貨幣對審查——匿名。
在比特幣中,由于區塊鏈賬本的公開及可追溯性,任何一個人都可以通過比特幣區塊鏈瀏覽器的公開信息,順藤摸瓜查出來所有和它有往來關系的比特幣賬戶,因此,比特幣的匿名性并非是無懈可擊的。
Monero則采用了環簽名和混淆地址的方式來保證匿名性。其交易不僅隱藏交易雙方地址,而且還可以隱藏交易金額,默認情況下交易細節完全不可見,隱私性極強。所謂環簽名,就是當一筆交易發生后,系統自動生成幾組同額度當交易,通過這種“真假混合”的方式,讓你根本查不出來到底這個幣去了哪個地址。
環簽名技術,門羅幣的隱藏術
在交易環節,主要涉及[發送方][接收方][交易額度]三個數據,門羅幣對應的三項技術,正是從這三個角度著手。下面就看看門羅幣是如何通過環簽名、混淆地址、環機密這三者實現匿名性的。
環簽名 – 發送方,不可追蹤性
打個比方,大家聯名上書提意見的時候,怎樣讓外界難以猜測發起人是誰?上書人的名字可以寫成一個環形,環中各個名字的地位看上去彼此相等,因此難以猜測發起人是誰。假設,A發送門羅幣給 B,設定混淆交易數量為5。網絡在轉賬時會自動生成5筆轉賬交易,除了A發送給B的這筆,另外的4筆都是用來瞞騙外界觀測者的“誘騙交易”,這樣達到隱匿發送方的目的。
混淆地址 – 接收方,不可關聯性
混淆地址是為了打破輸入輸出地址之間的關聯,以此隱匿轉賬的來去關系。每當發送者要發起一筆轉賬的時候,這筆資金不會直接打到接收方的地址,而是打到一個系統臨時生成的地址。例如,A向B轉賬時,A作為發送者用B的公鑰私鑰加上一些隨機數,生成一個獨一無二的、一次性的地址,系統給這個臨時地址轉賬。A和B自己都能看到這個臨時地址,但都不知道地址里的錢屬于誰。
那么B怎么知道有人給自己轉賬,怎么收到這筆錢呢?B的錢包會用私鑰進行搜索功能,查看區塊鏈上的臨時地址是否有屬于自己的錢。當B的私鑰(僅有接收方B自己的私鑰能夠)識別出自己有權認領的臨時地址,就能使用這筆錢。
環機密 – 交易金額的隱匿
在A向B轉賬時,在 RingCT 的交易中, A 不會直接公開給網絡轉賬的金額,而是提供一個數字rct,作為交易金額輸出。rct= 隨機數 真正的交易金額。隨機數是用來為真實金額遮蓋的,由錢包自動產生。網絡可使用這個rct值去驗證交易輸入是否等于交易輸出的金額,以確認沒有額外的 Monero 被偽造產生。 然而,對于其他人而言,無從得知實際交易金額。
粉塵攻擊與數據臃腫
很明顯,門羅幣的混幣是通過同時制造多筆“假交易”,進而“真假混淆”,從而實現隱私性保護。這種模式造成的直接后果,就是門羅幣“臃腫不堪”。以比特幣為例,每個交易就是一筆交易;但在門羅幣中,每筆交易至少包括5筆交易(其余4筆的目的是以假亂真),這就意味著門羅幣的數據量會增長很快。
數據增長過快的直接結果就是,對全節點的運行有著更高的要求。以比特幣為例,目前的數據已經200多g,而且這個數據還在增加。如果這個數據增加到500g、1000g到時候,即便算法是抗專業礦機的,但又有多少人愿意來運行全節點呢?如果只有極少數的全節點運行,那么這個系統難免還是中心化的。
其中,最可怕的不僅僅是專業礦機,粉塵攻擊同樣可以讓門羅幣因臃腫而癱瘓。因為在混幣模式下,不管轉賬1個門羅幣還是0.0001個門羅幣,都需要為之搭配上4組同樣的交易數據,那么粉塵攻擊足以讓門羅系統變成一個臃腫的系統。
當然,有人會提出為何不可以在硬分叉的過程中,對數據進行剪輯或者合并。比如剪輯掉某個時間段之前段交易數據,或者對多筆小額交易進行合并,這就可以騰挪出大量的空間。但問題是,這種處理方法與現實中心化的機制,又有何不同呢?
防彈協議,讓臃腫變的慢一點
為了堅決上述難題,防彈協議(bulletproofs)的技術便應運而生。防彈協議(bulletproofs)最初由密碼學家Benedict Bunz和Jonathan Bootle發表,該協議可以降低交易數據的大小,將交易大小至少減少至80%。
像比特幣一樣,門羅幣使用UTXO交易模式。這意味著區塊鏈通過稱為未使用交易輸出(UTXO)的概念管理余額。錢包的余額由一系列UTXO組成。每個UTXO都是可以用來發送給另一個用戶的BTC(或XMR)的數量。每當有一位用戶將BTC發送給其他用戶時,發送者的一部分UTXO將花費,并創建一個新的UTXO并發送給接收者。使用比特幣,用過的UTXO可以被認為已經消失,并從現有的全球UTXO組中刪除。
由于Monero使用環形簽名,因此無法確定某個UTXO是否被花費。因此,所有曾經存在的UTXO,無論是否已經用完,都需要位于有效的全球UTXO集合中。這是一個非常龐大且不斷增長的數據集,每個挖礦節點都需要跟蹤,并且如果其過快增長,會極大妨礙網絡的可擴展性。
在Monero的三種不同機制中,防彈協議主要針對的是環機密環節。也就是說,防彈協議實際上并沒有為門羅幣的隱私技術本身做出貢獻,該協議只是確保存儲在保密交易中的訊息不包含任假訊息,這樣就可以減少數據量。
但是很顯然,防彈協議(bulletproofs)只能延緩門羅幣數據量臃腫的速度,但并不能從根本上解決數據爆炸的問題。如果隨著時間的推移,門羅幣的全節點運行數據越來越大的時候,目前比特幣所面臨的“算力中心化”問題,門羅幣依舊無法解決。
Monero存在的問題
Monero的隱匿性既是其最大的優勢,也是其最大的弱點。隱匿有價值,但它也可以使犯罪活動不受懲罰,加大了監管的難度。Monero的混合交易很容易被用于非法金融交易,如洗錢和買賣非法毒品。如果將Monero用于非法金融交易很容易,那么它肯定會被用于這種目的,而政府最終將被迫介入。
除了監管問題外,Monero的隱私保護措施也并沒有那么強大。WIRED雜志早些時候發表了一篇關于門羅幣隱私弱點的文章,來自不同大學的研究人員指出了門羅幣的交易混合算法中的缺陷,該缺陷破壞了其無法追蹤的特性。針對這些問題, Monero的開發人員對Monero進行了定期和持續的改進。不過, 隱私不是一蹴而就的,會是一場持久的戰斗。
不可否認,Monero在不犧牲去中心化的情況下為加密貨幣引入了隱私,使用創新技術來確保交易不可關聯,無法追蹤,并且發送的金額被隱藏起來,還是值得肯定的。目前Monero的開發人員也在針對存在的擴展性、被黑客攻擊以及數據濫用等問題進行改進,但是政府的監管還是不能忽視的不確定因素。
(作者:市后諸葛,內容來自鏈得得內容開放平臺“得得號”;本文僅代表作者觀點,不代表鏈得得官方立場)
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。