Iron Fish:以二戰加密語「潛艇」命名的隱私項目
作者:zZ
如果根據用途的不同,將區塊鏈領域存在的項目劃分成不同的板塊。那麼「隱私」領域可能是近期不受市場青睞的板塊之一。
從使用上來看,隱私領域已經脫離了需要使用諸如 XMR 等 token 來避免追蹤審查的階段。同時,區塊鏈的敘事也已經不再需要暗網進行補充。另一方面,各國監管層對加密世界的監管政策框架正趨於完善,主流資金、熱錢在進入隱私領域時勢必會考慮參與風險。
因為以上種種原因,很少項目能夠在隱私和方便性上取得成績。這也意味著,犧牲方便性,把隱私往極致上發展或許能夠獲得市場的認可。
Iron Fish 便是一個從概念提出到底層設計,直至如今推出了激勵測試網,渾身都包裹著保密的隱私項目。
潛艇
Iron Fish,中文翻譯成鐵魚。二戰時,鐵魚是美軍用於加密傳輸「潛艇」的詞語。Iron Fish 創始人 Elena Nadolinski 表示,之所以使用這個名字在於,Iron Fish 這段歷史展示了密碼學的力量,並且還包含了兩種可交易的商品「Iron 鐵」和「Fish 魚」。
談到隱私,那麼不得不先確定隱私的定義,在區塊鏈中,主要將隱私分為兩類「身份隱私」和「交易隱私」。
身份隱私主要指用戶身份與區塊鏈地址之間的關聯關係。目前市面上大部分項目如混幣池、安全機構的鏈上追蹤都致力於再加密或解開身份隱私。大部分進行身份隱私探索的項目主要依靠交易特徵以及交易規律甚至結合一些社工庫進行分析比對。
由於區塊鏈記帳的特性,交易隱私則是根據鏈上數據進行一些有價值信息的提取。目前大部分業內知名的圖數據庫項目,包括 Dune Analytics、Nansen、Glassnode 等等都是收集鏈上公開數據,經過算法或一定規則的清洗之後輸出有價值信息。
當然,有人認為在鏈上公開存在的信息不是隱私信息。但是,是否又有一種新協議或技術,將這些信息全部隱藏呢?
Iron Fish 的想法便是如此,包括交易信息、挖礦信息、錢包信息全都處於隱藏,除了私鑰所有者以外,任何第二方都無法查看。為實現這一目標,Iron Fish 使用了 PoW 共識機制和零知識證明(Zcash 的 Sapling Protocol)。並且,在路線上,Iron Fish 表示,未來網絡層將支持 WebRTC 與 WebSockets,這意味著可通過瀏覽器直接運行完整的 Iron Fish 節點。
Token 經濟
根據設定,Iron Fish Token 總量約為 256,970,400 枚,初始供應量約 420 萬枚。主網啟動後第一年,每個區塊獎勵 20 枚,隨後每一年的區塊獎勵都將根據衰減函數遞減。
釋放數量與時間變化如下:
在主網啟動前的激勵測試網,Iron Fish 也準備了總量 42 萬枚的 Token 用於獎勵用戶。方式主要靠累計積分,積分可根據激勵測試網挖礦、尋找 bug 或在 Github 中修改批註(Pull Request)等方式獲得。每個獲得積分的類別每週累計積分上限為 1000 分。同時,每開採一個區塊累計 100 分,這意味著每週激勵測試網挖礦獲得積分上限為 10 個區塊。
如何參與挖礦
1、註冊帳號
在啟動節點前,需要在官網(https://testnet.ironfish.network/leaderboard)進行帳號註冊。有意思的是,Iron Fish 的註冊使用的是 Magic Link,Magic 鏈接同樣是使用零知識證明用於保護隱私。(感興趣的可閱讀:《Magic:你的下一個密碼何必是密碼|項目介紹》)
需要注意的是,graffiti(塗鴉)是整個參與 Iron Fish 唯一的識別碼,後續將用於激勵測試網工作證明識別。
2、安裝 Iron Fish
在完成註冊後,開始啟動節點,啟動節點目前較為簡單的方式為使用 Docker 容器進行安裝,並且該方法適用於全平台。不過,有用戶親測,使用 Docker 挖礦算力低於其他方式約 15%,因此本文將多介紹使用 MacOS 軟件包管理系統 Homebrew。
2.1、Docker
在 Docker 官網下載對應版本,然後打開系統終端(Windows 為 PowerShell,macOS 為終端)
隨後,輸入:
Windows:
docker run --rm --tty --interactive --network host --volume %USERPROFILE%/.ironfish:/root/.ironfish ghcr.io/iron-fish/ironfish:latest
其他平台:
docker run --rm --tty --interactive --network host --volume $HOME/.ironfish:/root/.ironfish ghcr.io/iron-fish/ironfish:latest
首次安裝需要的時間較長,部分用戶在首次安裝時還會安裝一些 Iron Fish 運行所必備的環境。
後續軟件更新需要打開 PowerShell/終端,並輸入:
docker pull ghcr.io/iron-fish/ironfish:latest
等待一段時間後,Iron Fish 安裝完成。
2.2、macOS
在 macOS 下,需要使用軟件包管理系統 Homebrew。打開終端,並輸入:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
大部分國內用戶在這一步可能會產生各種安裝錯誤,建議使用科學上網或使用國內鏡像。
在安裝完成 Homebrew 之後,在終端中輸入:
brew tap iron-fish/brew \&\& brew install ironfish
等待一段時間後,Iron Fish 安裝完成。
3、開始挖礦
在開始挖礦之前,需要啟動節點並同步全網數據。
在 Docker 中,點擊 Images 並選擇 run 最新軟件。macOS 則在終端中輸入:
ironfish start
節點啟動完成後,便是最重要的一步,在網絡中標註上你唯一的標識。Docker 中點擊 CLI,macOS 新建一個終端窗口,並輸入(zZH 需替換成註冊帳號輸入的 graffiti):
ironfish config:set blockGraffiti "zZH"
修改完 graffiti 後,並且節點同步完成之後,可以開始進行挖礦。如果你想在挖礦的同時進行一些其他工作,可以輸入:
ironfish miners:start
如果想將 CPU 的負載跑滿,可以試試輸入:
ironfish miners:start -t -1
就激勵性測試網的挖礦工作而言,只使用 CPU,不影響 GPU 的工作。經過近一周的測試,在目前難度下,6 核 12 線程的 AMD 2600X 使用 Docker 的算力大約在 700 KH/s 上下波動,平均 2 天能夠挖出一個塊;4 核 8 線程的 Intel i7 4870HQ 在 macOS 下的算力大約在 270 KH/s(波動較大),經過一周時間,並未挖出區塊。因此並不建議舊款的筆記本參與測試。
成功挖出區塊後,我們可以在區塊瀏覽器(只能根據 graffiti 判斷區塊的挖取方)或者本地查看。
除此之外,包括轉帳、水龍頭、查看節點狀態等等操作都可以在官方文檔中查看,操作方式都是點擊 CLI 或創建新的終端界面,並輸入代碼。
項目融資情況
2021 年 3 月 6 日,Iron Fish 宣布完成 530 萬美元融資,融資方包括 Electric Capital、Elad Gil、Metastable、A Capital、Slow Ventures、Dylan Field、John Lilly、Jack Abraham、Juan Benet、Jack Chou、Balaji Srinivasan、Lemniscap、James Prestwich 和 Linda Xie。
11 月 30 日,A16Z 宣布領投 Iron Fish 2760 萬美元 A 輪融資,其他融資方包括紅杉資本、Electric Capital、Metastable、Arrington XRP Capital、Do Kwon、Matt Luongo 和 Nathan McCauley。
事實上,A16Z 關注隱私領域並且投資 Iron Fish 並不意外,早在 11 月 18 日,A16Z 在宣布投資隱私項目 Nym 的時候,就透露包括 Iron Fish 在內的項目正在解決應用層上的隱私問題。
從 Iron Fish 上線測試網至如今啟動激勵測試網,能夠發現 Iron Fish 正在不斷迭代,但其網絡狀況依舊存在較多問題,如區塊時常擁堵、區塊瀏覽器與鏈上信息脫鉤、水龍頭時好時壞以及使用 Docker 時的斷聯和內存溢出等等。希望這一切問題都能在主網到來之前解決。