Bitcoin은 공개된 규칙의 집합이자 전 세계 컴퓨터 네트워크이며, BTC로 표시되는 화폐 단위입니다. 하나의 은행이나 회사가 공동 장부를 관리하지 않아도 사람끼리 직접 가치를 이전할 수 있습니다. 지갑은 결제를 만들고 서명하며, 노드는 이를 독립적으로 확인하고, 채굴은 유효한 거래를 공동 기록에 포함하도록 돕습니다. 1 bitcoin은 100,000,000 satoshi로 나뉩니다.
Bitcoin은 하나의 앱이나 웹사이트, 회사가 아닙니다. 수천 대의 독립된 컴퓨터가 서로 통신할 때 따르는 공개된 규칙, 즉 개방형 프로토콜입니다. 같은 말이 이 네트워크와 화폐 단위를 모두 가리킵니다. 따라서 누군가 “Bitcoin을 사용한다”고 말하면 네트워크를 뜻할 수 있고, “bitcoin을 보낸다”고 말하면 보통 BTC 단위를 뜻합니다. 소프트웨어를 내려받고, 기록을 검증하고, 결제를 받는 데 중앙 운영자의 허가는 필요하지 않습니다. 그렇다고 네트워크에 규칙이 없는 것은 아닙니다. 오히려 규칙은 엄격하며 각 Full Node가 스스로 검증합니다. [1] [3]
Bitcoin은 휴대전화 속 파일이나 지갑 안의 동전으로 들어 있지 않습니다. 네트워크는 공동 거래 기록을 보관하며, 그 안에는 아직 쓸 수 있는 금액에 대한 기록이 있습니다. 이를 UTXO라고 합니다. 지갑은 UTXO를 찾아 합산하고 그 결과를 잔액으로 보여 줍니다. 필요한 암호학적 키를 가진 사람은 다음 지출 조건을 충족할 수 있습니다. 이것이 자기 보관의 기초입니다. 사용자가 결제를 승인할 수단을 직접 보유합니다. bitcoin을 거래소나 다른 서비스에 계속 두면 보통 사용자가 키를 직접 통제하지 않으며, 표시된 잔액은 운영자에 대한 청구권을 뜻합니다. 키를 기술적으로 통제하는 것과 법적 소유권은 서로 다른 문제입니다. [5] [7]
지갑은 주소를 만들고, 사용할 수 있는 자금을 추적하며, 거래에 서명하도록 돕습니다. 주소는 지불자에게 안전하게 건넬 수 있는 정보로, 수취인을 위해 새 금액을 어떻게 잠글지 알려 줍니다. 사용자 이름이나 은행 계좌, 비밀 암호가 아닙니다. 반대로 Private Key는 누구와도 공유해서는 안 되는 비밀입니다. 지갑은 이 키로 디지털 서명을 만들고, 네트워크는 키 자체를 알지 않고도 서명이 지출 조건을 충족하는지 확인할 수 있습니다. 어떤 조건은 여러 서명이나 특정 시점까지의 대기를 요구할 수 있습니다. 필요한 키를 얻은 사람은 유효한 거래를 만들 수 있으며, 네트워크는 소유자와 도둑, 서명을 강요받은 사람을 구별하지 못합니다. [5] [7]
수취인이 먼저 주소나 결제 요청을 보냅니다. 송금인의 지갑은 적절한 UTXO를 골라 수취인용 출력을 만들고, 남는 금액은 송금인이 통제하는 새 주소로 돌려보냅니다. 예를 들어 100,000 satoshi짜리 출력이 있다면 수취인에게 60,000 satoshi, 거스름돈으로 39,000 satoshi를 만들고 1,000 satoshi를 거래 수수료로 남길 수 있습니다. 이는 설명을 위한 예일 뿐 권장 수수료가 아닙니다. 금액, 수취인, 수수료를 확인한 뒤 지갑은 거래에 서명해 네트워크로 전파합니다. 노드는 이를 검증하고 다시 전달할 수 있습니다. 유효한 거래는 보통 채굴자가 블록에 포함할 때까지 각 노드의 로컬 Mempool에서 기다립니다. [5] [8]
디지털 데이터는 쉽게 복사됩니다. 따라서 올바른 서명만으로는 충분하지 않습니다. 키 보유자는 같은 UTXO를 쓰려는 서로 다른 두 거래에 서명할 수 있기 때문입니다. 한 노드는 첫 번째 결제를 먼저 받고 다른 노드는 두 번째 결제를 먼저 받을 수 있습니다. 둘 다 유효한 서명을 지닐 수 있지만 하나의 유효한 기록에는 최대 하나만 포함됩니다. 이를 이중 지불 시도라고 합니다. Bitcoin은 동전 파일을 복사 불가능하게 표시해 문제를 해결하지 않습니다. 참여자들이 공통된 순서의 블록 기록을 검증하도록 해 해결합니다. 충돌하는 거래 중 어느 것이 끝내 남는지는 지갑의 그림, 방금 그 거래를 본 노드 수, 중앙 관리자 중 어느 것도 단독으로 결정하지 않습니다. [1]
각 Full Node는 운영자가 선택한 소프트웨어의 규칙에 따라 받은 거래와 블록을 검사합니다. 예를 들어 입력이 실제로 존재하며 이미 쓰이지 않았는지, 서명이 조건을 충족하는지, 거래가 없는 곳에서 새 단위를 만들지 않는지 확인합니다. 개발자는 새 코드를 제안하고 공개할 수 있지만 다른 사람의 노드에 원격으로 켤 수는 없습니다. 채굴자는 블록을 제안할 수 있지만 노드는 유효하지 않은 블록을 거부합니다. 거래소와 지갑 회사 등은 고객에게 영향을 줄 수 있어도 전체 네트워크의 규칙을 일방적으로 다시 쓸 수 없습니다. 그러므로 Bitcoin에는 한 명의 책임자가 없습니다. 많은 참여자가 같은 독립 검증을 반복하기 때문에 작동합니다. [2] [4]
채굴자는 유효한 거래를 후보 블록에 모으고, 많은 반복 계산의 결과인 Proof of Work를 찾기 위해 경쟁합니다. 성공한 블록은 앞선 블록을 가리키므로 연결된 기록이 차례로 만들어집니다. 노드는 먼저 각 갈래가 규칙을 지키는지 검사하고, 그다음 유효한 갈래 가운데 누적 작업량이 가장 큰 것을 우선합니다. 그래서 오래된 결제를 다시 쓰는 비용은 갈수록 커집니다. 채굴은 채굴자에게 다른 사람의 bitcoin을 쓰거나 임의의 보상을 만드는 권한을 주지 않습니다. 큰 비중의 계산 능력은 거래 순서나 확인을 방해할 수 있지만, 기존 규칙을 계속 적용하는 노드에게 무효 블록을 유효하게 만들 수는 없습니다. [4]
거래가 블록 밖에서 기다리는 동안에는 미확인 상태입니다. 블록에 포함되면 첫 확인을 얻고, 이후 블록이 하나씩 쌓일 때마다 보통 그 기록 구간을 다시 쓰는 비용이 높아집니다. 따라서 확인은 절대 되돌릴 수 없다는 도장이 아니라 점차 커지는 확실성입니다. 평균 10분 간격은 네트워크의 장기 목표이지 시간표가 아닙니다. 다음 블록이 빨리 올 때도 있고 훨씬 오래 기다릴 때도 있습니다. 드물게 재구성이 최근 블록을 제거하면 거래가 다시 미확인 상태가 되거나 충돌하는 지출로 대체될 수 있습니다. 적절한 확인 횟수는 거래 가치와 위험에 따라 달라집니다. Bitcoin에는 중앙 취소 창구가 없으며, 자발적 환불은 새 거래입니다. [1] [4]
각 블록은 Coinbase Transaction이라는 특별한 거래로 시작합니다. 이를 통해 채굴자는 블록 보조금과 블록에 포함된 거래의 수수료를 받을 수 있습니다. 새 단위를 만드는 것은 보조금뿐이며, 수수료는 사용자가 이전한 기존 bitcoin입니다. 보조금은 블록당 50 BTC에서 시작했고 210,000 블록마다 Halving이라는 사건을 통해 절반으로 줄어듭니다. 이렇게 규칙이 예측 가능한 발행 일정을 정하며, 정수 satoshi로 반올림하기 때문에 전체 보조금 합계는 2,100만 BTC보다 적습니다. 각 Full Node는 채굴자가 규칙이 허용한 것보다 많이 받지 않았는지 확인합니다. 단위 수가 제한됐다고 해서 가격이 보장되지는 않으며, 잃어버린 키 때문에 대체 발행이 생기지도 않습니다. [4]
Bitcoin을 이용하면 의무적인 수탁자 없이 가치를 보유하고 이전하며 자기 노드로 규칙을 검증할 수 있습니다. 하지만 이 가능성이 사용자의 책임까지 대신하지는 않습니다. 잃어버리거나 노출된 키를 초기화하고, 잘못된 주소를 고치고, 사기 결제를 자동으로 취소해 줄 기관은 없습니다. 공개 기록도 익명은 아닙니다. 주소 자체에는 이름이 없지만 결제끼리 연결할 수 있고, 때로는 거래소나 상점이 아는 신원과 이어질 수 있습니다. 자기 보관, 독립 검증, 프라이버시 보호는 서로 다른 세 가지 과제입니다. Bitcoin은 가격 상승, 언제나 저렴한 수수료, 즉시 확인도 보장하지 않습니다. 사용자가 도구와 검증 가능한 규칙을 갖게 하지만, 안전하게 쓰려면 여전히 주의, 백업, 구체적인 위험에 대한 이해가 필요합니다. [6] [7]
더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 Satoshi Nakamoto, Bitcoin Whitepaper, Genesis Block, Proof of Work, Full Node, 21 Million. 다음 항목에서도 이 글을 참조합니다 Satoshi Nakamoto, Bitcoin Whitepaper, Genesis Block, Full Node.