주요 내용:
비트코인 거래에는 사용자가 ‘보내기’ 버튼을 누른 후 보이지 않게 발생하는 여러 단계가 포함됩니다.
- 새로운 고유 비트코인 주소 생성.
- 지불 제출.
- 트랜잭션을 확인합니다.
- 새 블록에 정보를 인코딩합니다.
- 미사용 트랜잭션 출력(UTXO)만 입력으로 사용하여 지불을 검증합니다.
Bitcoin 자체에 대해 자세히 알아보려면 다음을 읽으십시오. 비트코인이란 무엇입니까? 암호화 초보자를 위한 완벽한 가이드.
비하인드 스토리 비트코인 거래 프로세스
다음 시나리오로 비트코인 거래 절차를 소개합니다.
온라인 상인인 Bob은 비트코인을 지불 수단으로 수락하기로 결정합니다.
구매자인 Alice는 비트코인을 가지고 있으며 Bob에게서 상품을 구매하려고 합니다.
지갑은 여러 비트코인 주소에 대한 액세스를 제공하는 파일입니다. 주소는 1HULMwZEPkjEPech43BeKJL1ybLCWrfDpN 과 같은 문자와 숫자의 문자열입니다. 각 주소에는 고유한 비트코인 잔액이 있으며 사용자는 원하는 만큼 주소를 만들 수 있습니다. 조금 다르게 작동하는 은행 계좌로 주소를 상상해보십시오.
새 주소 만들기
Bitcoin 클라이언트 소프트웨어는 사용자를 위해 Bitcoin 주소를 생성합니다. Bob이 새 주소를 만들 때 실제로 하는 일은 개인 키(사용자만 알고 있음)와 공개 키(누구에게나 알려져 있음)로 구성된 ‘암호화 키 쌍’을 생성하는 것입니다.
개인 키로 메시지에 서명할 때 일치하는 공개 키를 사용하여 확인할 수 있습니다. Bob의 새 비트코인 주소는 고유한 공개 키를 나타내며 해당 개인 키는 Bob의 지갑에 저장됩니다. 공개 키를 사용하면 누구나 개인 키로 서명된 메시지가 유효한지 확인할 수 있습니다.
지불 제출
Alice의 지갑에는 각 주소에 대한 개인 키가 있습니다. 그녀는 Bitcoin 클라이언트에게 Bob의 주소로 비트코인을 전송하고 싶다고 말합니다. 그런 다음 비트코인 클라이언트는 비트코인을 전송하는 주소의 개인 키로 트랜잭션 요청에 서명합니다. 이제 네트워크에 있는 모든 사람이 공개 키를 사용하여 트랜잭션 요청이 실제로 합법적인 계정 소유자로부터 온 것인지 확인할 수 있습니다.
다시 말해서:
공개 키는 비트코인을 받는 데 사용됩니다.
개인 키는 해당 비트코인을 사용하기 위한 거래에 서명하는 데 사용됩니다.
비트코인을 사용할 때 현재 소유자는 비트코인 거래에서 공개 키와 디지털 서명을 제시합니다. 트랜잭션은 트랜잭션에서 참조하는 자금을 사용할 권한이 있음을 나타내는 개인 키로 디지털 서명됩니다.
공개 키와 디지털 서명을 통해 비트코인 네트워크의 모든 사람은 거래를 확인하고 유효한 것으로 수락하여 비트코인을 양도하는 사람이 양도 당시 비트코인을 소유했음을 확인할 수 있습니다.
광부가 돈을 버는 방법: 거래 확인을 위한 광부 보상
Gary, Glenn 및 George가 비트코인 채굴자 라고 가정합니다. 그들의 컴퓨터는 지난 10분 동안의 트랜잭션을 새로운 트랜잭션 블록으로 묶습니다. 각 블록에는 승리한 채굴자(이 경우 Gary)에게 50비트코인을 지급하는 ‘코인베이스’ 트랜잭션이 포함됩니다. 새로 발행된 비트코인의 잔액으로 게리의 지갑에 새 주소가 생성됩니다.
또한 채굴자는 거래를 보내는 사용자가 지불한 수수료를 받습니다. 수수료는 광부가 거래를 블록에 포함하도록 하는 인센티브입니다.
거래 순서
- 트랜잭션은 비트코인 네트워크에서 브로드캐스트되며 각 참가자는 트랜잭션이 네트워크의 거의 모든 노드에 도달할 때까지 트랜잭션을 검증하고 전파합니다.
- 트랜잭션은 마이닝 노드에 의해 확인되고 블록체인에 기록되는 트랜잭션 블록에 포함됩니다.
- 일단 블록체인에 기록되고 충분한 후속 블록에 의해 확인되면 거래는 비트코인 공개 분산 원장의 영구적인 부분이 되며 모든 참가자가 유효한 것으로 받아들입니다.
- 거래의 일부로 새 소유자가 받은 비트코인은 새 거래에서 사용할 수 있습니다.
블록의 인코딩 정보: 암호화 해시
암호화 해시 함수는 데이터 컬렉션 을 해시 값이라고 하는 고정 길이의 영숫자 문자열로 변환하는 블록체인을 매우 안전하게 만드는 암호화 인코딩입니다.
원본 데이터가 조금만 변경되더라도 결과 해시 값이 크게 변경됩니다. 특정 해시 값을 생성할 초기 데이터 세트를 예측하는 것은 본질적으로 불가능합니다.
예를 들 어:
논스
동일한 데이터에서 다른 해시 값을 생성하기 위해 Bitcoin은 nonce를 사용합니다. nonce를 변경하면 해시 값이 크게 달라집니다.
마이닝 컴퓨터는 이전 해시 값, 새 트랜잭션 블록 및 nonce의 조합을 기반으로 새 해시 값을 계산합니다. 해시를 생성하는 것은 계산적으로 간단하지만 비트코인 시스템은 새로운 해시 값이 특정 형식을 갖도록 요구합니다. 특히 특정 수의 0으로 시작해야 합니다.
광부들은 선행 0이 필요한 개수의 해시 값을 생성할 nonce를 예측할 방법이 없습니다. 따라서 작동하는 논스가 발생할 때까지 서로 다른 논스로 많은 해시를 생성해야 합니다.
그러나 Nonce에서 Alice의 트랜잭션은 어디에 있습니까?
그동안 Alice가 Bob에게 이체한 내역은 다른 최근 거래 아래 묻혀 있습니다. 누구든지 세부 사항을 수정하려면 Gary가 수행한 작업을 다시 실행해야 합니다. 모든 변경 사항에는 완전히 다른 승자 논스가 필요하기 때문입니다. 그런 다음 거의 불가능한 모든 후속 채굴자의 작업을 다시 실행해야 합니다.
미사용 트랜잭션 출력(UTXO)
미사용 트랜잭션 출력(UTXO)을 도입하기 전에 비트코인 트랜잭션의 입력과 출력을 알아야 합니다.
입력
입력은 이전 트랜잭션의 출력에 대한 참조입니다. 새 트랜잭션의 모든 입력 값(새 트랜잭션의 입력이 참조하는 이전 출력의 총 코인 값)이 합산되고 총액(트랜잭션 수수료 제외)은 새 트랜잭션의 출력에서 완전히 사용됩니다.
트랜잭션에는 여러 입력이 포함되는 경우가 많습니다.
산출
출력에는 비트코인 전송 지침이 포함되어 있습니다. 트랜잭션 출력에는 이 출력이 청구될 때 가치가 있는 값이 포함됩니다.
미사용 트랜잭션 출력(UTXO)
특정 트랜잭션의 각 출력은 한 번만 사용할 수 있기 때문에 블록체인에 포함된 모든 트랜잭션의 출력은 사용되지 않은 트랜잭션 출력(UTXO) 또는 사용된 트랜잭션 출력으로 분류될 수 있습니다. 결제가 유효하려면 UTXO만 입력으로 사용해야 합니다.
각 트랜잭션에는 적어도 하나의 입력과 하나의 출력이 있으며 각 입력은 이전 출력에 지불된 사토시를 소비합니다. 그런 다음 각 출력은 나중에 입력이 소비할 때까지 UTXO로 대기합니다. 사용자의 비트코인 지갑에 10,000 사토시의 잔액이 표시되면 실제로는 하나 이상의 UTXO에서 대기 중인 10,000 사토시가 있음을 의미합니다.
거래 중 UTXO
누군가 1HULMwZEPkjEPech43BeKJL1ybLCWrfDpN 주소를 사용하여 이전에 두 번 비트코인을 받았다고 상상해 보십시오. 2019년 2월 5일의 거래에는 4,000개의 사토시가 포함되어 있고 2019년 3월 9일의 거래에는 6,000개의 사토시가 포함되어 있습니다. 비트코인의 블록체인은 1HULMwZEPkjEPech43BeKJL1ybLCWrfDpN: 10,000의 기록이 존재하도록 잔액을 합산하는 데 도움이 되지 않습니다. 대신, 사용자가 비트코인을 사용하려고 할 때마다 자신에게 속한 트랜잭션을 하나씩 잠금 해제해야 합니다(비트코인이 공개 키로 전송됨).
예를 들어, 3,000개의 사토시를 보내려면 2019년 2월 5일 날짜의 거래 또는 2019년 3월 9일 날짜의 거래 중 하나를 잠금 해제하기만 하면 됩니다. 둘 다 3,000개 이상의 사토시를 포함하고 있기 때문입니다.
그러나 8,000개의 사토시를 보내려면 부분 지출이 허용되지 않기 때문에 새로운 거래에서 모든 비트코인을 사용하기 위해 두 거래 모두 잠금 해제되어야 합니다. 사용자는 잠금 해제한 모든 비트코인을 사용해야 합니다. 8,000개의 사토시만 보내려는 경우에도 새 트랜잭션에서 10,000개의 사토시를 사용한 다음 2,000개의 사토시를 자신의 주소로 다시 보내야 합니다.
최종 단어 — Bitcoin으로 지불
Bitcoin 트랜잭션이 원활하게 작동하는 동안 BTC를 사용한 실제 소매 지불은 느린 트랜잭션 속도로 인해 여전히 방해를 받습니다. 그러나 Bitcoin으로 실제 지불하는 것은 Satoshi Nakamoto가 Bitcoin 백서 에서 구상한 BTC의 주요 기능 중 하나입니다. Lightning Network라고 하는 Bitcoin의 Layer-2는 현재 이 확장성 문제에 대한 솔루션을 제공합니다.
라이트닝 네트워크를 통해 비트코인으로 거의 즉각적인 결제에 대해 자세히 알아보십시오.
실사 및 자체 조사 수행
이 문서에 나열된 모든 예제는 정보 제공의 목적으로만 제공됩니다. 그러한 정보나 기타 자료를 법률, 세금, 투자, 재정 또는 기타 조언으로 해석해서는 안 됩니다. 여기에 포함된 어떠한 내용도 Crypto.com이 디지털 자산을 투자, 구매 또는 판매하도록 권유, 추천, 보증 또는 제안을 구성하지 않습니다. 디지털 자산의 구매 및 판매에 대한 수익은 귀하의 관할 구역 또는 귀하가 세금 목적으로 거주하는 관할 구역에서 자본 이득세 및/또는 소득세를 포함한 세금의 대상이 될 수 있습니다. Crypto.com 제품 또는 기능에 대한 모든 설명은 단지 설명을 위한 것이며 보증, 초대 또는 권유를 구성하지 않습니다.
과거 성과는 미래 성과를 보장하거나 예측하지 않습니다. 디지털 자산의 가치는 증가하거나 감소할 수 있으며 구매 가격의 전부 또는 상당한 금액을 잃을 수 있습니다. 디지털 자산을 평가할 때 모든 구매는 전적으로 귀하의 책임이므로 가능한 최선의 판단을 내리기 위해 자체 조사 및 실사를 수행하는 것이 중요합니다.