디지털 서명
-
용도
- 이더리움 계정과 개인키 소유자가 이더 지출 또는 컨트랙트 이행을 승인했다는 것을 증명
- 부인 방지 (보낸 사람이 보내지 않았다고 주장할 수 없음)
- 트랜잭션이 서명된 후엔 누구도 트랜잭션 데이터를 수정할 수 없음을 증명
-
타원 곡선 암호를 기반으로 한다.
작동 방법
- 알고리즘
- 메시지에서 개인키를 사용해 서명을 만드는 알고리즘
- 누구나 메시지와 공개키만 사용해서 서명을 검증할 수 있게 해주는 알고리즘
서명 만들기
- 메시지: RLP로 인코딩된 트랜잭션의 Keccak-256의 해시
- 서명키: EOA의 개인 키
$Sig = F_{sig}(F_{keccak256}(transaction), key)$
서명 확인
- 필요한 것
- 서명
- 시리얼라이즈된 트랜잭션
- 서명을 만들 때 사용한 개인키