블록체인에서 거래(트렌젝션)의 유효성 검증방법??
블록체인에 대하여 이제 막 공부를 시작하고 있습니다. 너무 기본 적인 질문일 수 있지만 문의드립니다.
문의1. 블록체인에서 신규로 생성된 블록에 대하여 각 노드들은 블록의 유효성을 어떻게 검증하는지?
예를 들어 기존 금융서비스에서는 은행/카드사의 입금, 승인 원장에 있는 데이터를 기준으로 유효성을
검증하지만 블록체인에서는 모든 데이터를 관리하는 중앙의 기준 데이터가 없는데 신규로 발생한 블록이
진짜인지를 어떻게 노드들이 판단해서 체인에 연결시키는지 궁금합니다.
문의2. 블록체인은 51%의 참여자 PC를 해킹해야해서 보안이 강화됬다고 하는데 해당 보안은 이미 거래가완료된 데이터들의 기록을 분산하여 저장하고 그 기록이 위변조되지 않도록 하는 서비스에 적합한 것으로 생각됩니다.
블록체인으로 결제 시점의 트렌젝션이 유효한지를 판단할 수 있는지?
즉, 고객이 물건을 사려고 결제 버튼을 누르는 시점에 생성되는 트렌젝션(블록)이 유효한지를 검증하는것이
가능한지 문의드립니다.
문의 1번과 관련하여 블록에 포함될 트랜젝션의 경우 프라이빗 키와 공개 키로 각각 암호화와 복호화가 가능하므로 검증할 수 있습니다. 그리고 작업 증명 과정을 거쳐 블록의 해시 값을 연산하게 되고 그러한 해시 값이 맞는지 다른 노드들의 검증을 거쳐야만 블록이 생성되기 때문에 새로운 블록이 유효성을 가지게 됩니다. 따라서 유효한 거래 내역이 유효한 블록에 기록될 수 있습니다.
문의 2번과 관련하여 고객이 물건을 사려고 결제 버튼을 누르는 시점 이전까지 거래 내역은 이전 블록의 머클루트를 통해 빠르게 검증할 수 있고 비트코인의 경우 잔고 정보를 따로 관리하게 되므로 고객이 잔고보다 더 많은 암호화폐를 이용하여 결제하려고 시도한다든가, 이중 지불을 시도한다든가 하는 것이 불가능하게 됩니다. 또한 결제 버튼을 누르게 되어 트랜젝션이 발생되면 문의 1에서 말씀드린 과정을 거치게 되므로 그 유효성이 검증될 수 있습니다.
답변이 도움이 되길 바랍니다.