396 / 736LUKE

Luke Dashjr

luke-jr로 알려진 개발자

채굴자가 새 블록을 찾기 전에 알아야 할 것이 있습니다. 블록을 어떻게 구성하고 무엇을 바꿀 수 있는지입니다. Luke Dashjr는 이런 프로그램 간 협력 방식을 명세하는 데 기여했습니다. Bitcoin Knots와 Bitcoin 개선 제안의 공개 절차에도 그의 작업이 연결되어 있습니다.

luke-jr라는 이름으로도 알려진 Luke Dashjr는 Bitcoin 개발자입니다. 그의 작업은 채굴 인터페이스, Bitcoin Knots, 공개적으로 작성된 제안과 표준인 BIP에서 볼 수 있습니다. 이를 통해 개발에 큰 영향을 주는 것과 네트워크 전체를 대신해 결정하는 것이 어떻게 다른지 이해할 수 있습니다.

Luke Dashjr는 GitHub에서 luke-jr라는 이름을 씁니다. GitHub는 소스 코드와 변경 제안, 그 이력을 보관하는 곳입니다. 그의 프로필에는 Bitcoin Knots와 채굴 프로그램 BFGMiner 등의 링크가 있습니다. 하지만 프로필이 모든 기여자의 완전한 이력이거나 한 사람이 혼자 수행한 작업 목록은 아닙니다. 구체적인 변경과 명세의 저자 기록을 보면 더 정확한 근거를 얻을 수 있습니다. 다음 예시는 채굴자에게 작업을 어떻게 전달하는지, 오류를 미리 어떻게 찾는지, 제안이 실제로 쓰이는지 어떻게 판단하는지를 설명합니다. [1]

채굴은 준비된 블록에 대해 계산을 반복하여 요구 난이도를 충족하는 결과를 찾는 과정입니다. 그 전에 블록 내용을 구성해야 합니다. Dashjr의 BIP 22는 프로그램에 거래를 포함한 후보 블록의 구조를 전달하는 getblocktemplate 인터페이스를 설명합니다. 프로그램이 해시 계산용 짧은 헤더만 받아야 하는 것은 아닙니다. 블록을 조립하고 허용된 범위에서 수정할 수 있습니다. 단편적인 작업 지시가 아니라 전체 작업의 자료를 받는 것과 비슷합니다. 그래도 최종 블록은 유효성 규칙을 충족해야 합니다. [2]

후보 블록 안의 한 거래가 같은 블록에 들어 있는 다른 거래의 출력을 사용한다고 생각해 보세요. 그러면 앞선 거래도 반드시 포함되어야 합니다. BIP 22의 depends 항목은 이런 의존 관계를 기록합니다. 항목이 없으면 관계가 알려지지 않은 것이지, 아무 관계도 없다고 가정해서는 안 됩니다. 누락된 수수료나 sigops, 즉 블록 제한에 반영하는 서명 검증 연산 횟수도 마찬가지입니다. 정보가 없는 것과 값이 0인 것은 다릅니다. 사소해 보이는 이 구분은 자료를 잘못 읽어 무효 블록을 만드는 일을 막는 데 도움이 됩니다. [2]

Dashjr의 BIP 23은 채굴자들의 작업을 모으는 풀을 위해 인터페이스를 확장합니다. 선택 기능인 proposal 모드는 준비한 블록을 서버에 제출하여 작업 증명을 제외한 검사를 받을 수 있게 합니다. 적절한 계산 결과를 찾는 데 많은 자원을 투입하기 전에 내용상의 문제를 발견할 수 있는 것입니다. 긍정적인 답변은 그 서버의 규칙에 후보가 맞는다는 뜻일 뿐입니다. 필요한 작업 증명과 다른 노드들의 판단은 아직 남아 있습니다. 사전 검사를 통과했다고 새 블록을 이미 채굴한 것은 아닙니다. [3]

또 다른 작업 분야는 규칙 변경의 도입입니다. Shaolin Fry와 Luke Dashjr가 작성한 BIP 8은 체인에서 블록이 놓인 순서인 블록 높이로 단계를 정합니다. lockinontimeout 설정은 정해진 조건 아래 마지막 기간에 채굴자의 신호를 요구하여 향후 활성화를 확정할지 결정합니다. LOCKED_IN은 ACTIVE가 아닙니다. 앞의 상태는 이 메커니즘 안에서 이후 전환을 보장하고, 새로운 규칙이 적용되는 것은 뒤의 상태입니다. 시행 시점을 정한 것과 그 시점이 실제로 된 것의 차이입니다. 제안을 작성하는 것만으로 네트워크 전체가 전환되지는 않습니다. [4]

Bitcoin Knots는 자신의 노드를 운영하는 프로그램입니다. 노드는 블록과 거래를 내려받아 완전히 검증하는 컴퓨터입니다. 문서는 Bitcoin Core의 개발 내용을 가져오면서 다른 변경도 추가할 수 있다고 설명합니다. 지갑과 그래픽 인터페이스도 포함할 수 있습니다. 이번 검토 시점에 공식 사이트는 Dashjr를 주요 유지보수 담당자로 소개합니다. 특정 소프트웨어를 책임지는 역할이 네트워크 전체에 새 규칙을 명령할 권한은 아닙니다. 프로그램을 선택할 때는 늘 똑같이 작동한다고 가정하지 말고 각 릴리스의 기능과 설정을 읽어야 합니다. [5] [6]

Bitcoin Knots를 내려받을 때는 의도한 배포자의 파일인지 확인해야 합니다. 사이트는 OpenPGP 서명을 검증하고 독립적인 출처에서 공개 키를 대조하라고 권합니다. 공개 키는 디지털 서명을 확인하는 데 쓰이지만, 먼저 누구의 키인지 알아야 합니다. 제대로 확인한 키로 검증한 유효한 서명은 파일의 출처와 서명된 데이터가 바뀌지 않았음을 보여 줍니다. 프로그램에 오류가 없다는 보장은 아닙니다. 출처 확인, 코드 검토, 설정 선택은 서로 다른 일입니다. [6]

Dashjr는 제안의 준비와 공개를 다룬 BIP 2도 작성했습니다. 현재는 Murch의 BIP 3이 이를 대체합니다. 이 문서는 공개된 BIP 자체가 Bitcoin 커뮤니티의 합의나 일반적인 구현 권고를 뜻하지 않는다고 명시합니다. 제안은 문서로만 남을 수도, 특정 프로그램에 채택될 수도, 나중에 공동으로 적용하는 규칙을 바꿀 수도 있습니다. 번호를 붙인다고 무언가가 활성화되지는 않습니다. 새 BIP 소식을 읽을 때는 누가 구현했고 실제로 사용되는지도 물어보세요. [7] [8]

더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 Matt Corallo, Peter Todd, Satoshi Nakamoto. 다음 항목에서도 이 글을 참조합니다 Matt Corallo, Peter Todd.

DOC · 001GitHub — Luke Dashjr문서 DOC · 002BIP 22 — getblocktemplate fundamentals문서 DOC · 003BIP 23 — pooled mining문서 DOC · 004BIP 8 — lock-in by height문서 DOC · 005Bitcoin Knots — project documentation문서 DOC · 006Bitcoin Knots — official website문서 DOC · 007BIP 2 — revised process문서 DOC · 008BIP 3 — updated process문서
개정일: 1차 출처 우선 · 투자 조언이 아닙니다