트랜잭션과 분산 원장 기술 연관이 있을까요
트랜잭션과 분산 원장 기술이 서로 연관이 있을까요?
트랜잭션과 분산 원장 기술은 서로 다른 기술이지만 있으면 어떤 작용을 하는지 알고 싶습니다.
간단히 설명드리면 어떤 노드가 트랜젝션을 발생시키면 그것의 유효성이 검증된 후 마이닝 노드들에 의해 생성된 블록에 기록되어 다른 여러 노드들에 전파됨으로써, 그러한 거래 내역이 분산, 저장된다고 할 수 있습니다. 따라서 두 가지 개념은 서로 관련이 있다고 할 수 있습니다.
보다 자세하게 설명드리자면, 예를 들어 이더리움 블록체인 상에서 A가 B에게 1ETH를 전송하는 트랜젝션을 발생시킨다고 할 때, 이 트랜젝션이 다른 노드들에게 브로드캐스팅되기 위해서는 A가 자신의 프라이빗 키로 서명을 해야만 합니다.
그리고 A가 서명을 하게 되면 트랜젝션이 다른 노드로 전파되게 되고 다른 노드로부터 생성된 TxHash를 받을 수 있게 됩니다. 이때 TxHash는 말 그대로 트랜젝션의 세부 정보와 서명 정보를 해싱한 암호화된 값이라고 할 수 있습니다.
그러나 이때의 TxHash는 Raw Transaction으로 암호화 해싱을 한 번 거친 '있는 그대로의' 긴 문자열로 이루어진 트랜젝션이라고 할 수 있습니다.
그리고 이러한 Raw Transaction이 포함하고 있는 정보에는 논스 값, 가스 비, 가스 한도, B의 지갑 주소, 보내는 이더리움의 수량, 데이터 필드에 입력된 문자열(일반적으로 비어 있음) 등이 있습니다.
하지만 이러한 Raw Transaction은 우리가 일반적으로 확인하는 TxHash 값은 아니며 우리가 보는 해시 값 이것보다 더 짧은 문자열이라고 할 수 있습니다.
이어서 우리가 확인할 수 있는 TxHash 값을 만들기 위해서는 Raw Transaction에다가 이더리움의 키를 만들 때 사용하는 암호화 해시 함수인 Keccak256를 통해 한 번 더 해싱하여 암호화를 하는 과정이 필요합니다.
이렇게 되면 우리가 일반적으로 이더스캔을 통해 확인할 수 있는 TxHash 값이 나오게 되며 글로는 긴 과정을 거치는 것 같지만 실제로 우리가 트랜젝션을 브로드캐스팅하는 즉시 TxHash 값이 생성됩니다.
끝으로 이렇게 트랜젝션이 브로드캐스팅 되고 TxHash가 생성되며 트랜젝션이 Mempool에서 유효성이 검증된 후 펜딩 상태에 있다가 블록이 생성되면서 기록되고 1컨펌을 받게 되면 비로소 트랜젝션의 처리가 끝나게 됩니다.
그리고 우리가 이더스캔을 통해 TxHash 값을 입력함으로써 트랜젝션의 상세 정보를 확인할 수 있는 것이라고 할 수 있습니다.
답변이 도움이 되길 바랍니다.