본문 바로가기

Blockchain

트랜잭션 해시(TXID)란? + signature

DB ERD를 설계하던 중 엔티티에 TXID를 담아야 한다는 피드백을 받고 TXID에 대해 찾아보았다. 

'트랜잭션 해시'라고 하면 트랜잭션이 암호화 되었다는 것일까?라는 추측과 함께 트랜잭션 해시=TXID에 대해 정리해보고자 한다.

 

트랜잭션 해시란? 

트랜잭션 해시는 트랜잭션의 유일한 식별자이다.

트랜잭션에 대한 고유 ID를 의미한다. 

 

암호화폐에 따라 트랜잭션 ID는 수신자&발신자의 지갑주소, 전송한 총 금액, 데이터, 블록 높이, 수수료(gas fee)와 같은 정보를 받기 위해 사용된다. 

{ 
	from: 송신자 지갑의 주소, 
    to: 수신자 지갑의 주소, 
    value: 전송한 이더 또는 토큰의 개수, 
    gasPrice: 트랜잭션 전송에 사용되는 가스량, 
 }

web3.js를 통해서도 구현이 가능하다. 

 

트랜잭션 해시가 만들어지기 위해 필요한 정보는? 

1. 트랜잭션 정보 

2. 트랜잭션을 전송하는 지갑의 개인키 

개인키(private key)를 통해 트랜잭션을 보낸 사람이 본인임을 증명하는 과정이 서명(signature)이다.  

 

트랜잭션 해시의 결과값 

keccak256의 결과값이다. '해시'는 암호화를 뜻하므로 암호화 알고리즘이 사용되어 결과값이 나타난다.