어카운트의 종류에는

1.외부소유어카운트(EOA:Externally Owned Account)=개인 키로 제어되는 것으로서 코드를 저장할 수 없다.

 

2.컨트랙트어카운트(CA:(Contract Account)=스마트 컨트랙트 코드(Solidity 등의 언어로 짜여진 스크립트)에 의해 제어되며 특정 CA에 코드를 저장할 수 있다.

 

<어카운트끼리 통신하는 과정>

1.외부소유어카운트(eoa)=개인키를이용해 ca에 트랙잭션을 보낸다<eoa에만 개인키가있음>.

2.ca(스마트컨트랙트)에는 바로접근이안되기 때문에 한번더 실행 -해시값으로 배포가 된다.

  1. 블록에 올라가서 수정이안되는건지
  2. 실행될 코드의 해시값으로 찾는다 evm은 개개인이 키를 가지고있진않음
  3. evm를 가지고있는 풀노드에서 대신실행시켜줌
  4. 트랙잭션을 검증을해주고(생성 트랜잭션에 각노드는검증하는거, 검증완료된 트랜잭션을 렘(맴풀)에보냄
    각노드가 일정쌓인 트랜잭션을모아서
    )
  5. 그결과값을 이더리움 네트워크에 올려줌
  6. 마이너가 만든 블록에 추가를해줌(그중에 대표블록을생성하는데 이게바로채굴입니다. )
  7. 그블록이 각마이너들이 만든블록들을올리고 제일 무거운 체인이 선택이됌(고스트프로토콜)
  8. 이블록이 블록체인 네트워크안에 있게되고 우리가 스마트컨트랙트로 짠 코드를 쓸 수 있게되는것.

3.ca(스마트 컨트랙트에 있는 코드를 실행시킨다.)

참고한곳

https://hersheythings.xyz/entry/ethtereumstructure

 

이더리움은 어떻게 동작할까?

먼저, 블록체인(Not 이더리움)을 한 문장으로 정의하자면 아래와 같습니다. “암호학적으로 안전하고, 모두에게 공유되는 상태값을 가지며 상태의 전환이 가능한 싱글톤 머신” 상기의 문장을

HERSHEYTHINGS.XYZ

책:코어 이더리움 프로그래밍

복사했습니다!