블록체인이당
[Ethereum] Transaction(트랜잭션) 의 개념
이히당
2024. 12. 9. 00:48
📨 Ethereum Transactions (이더리움 트랜잭션)
이더리움 트랜잭션은 블록체인에 기록된 상태 변경 요청이다. 트랜잭션을 통해 ETH 전송, 스마트 컨트랙트 호출, 계정 상태 변경 등이 이루어진다.
- 트랜잭션은 간단하고 효율적으로 EVM(이더리움 가상 머신)의 상태를 변경한다.
- 모든 트랜잭션은 서명된 데이터 패키지로, 이더리움 네트워크에 전송되어 블록에 기록된다.
🧑💻 Ethereum Accounts (이더리움 계정)
이더리움에는 두 가지 유형의 계정이 있다
- Externally-Owned Account (EOA):
- 개인이 소유하고 개인 키(Private Key) 로 제어한다.
- ETH 전송 및 스마트 컨트랙트 호출을 수행할 수 있다.
- 트랜잭션을 시작할 수 있다.
- Contract Account:
- 스마트 컨트랙트 코드가 포함된 계정이다.
- 자체적으로 트랜잭션을 시작할 수 없으며, EOA로부터의 호출에 반응한다.
- 블록체인에 배포된 후에는 코드가 변경되지 않는다.
🆚 EOA와 Contract Account 비교
구분 | Externally-Owned Account (EOA) | Contract Account |
---|---|---|
제어 | 개인 키로 제어 | 스마트 컨트랙트 코드로 제어 |
트랜잭션 시작 | 직접 트랜잭션 시작 가능 | 외부 호출이 필요 |
ETH 보유 | 가능 | 가능 |
가스 소모 | 트랜잭션 실행 시 가스 필요 | 호출 및 코드 실행 시 가스 필요 |
⚙️ Transactions and EVM State Changes
이더리움 트랜잭션은 EVM (Ethereum Virtual Machine)의 상태를 변경한다.
- 상태 변경 예시:
- ETH 전송: 계정 A에서 계정 B로 ETH를 전송.
- 스마트 컨트랙트 호출: 컨트랙트의 특정 함수 실행.
- 컨트랙트 배포: 새 스마트 컨트랙트 생성.
📝 Information in a Submitted Transaction (트랜잭션에 포함된 정보)
트랜잭션에는 다음과 같은 주요 정보가 포함된다.
- Nonce:
- 보낸 계정의 트랜잭션 수.
- Gas Price:
- 트랜잭션 수수료로 지불할 가스 단위당 가격.
- Gas Limit:
- 트랜잭션이 소비할 수 있는 최대 가스 양.
- To:
- 트랜잭션 수신자 주소 (EOA 또는 컨트랙트).
- Value:
- 전송할 ETH의 양.
- Data:
- 스마트 컨트랙트 호출 시 실행할 코드나 데이터.
- v, r, s:
- 서명 관련 값으로, 트랜잭션의 무결성을 보장한다.
🔄 Types of Transactions (트랜잭션 유형)
- ETH Transfer:
- EOA 간 ETH를 전송.
- Contract Deployment:
- 새로운 스마트 컨트랙트를 블록체인에 배포.
- Contract Interaction:
- 스마트 컨트랙트 함수 호출 또는 실행.
- Internal Transactions:
- 스마트 컨트랙트 내부에서 발생하는 트랜잭션으로, 블록체인에 직접 기록되지 않지만 호출 기록에 남는다.
⛽ On Gas (가스에 대해)
Gas란?
- 이더리움 네트워크에서 트랜잭션 실행에 필요한 연산 비용 이다.
- 가스는 ETH로 지불되며, 네트워크의 과부하를 방지하고 보안을 강화하기 위해 사용된다.
Gas 비용 계산
- Gas Used:
- 트랜잭션 실행에 소모된 총 가스 양.
- Gas Price:
- 가스 단위당 지불할 가격 (Gwei 단위, 1 Gwei = 0.000000001 ETH).
- Total Fee:
Gas Used × Gas Price
가스 관련 용어
- Gas Limit:
트랜잭션에 사용할 수 있는 최대 가스 양. - Base Fee:
네트워크 혼잡도에 따라 자동으로 결정되는 최소 수수료. - Priority Fee (Tip):
채굴자 또는 검증자에게 지급하는 추가 수수료.
이더리움 트랜잭션은 이러한 가스 시스템과 계정 유형을 통해 효율적이고 안전하게 상태를 변경한다.
728x90