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 时的断联和内存溢出等等。希望这一切问题都能在主网到来之前解决。