수신자 변조에 대해서는 블록의 비가역성 특성때문에 위변조가 불가능합니다. 다만 수신자의 주소로 전송할 때 전송버튼을 누르기 전 주소가 바뀌는 경우가 있습니다. 이는 암호화폐 탈취를 노린 악성코드 감염으로 인해 나타나는 현상 중 하나 입니다. 이런 경우 수신자의 주소가 사용자의 의도와 다르게 다른 주소로 바뀌게 되어 해커의 지갑으로 암호화폐가 전송이 되죠.
이런 악성코드 감염으로 인한 수신자주소 변경이 일어나지 않기 위해서는 항상 보안에 대한 경각심을 가지시고 백신을 설치하신 뒤 최신으로 유지하시기 바랍니다. 그리고 OS 보안업데이트도 꾸준히 해주시고 일주일에 한번 백신 정밀검사를 돌리는 것을 권해드립니다.
트랜잭션 도중, 중간에 악의적인 공격자가 블록 내부 정보를 조작해서 수신자의 주소를 변경할 수 있나요?아니면 혹시 수신자의 주소를 변경해도 블록에 대한 해시값이 변경되어 결국 비가역성 때문에 공격이 불가능한가요?
질문자께서 질문해주신 내용은 결국 51% 공격이 성공하느냐에 따라 다를 것이라고 생각합니다.
일반적으로는 트랜젝션이 처리되는 도중에 블록 내부 정보를 조작하거나 정보를 탈취하여 수신자의 주소를 변경할 수는 없습니다. 왜냐하면 공개 키와 개인 키로 트랜젝션이 암호화되어 처리되기 때문입니다.
A와 B가 암호화폐를 전송하는 거래를 한다고 할 때 A가 자신의 개인 키로 트랜젝션의 내용을 암호화하여 자신의 공개 키 주소를 통해 B에게 전송하게 되고
B와 다른 노드들은 A의 공개 키를 통해 트랜젝션의 내용을 복호화하여 트랜젝션이 유효하다는 것을 확인하게 되는데, 이 암호화된 트렌젝션에는 B의 공개 키 주소로 전송했다는 것이 나와 있으므로 B의 공개 키에 대응되는 B의 개인 키가 없이는 A가 보낸 암호화폐를 탈취할 수 없게 되는 것입니다.
하지만 51% 공격을 하게 되는 상황에서는 이야기가 달라질 수 있습니다. 전체 해시 파워의 51% 이상을 장악하고 위, 변조된 트랜젝션을 발생시켜 블록을 생성한 다음 그것을 유효한 거래로 처리하여 기록하고 메인 체인과 연결시켜 버릴 경우에는 블록의 정보를 조작하는 것이 가능할 수 있겠습니다.