아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
이타치처럼탈주
이타치처럼탈주19.05.13

블록체인 기술을 사용한 거래 시 디지털 서명이 안전한가요?

이제 막 블록체인 공부를 시작했습니다.

블록체인 기술을 통해 송수신자 간 거래 시 디지털 서명이 쓰인다고 하는데

간단하게 송신자의 해싱 및 개인키로 트랜잭션 내용을 암호화하고 수신자는 송신자의 공개키로 복호화하는 걸로 알고 있습니다.

그런데 공개키는 어차피 누구에게나 알려진 키이므로

거래 중간에 공격자가 암호화된 트랜잭션 내용만 탈취한다면

비정상적인 거래가 이루어지는게 아닌지 궁금합니다.

-------------------------------------------------

조금 더 공부하다 보니 복호화 시, 수신자는 송신자의 공개키 말고도 수신자의 개인키도 함께 사용해서 복호화 한다고 하는데 이게 맞는건가요??

55글자 더 채워주세요.
답변의 개수
1개의 답변이 있어요!
  • 질문자께서 말씀하신 것처럼 A가 B에게 암호화폐를 전송할 때, A의 개인키 키로 암호화를 하고 그것을 B의 지갑 주소로 보냈다고 하겠습니다. 그런데 이 때 중간에서 트랜젝션의 내용을 탈취하여 A가 B에게 보낸 암호화폐를 가로채는 것은 사실상 불가능합니다.

    1. A가 B의 지갑 주소로 암호화폐를 전송하면서 A의 개인 키로 트랜젝션의 내용을 암호화하여 자신의 공개 키 주소를 통해 B에게 보냅니다.

    2. B를 비롯해서 트랜젝션을 검증하는 다른 노드들이 A의 공개 키 주소를 통해 트랜젝션의 내용이 복호화가 되는지 확인함으로써 해당 거래가 유효한 거래인지 확인합니다.

    3. 그리고 A의 공개키를 통해 해당 트랜젝션의 내용이 복호화가 가능하여 A가 B에게 암호화폐를 전송했다는 것이 노드들에 의해 검증됩니다.

    4. 이때 트랜젝션의 내용에는 해당 암호화폐를 수령하는 것은 B이고 A가 B의 공개 키 주소로 암호화폐를 보낸 것이라는 내용이 있으므로 B가 수령인임이 함께 증명됩니다.

    5. 따라서 중간에서 C가 이 트랜젝션의 정보를 탈취하더라도 A가 B의 공개 키 주소로 암호화폐를 보낸 것이 확실하므로 암호화폐를 탈취하기 위해서는 B의 개인 키가 필요하게 됩니다.

    6. 따라서 B는 안전하게 A가 보낸 암호화폐를 자신의 개인 키로 서명함으로써 소유권을 정당하게 주장하고 수령할 수 있게 됩니다.

    요약 하자면

    A : 자신의 개인 키로 트랜젝션의 내용을 암호화하여 자신의 공개 키 주소를 통해 B에게 전송함

    B : A의 공개 키를 통해 트랜젝션의 내용을 복호화하여 트랜젝션이 유효하다는 것을 확인함, 해당 트렌젝션에는 B의 공개 키 주소로 전송했다는 것이 나와 있으므로 B의 공개 키에 대응되는 개인 키가 없이는 A가 보낸 암호화폐를 탈취할 수 없음, B가 자신의 개인 키로 A가 보낸 암호화폐를 수령함

    이 되겠습니다.

    답변이 도움이 되길 바랍니다.