비트코인의 1블록이라 함은 무슨 의미인가요?
공부하는 코린이 입니다.
비트코인의 1블록은 어떤 기준으로 나눠지나요?
처리하는 용량으로 나눠지는건지?
체결된 시간끼리 묶는건지?
고수님들의 의견 부탁드립니다.
공부하면 할수록 모르는 것들이 점점 많아지네요.
코린이에게 깊은 가르침 부탁드립니다.
결론부터 말씀드리자면 비트코인의 1블록은 평균적으로 10분 간격으로, 블록의 용량이 1MB로 제한되어 있으므로 우선 순위에 따라 트랜젝션을 기록한 후 생성된다고 할 수 있겠습니다.
구체적으로는 A가 B에게 1 BTC를 전송하는 상황을 가정하고 트랜젝션이 처리되는 과정에 적용해 설명해 드리도록 하겠습니다.
A가 B에게 1BTC를 보내는 트랜젝션을 발생시킵니다. 이 트랜젝션이 마이닝 노드들에게 전파되면 해당 마이닝 노드들은 해당 트랜젝션이 유효한지 검증하게 됩니다.
그리고 마이닝 노드는 A가 발생시킨 트랜젝션을 자신의 Mempool에 저장합니다. 즉, Mempool에는 거래의 유효성은 검증되었지만 아직 거래가 완전히 컨펌되지 않은(0 컨펌) 트랜젝션들이 저장된다고 할 수 있습니다.
마이닝 노드들은 각자 난이도 타겟 값과 같거나 낮은 값을 찾기 위해 해시 함수에 논스를 대입하며 연산을 실행하고, 한 노드가 해시 값을 찾게 되면 다른 노드들이 해시 값이 맞는지 검증한 후 그것이 맞다면 해시 값을 찾은 노드가 새로운 블록을 생성하고 Mempool에 저장된 트랜젝션들을 수수료가 많은 순서로 기록하게 됩니다.
블록 크기가 한정(1MB)되어 있기 때문에 우선 순위에 따라 블록에 거래내역을 기록하는 것이 완료되면 블록을 생성하고 그것을 다른 노드들에게 전파하여 블록이 검증받게 되면서 트랜젝션이 1 컨펌을 받게 됩니다. 이런 과정을 통해 트랜젝션이 처리되고 블록이 생성된다고 할 수 있습니다.
답변이 도움이 되길 바랍니다.
안녕하세요. 비트코인의 1블록을 생산하는 기준에 대하여 답변드립니다.
비트코인의 블록을 생산하는 기준은 "시간"입니다. 그 이유는 블록생성 주기에 필요한 네트워크 전파 속도, 검증과 보안성 등을 위해 "10분"으로 설정되어 있습니다.
비트코인의 블록용량은 최대1,024KByte이며 각 헤더에 80Byte, 거래내역에 약 1,024,479Byte, 기타내용 17Byte를 사용합니다.
감사합니다.