14십일월–십이월 2010

슬러시 풀: 프라하의 채굴자 로또에 대한 아이디어

마레크 팔라틴은 작은 채굴자의 성능을 결합하여 더 자주 작은 지불금을 그들 사이에 분배했다. 첫 번째 공개 풀은 비트코인의 하나의 불확실성을 해결하면서 동시에 새로운 신뢰 지점을 만들었다.

2010년 십일월 말, 가정용 채굴자는 컴퓨터를 몇 주 동안 돌리고도 아무것도 얻지 못할 수 있었다. 운이 좋으면 50 BTC 전부를 보상으로 받았고, 그렇지 않으면 전기료를 내고 계속 기다렸다. 프라하의 프로그래머 Marek “Slush” Palatinus는 각자가 자기 복권을 긁는 일을 그만두자고 제안했다. 기계들은 공동 블록을 작업하고 서비스는 입증된 작업량에 따라 보상을 나누는 방식이었다. 십일월 27일 그는 “cooperative mining server”를 소개했다. 삼 주가 채 지나기 전에 풀은 블록 97 834를 채굴했다. 한 사람의 즉흥적인 프로젝트에서 오늘날의 채굴을 상상하기 어려울 만큼 중요한 모델이 자라났고, 분산 네트워크가 얼마나 많은 조정을 안전하게 감당할 수 있는가라는 논쟁도 함께 시작됐다.

01

오십 비트코인, 또는 오랜 시간 동안 아무것도 없었다

비트코인은 당시 블록의 승자에게 오십 개의 코인을 보상했다. 네트워크에게 이것은 간단한 메커니즘이었지만 개인에게는 힘든 복권이었다. 블록을 찾을 확률은 전체 네트워크에 대한 그의 계산 성능의 비율에 해당했다. 총 처리 능력이 증가함에 따라 작은 채굴자는 자신의 기계가 중단 없이 작동했음에도 불구하고 점점 더 오래 기다릴 수밖에 없었다.

장기 평균은 호의적으로 보였지만 전기 요금은 매달 오고 있었다. 개인은 큰 변동성을 감당해야 했다. 즉 전체 보상을 얻거나 오랜 기간 동안 전혀 아무 것도 얻지 못했다. 이것은 작은 해시 레이트를 가진 사람들을 밀어냈는데, 비록 그들의 일이 큰 운영과 비교했을 때 네트워크의 관점에서 똑같이 유용했지만 말이다.

팔라틴은 직접 경험으로 인해 문제를 알고 있었다. 그는 포럼에서 공유 서버가 수천 개의 작은 시도를 연결하고 결과를 분할할 수 있다고 설명했다. 이제 참가자는 더 이상 자신의 드문 성공을 기다리지 않을 것이다. 참가자는 단지 그룹 내의 누구에게나 블록이 성공할 때마다 작은 부분을 받을 뿐이다.

마이닝 풀은 전체 그룹의 확률을 변경하지도 않고 비트코인을 더 많이 생성하지도 않는다. 그것은 시간에 따른 위험 분배를 변경한다. 큰 상을 가진 한 장의 로또와 많은 로또 묶음에서 정기적으로 받는 몫의 차이이다. 더 안정적인 수입을 위해 마이너는 수수료와 운영자의 올바른 회계에 대한 의존성을 지불한다.

슬러시의 제안은 순수한 기술적 승리로서만 제시되지 않았다. 이미 첫 번째 스레드에서 그는 장점과 단점, 그리고 필요한 신뢰를 열거했다. 서버는 제출된 작업을 올바르게 측정해야 했고, 보상을 훔치지 않으며, 항상 사용 가능해야 했다. 풀은 하나의 불확실성을 제거했지만, 비트코인 합의가 통제하지 않는 중간자를 추가했다.

소규모 채굴자에게 가장 큰 문제는 평균 수익률이 아니라 시간이었다. 통계적으로는 매일 보상의 일부를 받을 자격이 있었지만, 실제 프로토콜은 노력에 대한 일부 보상을 지급하지 않았다. 그의 기계가 유효한 블록을 찾아내면 오십 비트코인 전부를 얻었고, 그렇지 않으면 아무것도 얻지 못했다. 긴 연패는 장치가 작동하지 않았다는 뜻이 아니었다. 다만 로또가 아직 그의 편으로 돌아서지 않았다는 뜻일 뿐이었다. 공동 서버는 이 불규칙한 사건을 증명된 작업량에 따라 더 작은 몫으로 나누어 주었다. 풀은 발견할 블록의 기대 수를 늘리지 않았지만, 수익의 리듬을 바꾸었고, 바로 이 차이가 한 사람이 계속 채굴할 수 있을지를 결정할 수 있었다.

02

협력적인 마이닝 서버

2010년 11월 27일의 발표는 완성된 기업용 제품을 내놓는 자리가 아니었다. 팔라티누스는 프로토콜과 연결 방식, 보상 체계를 시험해 줄 사람들을 찾고 있었다. 시스템은 부분적인 작업 증명을 받아들여야 했다. 유효한 블록을 만들기에는 부족하지만 채굴자가 실제로 계산을 수행했다는 사실은 보여 줄 수 있는 결과였다.

셰어라고 부르는 이런 부분적인 계산 결과를 통해 풀은 각 장비의 기여도를 추정할 수 있었다. 참가자 중 누군가가 전체 네트워크의 난이도 조건을 충족하는 해시를 찾으면, 풀은 블록 보상을 받아 정해진 정산 규칙에 따라 나눴다. 일반 채굴자에게는 언제 받을지 모르는 오십 비트코인의 보상이 더 적은 금액의 연속적인 지급으로 바뀐 셈이었다.

첫 번째 서비스 형태는 Bitcoin.cz Mining Pool이라는 이름으로 운영되었다. 웹, 서버, 및 지원은 대부분 한 사람의 작업이었다. 이것이 체코의 우선권에 더 정확한 차원을 제공한다. 그것은 국가 프로젝트나 국가 프로그램이 아니었으며, 프라하에서 글로벌 네트워크의 구체적인 경제적 문제를 해결한 프로그래머에 관한 것이었다.

풀은 동시에 후보 블록을 구성하고 채굴자들에게 작업을 배분해야 했다. 개별 기기는 연산력을 제공했지만, 어떤 헤더로 작업하는지와 템플릿에 어떤 거래가 포함되는지는 운영자가 결정했다. 따라서 하드웨어를 여러 사람에게 분배하는 것만으로는 의사결정의 분산이 자동으로 보장되지 않았다.

이후 채굴 프로토콜의 발전, Stratum V1를 포함하여, 풀과 기기 간의 통신을 효율화하고자 했다. 그러나 기본적인 거래는 변하지 않았다: 풀은 더 예측 가능한 수익을 판매하고 채굴자는 그에게 일부 조정을 위임한다. 첫 번째 서버가 만든 모델은 다른 서버들이 빠르게 따랐다.

03

블록 97 834

풀은 2010년 12월 16일 정식 운영을 시작했고, 같은 날 97,834번 블록을 채굴했다. 지금 체인에 남은 기록은 결과를 보여 주지만, 그 전에 느꼈던 긴장까지 보여 주지는 않는다. 서버가 제출된 작업을 제대로 받아들이고, 유효한 블록을 알아보며, 연산 능력을 제공한 사람들의 기여분을 정확하게 기록할 수 있을지가 관건이었다.

첫 번째 블록이 확인됨으로써 조정이 테스트에서만이 아니라 실제로도 작동하는 것을 확인할 수 있었다. 보상은 참가자들 사이에서 분할될 수 있었고 그들 중 대부분은 그 순간에 혼자서 아무런 보상을 받지 못했을 것이다. 소규모 채굴자들에게 이는 그들의 약한 기계가 네트워크 경제에서 즉시 밀려나지 않을 수 있다는 구체적인 증거였다.

날짜는 중요하게 구별해야 하는데, 이는 십일월의 발표와 다르기 때문이다. 아이디어, 공개 테스트, 그리고 실제 결과는 세 가지 다른 단계였다. 이 이야기는 갑자기 블록을 찾은 것에서 시작하지 않으며, 그 이전 몇 주 동안 슬러시가 공개적으로 설계를 설명하고 커뮤니티에 오류를 찾는 데 도움을 요청한 때로부터 시작된다.

성공은 더 많은 성능을 가져왔고, 그에 따른 책임도 따라왔다. 풀에서 관리하는 네트워크의 부분이 클수록, 각종 장애나 잘못된 결정에 대한 민감도도 높아졌다. 서비스는 계정을 보호하고, 보상을 계산하며, 공격에 대응해야 했다. 이제 이것은 단순히 운을 맞추는 스크립트가 아니었다; 다른 사람들이 자신의 회계에 의존하는 인프라스트럭처였다.

블록 97 834는 금액으로는 특별히 의미 있는 것이 아닙니다. 다른 채굴자들도 같은 양의 오십개의 비트코인을 얻었습니다. 특별한 점은 그 블록을 얻기까지의 과정과 그 블록을 어떻게 분배했는지에 있습니다. 블록체인에 기록된 한 줄은 많은 기계들이 함께 일한 결과를 나타내며, 풀링이 공개 네트워크에서 작동할 수 있다는 첫 번째 실제적인 증거입니다.

04

슬러시에서 풀 산업으로

이 프로젝트는 이후 Slush Pool과 Braiins Pool이라는 이름을 거쳤다. Braiins 팀은 이 서비스를 전문화했고, Marek Palatinus는 SatoshiLabs와 하드웨어 지갑 Trezor에 더 많은 에너지를 쏟았다. 그러나 원래 서버에서 비트코인 채굴 역사상 가장 오래된 이름 중 하나로 이어지는 단절 없는 역사적 계보가 남아 있다.

풀링은 채굴의 가능성을 넓혔지만, 점차 블록 템플릿 생성을 소수의 서비스로 집중시켰다. S올로 채굴자는 어떤 블록을 만들지 스스로 결정한다. 일반 풀의 참가자는 흔히 자신이 받은 작업을 계산하는 데 그친다. 물리적 작업은 분산될 수 있지만, 조정 결정은 중앙집중적으로 남는다.

이 집중은 풀에 연결된 모든 장비를 소유하고 있다는 것을 의미하지 않는다. 채굴자들은 수수료, 검열 또는 운영자들의 행동에 동의하지 않는다면 성능을 다른 곳으로 전환할 수 있다. 그러나 전환에는 정보와 대응할 의지가 필요하다. 따라서 분산성은 장치의 수만이 아니라 블록을 구성하는 사람과 또한 조정자를 변경하기가 얼마나 쉬운지에 따라 측정된다.

슬러시의 첫 글은 이 타협을 숨기지 않았다. 경제적 문제의 해결책을 제시하면서도, 그 해결책이 요구하는 신뢰를 명명했다. 바로 이 개방성이 이후의 승리주의 없이 이 이야기를 읽을 수 있게 해준다: 풀은 최종 답이 아니라, 명확한 비용이 따르는 새로운 도구였다.

프라하 프로젝트는 노동을 운에서 분리함으로써 채굴을 변화시켰다. 개인은 더 이상 혼자서 블록 전체를 획득해야만 자신의 해시레이트가 지속적 가치를 얻는 것이 아니게 되었다. 동시에, 중앙은행 없이 설계된 시스템이라 할지라도 사람들이 조정을 위임하는 서비스들이 생겨날 것임을 보여주었다. 문제는 그런 서비스들이 생겨나는가가 아니라, 참여자들이 그것들을 통제하고, 떠나고, 대체할 수 있는가이다.

풀의 집중도는 연결된 기기의 수만으로 측정할 수 없다. 중요한 것은 누가 블록 템플릿을 조립하고, 트랜잭션을 선택하고, 지급 규칙을 설정하며, 문제가 발생했을 때 참여자들이 소프트웨어를 변경하도록 설득할 수 있는가이다. 채굴자는 다른 사용 가능한 대안이 있고, 실제로 해당 서비스가 무엇을 하는지 주시하고 있을 때만 풀을 떠날 수 있다. 슬러시의 신뢰에 대한 원래 설명은 이 측면에서 여전히 유효하다. 풀링은 실제 경제적 문제를 해결한 동시에, 경쟁과 투명성, 그리고 이탈의 가능성이 필요한 새로운 영역을 만들어냈다. 탈중앙화는 조정을 금지함으로써 유지되는 것이 아니라, 조정이 통제 불가능한 권력으로 굳어지지 않도록 함으로써 유지된다.

Atlas

아틀라스의 인물과 개념

POOL·0Braiins PoolSLUSHMarek ‘Slush’ PalatinusPOOLMining PoolSOLOSolo MiningHASH채굴H/sHashrateSV1Stratum V1
  1. 01
    비트코인토크 / 사토시 나카모토 연구소 — 협력적인 채굴

    원래 슬러시의 발표, 작은 규모의 정기적인 지불에 대한 논리, 그리고 신뢰에 관한 공개적인 토론.

  2. 02
    브라이인스 — 해싱의 역사

    비트코인 채굴 풀의 역사, 브라이인스로의 전환과 사토시랩스에 대한 연관성

  3. 03
    브라이인스 — 해시레이트를 상품으로

    정식 출시일은 16. 일월 2010, 블록 97 834와 보상 공유의 경제적 의미.

  4. 04
    Mempool.space — 블록 97 834

    퍼블릭 블록체인 기록에 남은 첫 번째 블록의 풀 기록.

다음 이야기 · 15비트코인이 두 개의 유효한 역사로 나뉘었던 밤