코인 전송시 지연 및 전송속도 차이는 왜 발생하는걸까요?
안녕하세요~
아하 코린이 아린이입니다^^
코인을 거래하다보면 거래소에서 지갑, 지갑에서 거래소, 지갑에서 지갑으로
코인을 옮길때가 종종있습니다.
이럴때 코인이 상대편 주소로 즉시 이동하는것이 아니고
일정 시간이 지나야 옮겨지더군요.
안내사항을 보면 OO번째 블럭이 생성된 후 처리가 된다는 문구를 보았는데요
이것이 의미하는 것이 무엇인지, 그리고 코인마다 전송속도의 차이는 왜 발생하는지 궁금합니다.
질문자께서 질문해주신 내용을 중심으로 답변을 드리도록 하겠습니다.
안내사항을 보면 OO번째 블럭이 생성된 후 처리가 된다는 문구를 보았는데요
이것이 의미하는 것이 무엇인지, 그리고 코인마다 전송속도의 차이는 왜 발생하는지 궁금합니다.
트랜젝션이 처리되는 과정을 설명해 드리면서 질문자께서 질문해주신 내요엥 대한 답변을 드리도록 하겠습니다. 예를 들어 A가 B에게 100 BTC를 전송하는 트랜젝션을 발생시켰다고 가정하겠습니다.
이러한 트랜젝션이 마이닝 노드들에게 전파되면 해당 마이닝 노드들은 해당 트랜젝션이 유효한지 검증하게 됩니다.
그리고 마이닝 노드는 A가 발생시킨 트랜젝션을 자신의 Mempool에 저장합니다. 즉, Mempool에는 거래의 유효성은 검증되었지만 아직 거래가 완전히 컨펌되지 않은 트랜젝션들이 저장된다고 할 수 있습니다.
마이닝 노드들은 블록 해시값을 찾기 위한 연산을 실행하고, 연산을 완료하여 새로운 블록을 생성할 수 있게 된 마이닝 노드는 새 블록에 Mempool에 저장된 트랜젝션들을 수수료가 많은 순서로 기록하게 됩니다.
블록 크기가 한정되어 있기 때문에 우선 순위에 따라 블록에 거래내역을 기록하는 것이 완료되면 블록을 생성하고 그것을 다른 노드들에게 전파하여 블록이 검증받게 되면서 1 컨펌을 받게 됩니다. 그리고 이런 과정의 반복을 통해 트랜젝션이 처리되고 블록이 생성된다고 할 수 있습니다. 즉, 앞서 예에서 생성된 블록의 다음 블록이 생성되면 해당 블록은 2컨펌 그 다음 블록이 생성되면 3컨펌이 이루어집니다. 그리고 이러한 컨펌 횟수가 많아지면 해당 블록은 확정되어 더 이상 변경될 수 없게 됩니다.
따라서 질문자께서 말씀하신 것처럼 n번째 블록이 생성된 후 처리된다는 말은 거래소 내부적으로 암호화폐를 잔고에 반영할 때 시간을 두고 반영함으로써 확정된 블록의 내용을 바탕으로 데이터를 반영하기 위한 것이라고 할 수 있습니다.
끝으로 코인마다 전송속도가 차이나는 이유는 각 블록체인의 블록 생성 시간에 차이가 있고 또 네트워크의 혼잡도가 차이가 나며, 수수료가 있는 경우 트랜젝션을 발생시킬 때 수수료를 얼마나 지불했는지에 따라서 달라질 수 있다고 하겠습니다.
답변이 도움이 되길 바랍니다.