현재 비트코인 테스트넷보다 더 나은 것은 무엇일까요? 매우 예측 가능한 테스트넷입니다. 이것이 칼-요한 알름이 제안한 비트코인 시그넷의 목표이며, 한 단어로 설명하자면 “안정적”입니다.
테스트넷이란?
비트코인 개발자들은 실험할 장소가 필요합니다. 그래서 우리는 비트코인의 두 가지 “버전”이 있습니다: 메인넷(모든 것이 실제이고 동전이 가치를 가지는 곳)과 테스트넷(메인넷을 모방하지만 동전은 실제 가치를 가지지 않는 곳)입니다.
테스트넷의 동전이 무가치하다는 사실은 첫 번째 문제를 가져옵니다.
테스트넷 비트코인은 메인넷 비트코인과 마찬가지로 작업 증명(PoW) 합의 메커니즘을 기반으로 합니다. 블록을 채굴하기 위해서는 실제 자원을 사용해야 합니다(“작업을 수행해야” 함). 사람들이 채굴한 동전을 판매하거나 사용할 수 없는 테스트넷에서 왜 그렇게 할까요? 테스트넷의 이타적인 기반은 비트코인의 메인 체인에는 존재하지 않는 많은 변수를 가져옵니다.
테스트넷 블록이 자원봉사자에 의해 채굴된다는 사실은 신뢰성에 있어 두 가지 큰 절충점을 의미합니다. 하나는 블록 간격의 변동성(초에서 시간 또는 심지어 일로 변경될 수 있음)이고, 두 번째는 재조직입니다(역사상 몇 천 개 블록의 재조직이 발생했습니다). 블록 간격 변동성은 주로 난이도 조정의 변화나 채굴자들이 네트워크에 연결되거나 연결이 끊어지는 것에 의해 발생하며, 해시율이 변경됩니다. 아래 차트에 나타난 바와 같이 블록 시간 간격의 높은 변동성을 나타냅니다.
이러한 모든 변수들로 인해 라이트닝 네트워크와 같은 솔루션을 테스트하는 것은 개발자들의 삶을 더 어렵게 만들 수 있습니다. 그들은 무엇이 실패하고 있는지에 대한 결정을 내려야 합니다: 테스트넷 프로토콜 자체의 문제인가, 아니면 테스트 중인 애플리케이션의 문제인가요?
레그테스트
개별 개발자를 위한 테스트넷의 개인 버전인 레그테스트가 있습니다. 이는 샌드박스 테스트 환경으로, 외부 세계와의 연결이 없으며 모든 연결이 수동으로 설정됩니다. 개발자는 노드를 생성하고 연결하는 것부터 블록을 채굴하고 수동으로 재조직하는 것까지 레그테스트 테스트 환경에 대한 모든 제어를 갖습니다. 샌드박스와 같은 특성 때문에 특정 조건 하에서 자동화된 테스트와 같은 일부 유형의 테스트만 허용됩니다.
레그테스트의 경우, 사용자는 인터넷에 연결되지 않고도 이를 사용할 수 있습니다. 그러나 레그테스트는 공공 테스트넷의 역할을 할 수 없습니다. 사용자는 특정 레그테스트 관리자에게 노드를 생성해 달라고 요청하고 권한과 접근을 부여받아야 합니다.
레그테스트의 안정성을 모방할 수 있다면, 공개적이고 분산된 환경에서 그것이 테스트넷의 다음 진화가 될 것입니다.
시그넷
시그넷은 알름이 제안한 새로운 유형의 비트코인 테스트 네트워크입니다. 가장 중요한 특성은 무엇일까요? 완전한 합의 중앙집중화입니다. 분산된 채굴자 네트워크 대신, 비트코인 시그넷은 유효한 서명을 기반으로 새로운 블록을 생성할 권한을 가진 전담 기관이나 그룹이 있습니다.
하나 또는 여러 개의 블록 서명자 덕분에 샌드박스 기반의 레그테스트 환경 없이도 매우 안정적인 환경을 달성할 수 있습니다. 새로운 시그넷은 특정 매개변수(사이드체인 테스트와 같은)를 사용하여 운영하려는 당사자에 의해 생성될 수 있으며, 블록 간격 및 계획된 재조직을 포함합니다. 고전적인 테스트넷 성능이 연결된 해시 파워에 의존하는 반면, 비트코인 시그넷은 블록을 생성하기 위해 중앙 집중식 관리자에게만 의존하므로, 시그넷의 동작은 훨씬 더 예측 가능하며 아래 차트에서 볼 수 있듯이 메인넷을 더 정확하게 시뮬레이션합니다.
시그넷은 여전히 PoW에 의존하지만 블록을 채굴하기 위해 자동으로 시그넷을 생성하는 개인이 키 쌍(개인/공개 키)을 생성하는 것에도 의존합니다. 시그넷 제안서는 기본 시그넷을 생성하는 사람은 “커뮤니티에서 충분히 신뢰받는 사람으로, 시스템(블록 생성 코드, 수조 등)을 운영할 의향이 있는 사람”이어야 한다고 명시합니다. 시그넷 서명자는 여전히 일부 PoW 작업을 수행해야 하지만, 작은 난이도 목표로 블록 헤더에 유효한 PoW가 포함되도록 해야 합니다.
이 관리자 계정은 단일 실패 지점을 완화하기 위해 다중 서명 체계를 생성할 수 있는 옵션을 제공합니다. 따라서 기본 시그넷을 관리하는 한 사람이 아니라 m명의 n 키 보유자로 구성된 그룹이 될 수 있습니다.
시그넷의 생성과 매 블록 채굴 시, 관리자는 이를 사용하려는 당사자에게 채굴된 시그넷 동전을 분배해야 합니다. 전통적인 테스트넷에서는 이 작업이 PoW 채굴자에 의해 수행되었습니다.
테스트넷 동전이 무가치하다고 가정되기 때문에 기본 테스트넷은 역사상 두 번 재설정되어 공공 테스트 환경으로만 존재해야 한다는 규칙을 강화했습니다. 시그넷은 완전히 중앙 집중화된 네트워크이기 때문에, 그 합의 제안은 비트코인 메인넷에서는 의미가 없을 것입니다(실제로 완전히 받아들일 수 없습니다). 이 경우, 테스트 네트워크로서 기능하기 위해서는 중앙 집중화가 완전히 허용됩니다.
현재 기본 “시그넷”은 자체 블록 탐색기와 수조가 있어 동전 분배를 가능하게 합니다. 이 네트워크에 대한 정보 BIP는 작성 시점에서 여전히 초안 단계에 있습니다.