Iron Fish: 제2차 세계대전 암호인 "잠수함"에서 이름을 딴 프라이버시 프로젝트

블록비츠
2021-12-09 22:00:14
수집
A16Z는 최근 한 달 동안 두 개의 프라이버시 프로젝트에 연속 투자하며 프라이버시 분야에 주목하기 시작했습니다.

作者:zZ

용도에 따라 블록체인 분야의 프로젝트를 다양한 섹션으로 나누면, "프라이버시" 분야는 최근 시장에서 그다지 주목받지 못하는 섹션 중 하나일 수 있습니다.

사용 측면에서 볼 때, 프라이버시 분야는 XMR과 같은 토큰을 사용하여 추적 및 검열을 피해야 하는 단계에서 벗어났습니다. 동시에 블록체인의 서사도 더 이상 다크웹을 보완할 필요가 없습니다. 한편, 각국의 규제 기관은 암호화 세계에 대한 규제 정책 프레임워크를 점차 완비하고 있으며, 주류 자본과 핫머니가 프라이버시 분야에 진입할 때 반드시 참여 위험을 고려할 것입니다.

이러한 여러 이유로 인해, 프라이버시와 편리성에서 성과를 거두는 프로젝트는 드뭅니다. 이는 편리성을 희생하고 프라이버시를 극대화하는 방향으로 발전하면 시장의 인정을 받을 수 있다는 것을 의미합니다.

Iron Fish는 개념 제안에서부터 기본 설계, 현재의 인센티브 테스트넷 출시까지 모든 것이 비밀스러운 프라이버시 프로젝트입니다.

잠수함

Iron Fish는 중국어로 철어(铁鱼)로 번역됩니다. 제2차 세계대전 당시, 철어는 미군이 암호화된 전송을 위해 사용한 "잠수함"이라는 용어입니다. Iron Fish의 창립자 Elena Nadolinski는 이 이름을 사용한 이유는 Iron Fish의 이력이 암호학의 힘을 보여주며, "Iron(철)"과 "Fish(물고기)"라는 두 가지 거래 가능한 상품을 포함하고 있기 때문이라고 말했습니다.

프라이버시에 대해 이야기할 때, 먼저 프라이버시의 정의를 명확히 해야 합니다. 블록체인에서는 주로 프라이버시를 "신원 프라이버시"와 "거래 프라이버시"의 두 가지로 나눕니다.

신원 프라이버시는 주로 사용자 신원과 블록체인 주소 간의 연관 관계를 의미합니다. 현재 시장에 있는 대부분의 프로젝트는 믹싱 풀, 보안 기관의 체인 상 추적 등을 통해 신원 프라이버시를 재암호화하거나 해제하는 데 주력하고 있습니다. 신원 프라이버시 탐색을 진행하는 대부분의 프로젝트는 거래 특성과 거래 규칙을 분석하고 일부 소셜 엔지니어링 데이터베이스와 결합하여 비교 분석합니다.

블록체인의 장부 기록 특성으로 인해, 거래 프라이버시는 체인 상 데이터를 기반으로 가치 있는 정보를 추출하는 것입니다. 현재 업계에서 잘 알려진 그래프 데이터베이스 프로젝트인 Dune Analytics, Nansen, Glassnode 등은 체인 상 공개 데이터를 수집하고 알고리즘이나 일정한 규칙으로 정리한 후 가치 있는 정보를 출력합니다.

물론, 일부는 체인 상 공개된 정보가 프라이버시 정보가 아니라고 생각합니다. 그러나 이러한 정보를 모두 숨길 수 있는 새로운 프로토콜이나 기술이 있을까요?

Iron Fish의 아이디어는 거래 정보, 채굴 정보, 지갑 정보가 모두 숨겨져 있으며, 개인 키 소유자를 제외한 어떤 제3자도 이를 볼 수 없도록 하는 것입니다. 이 목표를 달성하기 위해 Iron Fish는 PoW 합의 메커니즘과 제로 지식 증명(Zcash의 Sapling Protocol)을 사용합니다. 또한, Iron Fish는 향후 네트워크 레이어가 WebRTC와 WebSockets를 지원할 것이라고 밝혔습니다. 이는 브라우저를 통해 Iron Fish의 전체 노드를 직접 실행할 수 있음을 의미합니다.

토큰 경제

설정에 따르면, Iron Fish Token의 총량은 약 256,970,400개이며, 초기 공급량은 약 420만 개입니다. 메인넷이 시작된 첫 해에는 각 블록당 20개의 보상이 주어지며, 이후 매년 블록 보상은 감소 함수에 따라 줄어듭니다.

해방 수량과 시간 변화는 다음과 같습니다:

메인넷 시작 전의 인센티브 테스트넷에서 Iron Fish는 사용자 보상을 위해 총 42만 개의 토큰을 준비했습니다. 보상 방식은 주로 포인트 누적에 의존하며, 포인트는 인센티브 테스트넷에서 채굴, 버그 찾기 또는 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에서 이미지를 클릭하고 최신 소프트웨어를 실행합니다. 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 사용 시 연결 끊김 및 메모리 누수 등의 문제가 있습니다. 이러한 모든 문제가 메인넷이 도래하기 전에 해결되기를 바랍니다.

체인캐처(ChainCatcher)는 독자들에게 블록체인을 이성적으로 바라보고, 리스크 인식을 실제로 향상시키며, 다양한 가상 토큰 발행 및 조작에 경계해야 함을 상기시킵니다. 사이트 내 모든 콘텐츠는 시장 정보나 관련 당사자의 의견일 뿐이며 어떠한 형태의 투자 조언도 제공하지 않습니다. 만약 사이트 내에서 민감한 정보를 발견하면 “신고하기”를 클릭하여 신속하게 처리할 것입니다.
banner
체인캐처 혁신가들과 함께하는 Web3 세상 구축