- 블록체인 : 순서가 정렬된 일련의 블록 집합
- 각 블록은 순서가 정렬된 일련의 트랜잭션으로 구성된다
블록?
- 메타정보를 담은 헤더 + 일련의 트랜잭션
- 채굴자가 채굴해서 생성되고 네트워크의 다른 노드로 브로드캐스트 된다
- 모든 노드가 규칙에 따라 수신된 이 블록을 확인하고, 합의 규칙을 충족하지 않으면 네트워크에서 거부
- 포크? fork
- 네트워크가 합의 규칙을 두고 경쟁하는 2개 이상의 집합으로 나눠질때 발생하는 이벤트
- 블록이 수신되면 합의 규칙을 확인한다 했는데 이 합의 규칙을 두고 네트워크끼리 싸울때 발생하는 이벤트인가?
- 이더리움의 공식 클라이언트 프로그램(Geth)가 업데이트 될때 이 포크가 발생함
- 소프트 포크
- 새로운 규칙 집합이 이전 규칙의 하위 집합일 때 발생
- 아직 이전 규칙을 사용하는 클라이언트도 새 규칙으로 만든 블록을 거부하지 않으므로 채굴자(블록 생성자)만 소프트웨어 업데이트 하면 됌
- 하드 포크
- 새 규칙이 이전 규칙과 호환하지 않을 때 발생
- 모든 클라이언트가 소프트웨어를 업데이트 해야함
- 사용자 그룹이 업데이트 거부하면? → 체인 분할 발생 (무조건은 아닌듯?)
- 체인이 분할되면 한 체인에서 유효한 블록이더라도 다른 체인에서는 유효하지 않게 되기 때문에 아무튼 문제가 생김
- 지금까지 이더리움은 7번의 하드포크 겪음 → 그 중 하나는 체인 분할로 이어져서 이더리움 클래식이 탄생함
채굴
- 이더리움 네트워크의 채굴 노드는 이더해시라는 독자적인 알고리즘을 써서 블록을 생성하고자 경쟁한다?