이더리움은 DAPP을 배포할 수 있는 탈 중앙화 플랫폼입니다. 솔리디티라는 프로그래밍 언어를 이용해 스마트컨트랙트를 작성할 수 있고, 이를 배포하거나 함수를 호출하기 위해서는 이더라는 내부 화폐가 필요합니다. 작업 증명 합의알고리즘을 이용하고, 네트워크에는 일반 노드 및 채굴자라고 하는 두가지 종류의 노드가 존재합니다. 블록체인의 사본을 가지고 있는 노드가 일반 노드이며 채굴자는 블록 채굴을 통해 블록체인을 생성합니다.
이더를 하나의 계정에서 다른 계정으로 보내거나 컨트랙트의 함수를 호출하거나 새로운 컨트랙트를 배포하기 위한 서명된 패키지입니다. 트랙잭션은 메세지 수진자, 송신자를 식별하고 의도를 증명하기 위한 서명, 전송할 이더의 양, 트랜잭션을 실행하기 위해 허용되는 연산 단계(가스 한도), 트랜잭션 송신자가 각 연산 단계를 위해 지불할 의사가 있는 비용(가스 가격), 컨트랙트의 함수를 표추한다면 입력 데이터 등을 포함합니다.
이더리움 네트워크 내 모든 네트워크는 블록체인의 사본을 가지고 있습니다. 이더리움은 작업 증명 프로토콜을 이용해 블록체인의 변조를 방지하며, 복잡한 퍼즐을 푸는 상당한 양의 계산을 하여 새로운 블록을 생성하는 절차를 채굴이라고 합니다. 채굴자는 네트워크 내에서 블록을 채굴하는 노드입니다. 블록체인 내에서 누구라도 채굴자가 될 수 있고, 각자 퍼즐을 풀며 먼저 푼 사람이 승리합니다. 다른 채굴자들 보다 강력한 프로세서를 보유하고 있다면 승리 확률이 높아집니다. 블록체인이 가질 수 있는 블록의 양은 제한이 없으며 총 생산가능한 이더도 제한이 없습니다. 채굴자가 성공적으로 채굴에 성공하면 네트워크 내에 있는 노드에게 블록을 브로드캐스팅합니다.
채굴자는 헤더와 콘텐츠를 포함한 블록을 생성하는데, 콘텐츠는 블록이 포함하고 있는 트랜잭션의 목록, 헤더는 이전의 해시, 블록체인 번호, 논스, 목표, 타임스탬프, 난이도, 채굴자의 주소 등이 포함됩니다. 논스는 퍼즐의 해결책을 찾기위한 의미 없는 값입니다. 퍼즐이라는 것은 블록을 해시화 했을때 해시 값이 목표값보다 같거나 작아질 수 있는 논스를 찾는 것으로, 논스를 찾는 방법은 모든 값을 열거해 대입하는 것입니다. 이더리움은 ethash라는 알고리즘을 이용합니다.
64비트의 부호 없는 정수로 퍼즐을 풀기 위한 해결책입니다. 채굴자는 답을 찾을 때까지 계속 증가시킵니다. 채굴자가 채굴하는 블록의 해시는 타임스탬프, 채굴자 주소 등에 의존적이며 이 값은 채굴자 마다 다릅니다. 즉 퍼즐을 풀기 위한 경쟁보다는 복권추첨과 비슷한 개념입니다.
계산 단계의 측정 단위로, 모든 트랜잭션은 가스 한도와 가스당 지불할 의사가 있는 수수료를 포함해야합니다. 채굴자는 트랜잭션을 포함하고 수수료를 징수할 수 있는 선택권이 있고, 가스 가격을 결정할 수 있습니다.