基於隱私就是自由的重要構成,我們要如何才能在區塊鏈上獲得完全的隱私?本文由專欄作者 凝視奇點的物理學徒 撰稿,現旅居星國,為新加坡國立大學「量子物理博士生」,是個希望「生活在位元世界,而非原子世界的奇點主義者」。
在加密貨幣(如 BTC / ETH)的世界中,人們所謂的半匿名通常只是指涉「收發地址和個人身份」沒有被連結,帳本上金流和收發方地址一直都是透明,只要有心人開始進行分析比對,如查到我的 ETH 地址是kowei.accepte.eth,那所謂的鏈上隱私將不復存在,即使透過大量創建地址和混幣器的幫助,這也是治標不治本無法讓人獲得完全的鏈上隱私。
在本篇中,我要和大家分享自己閱讀「精通門羅幣(mastering monero)」所學,在閱讀本書之前我知道門羅幣(XMR)是最適合用 CPU 挖礦的專案1,即使自己真的持有一點 XMR(推薦台灣礦池),也從未對其精妙的隱私科技有深入的研究。
整本「公開的帳本」居然可以隱匿「收發方地址與交易金額」,感覺就是過於科幻。重點是這樣的隱私不是選擇、而是所有人在使用門羅的強制要求。而我閱讀本書和沈澱思考後,我會認為門羅是一個已經成功、接近完成品的卓越專案2,他沒有豐富的智能合約、沒有staking 或是其他複雜的功能。
門羅只專注在一件事情並且成為偉大的存在:賦予每個人隱私交易的可能
*註 1:因為他們認為去中心化的挖礦是為持系統健康的重要面向,在成功對抗 Asic 的同時副作用是殭屍網路和駭客通常也喜歡挾持電腦挖門羅。對於挖礦而言門羅保有尾端發行這個特徵,總量發行完畢會還會每年通膨 1% 左右,確保系統不會只依賴手續費而存在。
*註 2:我不認為 BTC 長期會存在,ETH 距離成品也還有不知道幾年的時間,DASH、ZCASH、PIVX 在門羅面前不是半成品就是次殘品。
延伸閱讀:「門羅、DASH、ZEC」不符合 FATF 反洗錢方針,OKEx 韓國下架「5 種隱私幣」
門羅幣的特徵
- 去中心化的網路
除了每半年更新挖礦演算法貼合 CPU 對抗 ASIC,讓每個人都能參與挖礦維護系統安全避免算力被壟斷外,門羅官方錢包也會鼓勵大家自己經營一個節點,只需要下載官方錢包後選擇自有節點,整個區塊鏈 60GB 就會同步到你的硬碟。
- 安全性
即使你不經營自有節點,或是使用行動錢包,每個參與者都可以驗證所有的交易有效性而無需相信節點(隱私科技的細節下談)。
- 不可區分性(Fungibility/indistinguishablity)
因為具有隱私性的緣故,所以門羅幣有個特色就是所有的門羅幣都是一樣的,不會說有些門羅因為參與洗錢或是犯罪而被追蹤標記,導致被黑名單後價值耗損,一個門羅就是價值一個門羅!
門羅幣的隱私科技概述
在介紹門羅幣的隱私科技細節之前,我想先提醒大家門羅幣每個帳戶會有四把金鑰,最根本的是 private spend key,又稱為 seed,代表帳戶的所有權,可以從中計算出剩下三把鑰匙:private view key、public spend key、public view key,後兩者是地址的構成重要成分。
一次性地址(隱藏收款方地址的方式)
寄送方透過自己的 private spend key 加上收款方公開地址上的 public spend key、public view key,生成一次性地址,只有這個一次性地址會被記錄在區塊鏈上而門羅公開收款地址並不會3
收款方透過 private view key 和 public spend key 可以檢查整個區塊鏈是不是有人寄錢給自己,門羅允許使用 private view key 建立僅供瀏覽入帳金流的錢包,方便收款方向他人證明自己有收到錢,如教會公廟或是募資專案捐款計畫,這樣的設定是不僅「不能花錢」也是「不能看到花錢紀錄」,為了確保整個帳本的金流隱私這是一個特殊設計而絕對不是缺陷。
*註 3:雖然公開收款地址不會被紀錄在區塊鏈上,卻可能被網路上的使用者紀錄和分享,所以更安全的收款方式是每次用 private spend key 產生出全新的子地址(subaddresses)來收款,所有子地址的收款可以用同樣的 private view key 看到所以對於使用者而言是可以增加隱私的方法。
環狀簽名(隱藏真實寄送方)
當寄送方要對發送訊息做數位簽章的時候,就從區塊鏈上把之前別人的一次性地址 public key 給抄下來(目前是環的大小是十一組簽名,所以要抄十組),透過自己公鑰 k0 和訊息產生亂碼 a1,然後用 a1 和某組 public key (k1)和亂數 r1 產生 a2,周而復只直到透過 a10、k10 和 r10 產生 a11。
重點是最後要選取 r11 讓「a11、k0 和 r11」產生 a1.最後會在區塊鏈上的只有其中一個亂碼如 a7 和亂數(r1-r11),每個人都可以驗證整個環狀簽名中有一部分是真正的簽發者簽發的(用私鑰 p0 給訊息數位簽章),但卻不知道到底是誰4。
*註 4:為了避免有人重複簽發同一筆支出,會額外再鏈上紀錄一筆 key image,這個紀錄會和實際花錢的寄送方資金來源相關:透過源自同來源資金的交易紀錄會產生一樣的 key image 來避免 double spending attack。
RingCT(隱藏金流大小)
這分成兩部分,範圍證明(證明寄送者發出的金額大於零)和全同態加密(在加密的情況下進行計算,證明交易之前的總門羅和交易之後的總門羅數字相等)。門羅一個重要的升級「防彈協議bulletproof」,就是大幅度降低同態加密的證明大小和複雜度(證明長度會隨著資金來源數目而上升),原本可能是 7KB / 14KB 線性增加,現在已經是 2KB / 2.5KB 對數增加。
Kovri(I2P-zero)
門羅幣自帶的網路通訊層,讓大家用錢包轉帳的時候不用開 vpn 或洋蔥也能保持網路身份的隱私性,已經在指令錢包(CLI 錢包)供大家使用了,希望之後可以推廣到 GUI(圖性化介面)錢包,現在也有蒲公英計畫正在完備 IP 和門羅交易的去連結化。
OpenAlias
像是以太坊命名網路一樣的應用,讓人們可以去中心化的幫自己的公開自己取名(如 donate.getmonero.org),這種人類可讀地址的因為需要自備 DNS 地址所以使用者較為稀少,希望哪天可以降低使用門檻。
仍在進行的隱私科技開發
開源硬體錢包
顧名思義就是門羅專案除了和著名硬體錢包如 Ledger Nano 整合外,也希望可以設計出完全開源和安全的硬體錢包。
在本篇文章中我精簡的介紹了門羅的特徵和科技,希望能夠說服大家這是去中心化帳本中真正落落地的偉大存在,如果你喜歡本文覺得有幫助的話請歡迎分享、轉發、留言、甚至捐款(我是有收門羅的 XD)。
?相關報導?
凝視奇點的物理學徒|反思當代美國政治,從「自由意志主義」談加密貨幣
新加坡特派員|「星國」加密貨幣交易所的「基礎建設」XFERS,與主流法幣出入金通道總覽
HTC|利用充電時間挖「門羅幣」!Proof of Capital 投資台灣新創實現區塊鏈手機挖礦
讓動區 Telegram 新聞頻道再次強大!!立即加入獲得第一手區塊鏈、加密貨幣新聞報導。
LINE 與 Messenger 不定期為大家服務