블록체인 및 이더리움 기초 개념

트랜잭션(Transaction | Tx)

블록체인에 기록되는 P2P 메시지.

 

Tx가 블록체인에 기록하는 내용

  • 어떤 오퍼레이션(Operation)을 실행했는지
  • 그 오퍼레이션을 실행하기 위해 전달된 파라미터
  • 메시지 송/수신인
  • Tx 수수료
  • 타임스탬프(저장 시점) 등

 

블록체인 노드(Blockchain Node)

탈중앙화 시스템의 참여자를 위한 H/W와 S/W의 집합.

 

합의 알고리즘(Consensus Algorithm)

기존 체인에 추가될 하나의 블록에 대해 참여 노드들이 합의(집합적으로 동의)하는 것.

 

블록체인 형성 순서

① 네트워크상의 트랜잭션들이 검증 단계를 거쳐 노드에 Pooling.

② 일반적으로 Tx에 많은 수수료를 지불한 순으로 Set(예비블록)에 Push.

③ 합의 알고리즘을 통해 새로운 Set를 Append.

④ⓐ 최초 저장이라면, 제네시스(Index 0) 블록으로서 Create New Chain.

④ⓑ 리드(Index N) 블록의 해시를 Append한(Index N+1) 블록의 헤드에 기록하여 Chain-Link.


블록체인의 차별성(3D)

1. 탈중앙화 인프라(Decentralized Infrastructure)

프로토콜-스마트 계약-앱을 지원하는 컴퓨팅 노드를 서로 연결하는 네트워크.

 

2. 탈중개 프로토콜(Disintermediation Protocol)

탈중앙화 시스템의 참여자들은 동일한 프로토콜을 사용.

 

3. 분산 장부 기술(Distributed Ledger Technology | DLT)

인프라 위에 장부에 모든 참여자의 Tx와 데이터를 동시에 기록.

모든 참여자가 동일한 사실을 함께 알고 있음.

각 블록은 이전 블록의 서명과 연결되어 변조 불가.

(주인장의 개인적인 생각이지만 Similar to Linked-List)

 

+ 신뢰 확립자(Trust Enabler)

중앙화된 정부 기관 혹은 은행 같은 중개자가 없기 때문에

Governance, 검사, 감시 등을 자동화하는 규칙을 담당.


스마트 계약(Smart Contract)

DApp의 확인-검증-저장 절차를 규칙적으로 강제하기 위한 상태의 집합을 가진

변조 불가능(Immutable) 상태이자, 실행 가능(Executable) 상태인 기반 코드.

 

Solidity의 간단한 예시

*onlyByOwner : Account의 소유자인지 검사하라는 규칙

transferOwnership(newOwner); // Generate Transaction
function transferOwnership onlyByOwner (account newOwner) { /*생략*/ };

블록체인의 사용 동기

1. 일관성 있는 데이터 수집

계약서, 보고서 등의 복사본을 분산 장부에 저장.

 

2. 시의적절한 정보 공유

전쟁, 테러, 총기 사건, 마약 남용 등의 상황에서 분산 장부를 사용하여 위험 요인을 사전에 차단. 

 

3. 검증 가능한 감시

데이터 처리의 전과정을 추적하여 개인정보보호법을 위반하는 데이터 유출을 방지.

 

4. 행위 귀속

제공한 서비스 및 요금에 관한 규칙으로 스마트 계약에서 자동으로 지급 결제 처리 후 기록.

'Web 3.0 > Ethereum & Solidity' 카테고리의 다른 글

스마트 계약(Smart Contract)  (0) 2022.01.17