토큰은 일반적으로 사소한 내재가치를 지닌, 사적으로 발행된 특수 용도의 동전 같은 물건을 지칭하기 위해 사용되는 단어다. 최근 블록체인에서 관리되는 ‘토큰’은 소유할 수 있고, 자산, 화폐, 혹은 접근 권한 등 블록체인 기반의 추상화된 의미로 재정의되고 있다. 블록체인 토큰은 전 세계적으로 다양한 용도로 사용되며, 서로 교환되거나 전 세계 유동 시장에ㅓ 다른 화폐로 거래될 수 있다. 이 장에서는 토큰의 다양한 용도와 함께 토큰이 어떻게 생성되는 지 살펴본다. 또한 대체성(fungibility) 및 내재성(intrinsicality) 같은 토큰의 속성에 대해서도 논의한다. 마지막으로, 토큰의 기반 기술과 표준을 검토하고 자체 토큰을 만들어 실험을 해본다. 토큰은 어떻게 사용되는가? 토큰의 가장 분명한 사용..
트랜잭션은 외부 소유 계정 (EOA, Externally Owned Account)에 의해 서명된 메시지이고, 이더리움 네트워크에 의해 전송되고 이더리움 블록체인에 기록된다. 다른 관점에서 보면, 트랜잭션은 EVM에서 상태 변경을 유발하거나 컨트랙트를 실행할 수 있는 유일한 방법이라는 것이다. 이더리움은 글로벌 싱글톤 상태 머신이며, 트랜잭션은 이 상태 머신을 움직여서 상태를 변경할 수 있도록 만든다. 즉, 모든 것은 트랜잭션으로부터 시작된다. (컨트랙트나 이더리움은 자율적으로 실행되지 않음) 트랜잭션 구조 트랜잭션은 기본적으로 이더리움 네트워크에서 시리얼라이즈되어 전송된다. 시리얼라이즈된 트랜잭션을 수신하는 클라이언트와 어플리케이션은 자체 내부 데이터 구조를 사용하여 트랜잭션을 메모리에 저장하고, 이 ..
넓은 의미에서 지갑은 이더리움의 주요 사용자 인터페이스를 제공하는 소프트웨어 애플리케이션이다. 지갑은 사용자 돈에 대한 접근을 통제하고, 키와 주소를 관리하며, 잔액을 추적하고, 트랜잭션 생성과 서명을 제어한다. 개발자의 시각으로 좁혀보면, 지갑은 사용자의 키를 보관하고 관리하기 위해 사용되는 시스템으로, 모든 지갑은 키 관리 구성요소를 갖고 있다. 그 자체로 전부인 지갑도 있고, 좀 더 넓은 범주에서 이더리움 기반 탈중앙화 애플리케이션의 인터페이스인 브러우저의 일부이거나, 댑(DApp)의 한 부분인 지갑도 있다. 지갑 기술의 개요 지갑을 설계할 때 중요한 고려사항 하나는 편의성과 프라이버시 사이에 균형을 맞추는 것이다. 가장 편리한 이더리움 지갑은 하나의 개인키와 주소를 가지고 이를 재사용해서 모든 것..
이더리움의 기반 기술 중 하나는 수학의 한 분야인 암호학(Cryptography) 단순히 암호화(encryption)하는 것 이상으로 비밀을 밝히지 않고 비밀의 지식을 증명하거나, 데이터의 진위성을 증명하는 데 사용가능 영지식 증명 (zero knowledge proof) 동형 암호화 (homomorphic encryption) 이번 장에서 개인키와 주소의 형태로 자금의 소유권을 제어하는 데 사용되는 공개키 암호화(Public Key Cryptography, PKC)에 대해서 배울 게 될 것 키와 주소 EOA의 경우, 아래 3가지를 통해 이더 소유권을 확립한다. 디지털 개인키(private key) 이더리움 주소(Ethereum address) 디지털 서명(digital signature) → 개인키를 ..
이더리움 클라이언트는 이더리움 사양을 구현하고 다른 이더리움 클라이언트와 P2P 네트워크를 통해 통신하는 소프트웨어 애플리케이션이다. 기준 사양과 표준 통신 프로토콜을 준수한다면, 서로 다른 이더리움 클라이언트들끼리 상호운용(interoperate)이 가능하다. 서로 다른 클라이언트가 다른 팀과 다른 프로그래밍 언어로 구현되는 동안 이들은 모두 동일한 프로토콜로 소통하고 동일한 규칙을 따른다. 노드는 이더리움 클라이언트를 구동하는 이더리움 네트워크에 있는 컴퓨터입니다. 이더리움 클라이언트란 이더리움 프로토콜 또는 네트워크 규칙을 실행하는 소프트웨어입니다. 이더리움 네트워크는 연결된 노드의 집합이며, 이러한 노드 각각은 수신한 트랜잭션과 블록이 프로토콜 규칙에 따라 유효한지 확인한 후 블록체인에 추가합니다..
이더 화폐 단위 이더리움의 화폐 단위는 이더(ether)라고 불리며, 기호는 “ETH”이다. Ξ, ♦ : 이런 기호도 사용하긴 하지만 거의 사용하지 않음. 예를 들어, “ 1 ether ", " 1 ETH ", " Ξ1 ", " ♦1 ” 이렇게 다 똑같은 표기이다. 이더 명칭 및 단위 Value (in wei) Exponent Common name 1 1 wei 1,000 10^3 Babbage 1,000,000 10^6 Lovelace … … … 1,000,000,… 10^18 Ether 이더는 더 작은 단위로 나눠진다. 이더의 가치는 항상 이더리움 내부에서는 웨이로 표시되며 부호 없는 정수값이다. 예를 들어,1이더를 거래할 때 그 트랙잭션은 1,000,000,000,000,000,000 wei 값으로..