트랜잭션이란
1. EOA가 EOA에게 Eth를 전송하거나
2. EOA가 CA를 호출할 때
사용되는 구조이다.
EOA-EOA
- value에 보내는 Eth양이 들어가고
- Input Data에는 빈 값이 들어간다
EOA-CA
- value에는 보내는 값이 없는 경우가 0이 들어가고(Defi 등의 서비스의 경우 value 존재)
- Input Data에 호출하는 함수명과 파라미터 값이 들어간다.
CA-CA
- 간의 호출 정보는 Internal Transaction 이라고 부르며 Contract 코드 상에서 Delegatecall, StaticCall, call 함수를 통해 발생한다.
Transaction 서명
- 이더리운은 secp256k1 기반의 타원곡선암호(ECC)를 사용하여 서명하고 검증한다.
- 트랜잭션에서 r, s 가 실제 서명이고 v는 복구를 위한 값으로 27, 28을 사용하고 있다.
Message 구조
- CA가 CA를 호출할 때 (Internal transaction)만 발생하는 네트워크 구조
- EVM 상에서만 존재하는 가상 객채이다
- 블록체인상에 기록이 남지 않는다.
Receipt 구조
- EVM에서 Transaction을 실행하고 결과값이 저장되는 곳이다.
- 실제로 사용된 Gas와 컨트랙트 호출시에 발생하는 Log 등이 저장되는 구조이다.
- 이 데이터는 블록체인상 기록된다.
'[Web3.0] > 블록체인' 카테고리의 다른 글
Structure of CryptoKitties (0) | 2023.03.06 |
---|---|
이더리움 GAS (0) | 2023.02.17 |
이더리움 Block 구조 (0) | 2023.02.17 |
이더리움의 Account Structure (2) - 자료구조 (0) | 2023.02.17 |
이더리움의 Account Structure (1) (0) | 2023.02.17 |