395 / 736CORALLO

Matt Corallo

TheBlueMatt로 알려진 개발자

새 Bitcoin 블록이 생기면 다른 컴퓨터도 그 사실을 알아야 합니다. Matt Corallo는 더 적은 통신량과 더 짧은 지연으로 데이터를 전달하는 방법을 연구했습니다. 개발자가 Lightning 앱을 만드는 데 쓰는 소프트웨어에도 기여했습니다.

Matt Corallo는 TheBlueMatt로 알려진 Bitcoin 개발자로, Compact Block Relay, FIBRE 전송 네트워크, rust-lightning과 관련이 있습니다. 이 작업들을 잇는 질문은 실용적입니다. 속도를 정확성의 보장과 혼동하지 않으면서 네트워크와 앱을 어떻게 개선할 수 있을까요?

GitHub에서 Matt Corallo는 TheBlueMatt라는 이름을 씁니다. 프로필에는 여러 저장소를 git.bitcoin.ninja로 옮겼다는 안내가 있습니다. 저장소는 소스 코드와 변경 이력을 보관하는 곳이므로, 예전 주소가 비었다고 개발이 중단됐다고 단정할 수는 없습니다. 누가 무엇을 했는지 보려면 이력과 제안, 작성자를 살펴봐야 합니다. Corallo의 경우 효율적인 블록 전송에서 Lightning 개발 도구로 이어집니다. [1]

Bitcoin을 검증하는 컴퓨터는 미확인 거래를 계속 교환합니다. 새 블록이 도착할 때 그 내용의 상당 부분을 이미 알고 있을 수 있습니다. Compact Block Relay는 이를 활용합니다. 공개 기술 명세 BIP 152는 Corallo를 저자로 기재하고, 초기 아이디어와 설계, 시험에 참여한 Gregory Maxwell에게 감사를 표합니다. 주된 목표는 전송량을 줄이는 것입니다. 전송이 빨라질 수도 있지만 블록의 유효성을 결정하는 규칙은 바뀌지 않습니다. [2]

공유 문서 목록을 생각해 보세요. 대부분을 이미 가지고 있다면 새 묶음에 어떤 문서가 들어가는지만 알면 됩니다. BIP 152도 짧은 거래 식별자와 미확인 거래를 담아 두는 로컬 공간인 mempool을 활용합니다. 수신자는 부족한 데이터를 getblocktxn 메시지로 요청합니다. 식별자는 충돌할 수 있습니다. 서로 다른 거래가 같은 짧은 표기를 갖는다는 뜻입니다. 전송량을 줄여도 실제 데이터를 확보하고 올바른 블록을 복원했는지 확인해야 합니다. [2]

정해진 조건에서는 BIP 152가 모든 거래를 완전히 검증하기 전에 압축된 알림을 보내도록 허용합니다. 아무 데이터나 전달해도 된다는 뜻은 아닙니다. 헤더, 검증된 체인과의 연결, 작업 증명, 포함된 거래에 대한 커밋먼트를 확인해야 합니다. 복원한 뒤에는 블록을 정상 절차로 처리합니다. 수신자는 실제로 존재하는 자금이 규칙에 맞게 쓰이는지 계속 검사합니다. “블록이 도착했다”와 “블록이 유효하다”는 별개의 판단입니다. [2]

인터넷은 데이터를 패킷이라는 작은 조각으로 보냅니다. 하나가 사라지면 재전송을 기다리느라 지연이 늘어납니다. Corallo는 2016년 7월 7일 FIBRE를 설명했습니다. 압축된 블록에 UDP와 FEC를 결합하는 방식입니다. UDP는 손실 패킷을 자동으로 다시 보내지 않는 전송 방식이고, FEC는 빠진 부분을 복구하는 코딩입니다. 추가 데이터 덕분에 다시 요청하지 않고 내용을 복원할 수 있지만, 그만큼 전송량은 늘어납니다. 모든 상황에서 완벽한 전달을 보장하지는 않습니다. [3]

FIBRE는 개별 패킷을 검사하기 전에 전달할 수 있습니다. 시간을 아끼는 대신 내부 노드 사이에 강한 신뢰가 필요합니다. 임의의 미확인 연결을 허용한다는 뜻은 아닙니다. 공개 코드로 다른 네트워크를 만들 수 있어도 특정 네트워크 운영자는 연결 상대를 선택할 수 있습니다. FAQ에 따르면 2025년 Localhost Research의 w0xlt와 Justin이 유지보수를 맡았고 Corallo와 Maxwell이 조언했습니다. 다른 사람들의 작업이 프로젝트의 역사를 이어 갑니다. [4]

Corallo의 또 다른 작업은 Bitcoin 위의 결제 채널로 송금하는 네트워크인 Lightning과 관련됩니다. rust-lightning의 lightning 패키지를 설명하는 매니페스트에는 Matt Corallo가 저자로 적혀 있습니다. Rust로 작성된 라이브러리는 Lightning 핵심 기능을 제공하며, 지갑과 블록체인 연동, 저장, 네트워크 방식은 앱이 선택할 수 있습니다. 이 표기는 이후 모든 변경을 한 사람이 작성했다거나 라이브러리만으로 지갑이 완성된다는 뜻이 아닙니다. [5]

LDK는 개발 도구 모음인 SDK로 앱에 통합됩니다. 개발자는 저장소와 다른 필수 요소를 연결해야 합니다. 결제 결과가 시작한 순간 바로 돌아오는 것은 아닙니다. LDK는 나중에 이벤트로 성공이나 실패를 알리고 앱이 이를 처리합니다. 시작했다는 사실만으로 성공을 확인할 수 없습니다. 지갑 사용자에게 필요한 것은 간단합니다. 화면은 처리 중인 결제와 완료된 결제를 구분해야 합니다. [6]

더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 Gregory Maxwell, Luke Dashjr, Satoshi Nakamoto. 다음 항목에서도 이 글을 참조합니다 Stratum V2, Gregory Maxwell, Luke Dashjr.

DOC · 001GitHub — Matt Corallo문서 DOC · 002BIP 152 — Compact Block Relay문서 DOC · 003Matt Corallo — The Future of The Bitcoin Relay Networks문서 DOC · 004FIBRE — FAQ문서 DOC · 005rust-lightning — package manifest문서 DOC · 006LDK — Architecture문서
개정일: 1차 출처 우선 · 투자 조언이 아닙니다