Gas Fee? EOA? CA?

김성진·2022년 8월 17일
0

가스비란?

간단하게 정의하자면 자동차도 연료라는 것이 있어야 동작을 하듯이, 이더리움 블록체인 네트워크에서 코인을 다른 곳으로 전송할때 일어나는 수수료를 뜻한다.

"가스는 스마트 계약의 코드 난이도가 높거나 저장 공간이 넓을 수록 더 많은 비용을 지불해야합니다. 그래서 채굴자에게 더 많은 비용을 지불하면 먼저 거래를 실행할 수 있고 정상적인 가격보다 낮게 비용이 책정된다면 거래가 훨씬 뒤로 밀려날 수 밖에 없다."

Reference:

https://pumkle.tistory.com/entry/%EC%95%94%ED%98%B8%ED%99%94%ED%8F%90-%EC%9A%A9%EC%96%B4-%EC%A0%95%EB%A6%AC-%EA%B0%80%EC%8A%A4%EB%B9%84-%EB%82%98%EC%98%A4%EB%8A%94-%EC%9D%B4%EC%9C%A0%EA%B0%80-%EB%AD%98%EA%B9%8C%EC%9A%94

EOA란?

EOA란 Eternally Owned Account을 말한다.

EOA와 CA의 차이점:

  • EOA(Externall Owned Accounts)는 외부 소유 어카운트로서 개인 키에 의해 통제되는 계정 정보입니다.
  • CA(Contract Accounts)는 컨트랙트 어카운트로서 컨트랙트 코드에 의해 통제되는 계정 정보입니다.

EOA 계정은 사용자 계정이며, 개인 키(Private Key) 정보를 가지고 있습니다, 하지만 컨트랙트 어카운트(CA) 계정은 개인 키 정보를 가지고 있지 않습니다. 트랜잭션을 생성하기 위해서는 전자 서명 정보가 필요하며, 전자 서명을 하기 위해서는 반드시 개인 키 정보가 필요합니다.

즉, EOA 계정은 자체적으로 트랜잭션을 생성할 수 있지만, CA 계정은 자체적으로 새로운 트랜잭션을 생성할 수 없으며, 타 계정으로 부터 받은 메시지에 대한 응답으로 내부 트랜잭션을 실행할 수 있습니다.


위 사진과 같이 3가지 경우의 수를 보면,
1. EOA가 다른 EOA에게 이더를 전송하기 위한 트랜잭션 발송.
2. EOA가 특정 계약을 수행하기 위해 CA에게 트랜잭션 발송.
3. EOA가 특정 계약을 수행하기 위해 CA에게 던졌는데 또 다시 다른 CA에게 발송.

Account

이더리움의 상태(State)는 어카운트(account)라고 하는 오브젝트(object)들로 구성되어 있으며, 각 어카운트 오브젝트에 20바이트의 주소와, 상태변화(state transition)을 가지고 있다고 설명해드렸습니다.

Account는 총 4가지(Nonce, Balance, storageRoot, codeHash) 정보로 구성되며, 각 계정의 종류에 따라 어떤 역할을 수행하는지 간략하게 정리해보도록 하겠습니다.

EOA

Nonce : Account에서 전송된 트랜잭션의 수
Balance : Account가 소유한 잔고 정보로써, wei 단위로 표시
storageRoot : Merkle Paticia Tree의 Root Hash
codeHash : 빈 문자열의 Hash 정보

CA

Nonce : Account에서 생성된 Contract 수
Balance : Account가 소유한 잔고 정보로써, wei 단위로 표시
storageRoot : Merkle Paticia Tree의 Root Hash
codeHash : Account에 포함된 이더리움 버츄얼 머신(EVM) code의 Hash

Reference:

https://steemit.com/kr/@yahweh87/eoa

profile
multi-national communicator with programming (back-end)

0개의 댓글