Ethereum 소개(주석 버전)
편집자 주: 이 기사의 출처는이더리움 애호가편집자 주: 이 기사의 출처는bitsonblocks이더리움 애호가
(ID: ethfans), 저자: Bits on Blocks, 출처:

소개
, 번역: ViolaH & Elisa, 허가 하에 출판.
편집자 주: 이 글은 원래 2016년에 작성되었으며 많은 사람들이 이더리움을 이해하기 위한 입문 자료입니다. 소개 자료를 최신 상태로 유지하기 위해 이 기사를 다시 번역하고 몇 가지 주석을 추가했습니다. 이전 번역에 대해서는 "A Basic Introduction to Ethereum"을 참조하십시오.
소개
이더리움의 개념은 블록체인과 암호화폐를 기반으로 하며, 블록체인과 비트코인에 익숙하지 않은 독자라면 "비트코인 소개"와 "블록체인 기술 소개"를 읽으면 된다. 이 기사는 독자가 비트코인의 작동 방식에 어느 정도 익숙하다고 가정합니다.
이더리움이란 무엇입니까?
이더리움은 컴퓨터 네트워크에서 실행되는 소프트웨어로 데이터와 스마트 계약이라는 일부 프로그램을 중앙 코디네이터 없이 네트워크에서 복사하고 처리할 수 있습니다. 이더리움의 비전은 가동 중지 시간이 없고 검열에 강하며 자급자족하는 분산형 세계 컴퓨터를 만드는 것입니다.
관련 정보는 이더리움 재단이 이더리움을 위해 구축한 공개 웹사이트를 참조하십시오: https://www.ethereum.org
비트코인은 전 세계 수많은 컴퓨터에서 거래 데이터의 검증, 복제 및 저장을 실현합니다(따라서 "분산 원장"이라는 이름). 반면 이더리움은 비트코인의 블록체인 개념을 확장하고 한 단계 더 나아가 전 세계 수많은 컴퓨터에서 컴퓨터 코드를 동등하고 편견 없이 실행하기를 희망합니다.

Bitcoin은 분산 데이터 저장소를 구현하고 Ethereum은 분산 데이터 저장소 및 컴퓨팅을 동일한 방식으로 구현합니다. (전체적으로) 이더리움은 컴퓨터와 같고, 그 위에서 실행되는 컴퓨터 프로그램을 "스마트 컨트랙트"라고 합니다. (실질적으로 말하면) 네트워크 참가자는 "Ethereum Virtual Machine"이라는 운영 체제를 사용하여 자신의 컴퓨터에서 이러한 프로그램("스마트 계약")을 실행합니다.
편집자 주: 이렇게 표현하는 것이 더 쉽습니다. 컴퓨터에서 이더리움 클라이언트 소프트웨어를 실행하는 수백만 명의 사람들이 있으며 이러한 컴퓨터는 서로 통신하고 데이터를 전달합니다. 데이터가 특정 규칙("Ethereum 합의 규칙")을 준수하는 한 클라이언트 소프트웨어는 일부 규칙에 따라 데이터를 사용합니다. 특히 EVM("Ethereum Virtual Machine")(Windows 또는 Android와 동일)에서 이러한 데이터를 사용합니다. ) 일부 프로그램("스마트 계약")을 실행한 다음 결과를 얻습니다. 흥미롭게도 모든 사람이 동일한 규칙을 준수하고 서로 통신하는 한 수많은 노드가 동일한 결과("합의")를 얻게 됩니다(그러나 합의는 일반적으로 즉각적이지 않고 시간이 걸립니다).
다음 그림을 참조하여 이해할 수 있습니다.
(하위 계층은 서로 통신하고, 중간 계층은 이러한 데이터에 대한 합의에 도달하고, 상위 계층은 이러한 데이터를 사용하여 응용 프로그램의 작동을 구동합니다.)
또한 이 프로세스는 컴퓨팅 프로세스의 신뢰성을 나타내는 "신뢰할 수 있는 컴퓨팅"이라는 매우 흥미로운 개념과도 관련이 있습니다. 관심 있는 사람은 "The Dawn of Trusted Computing"을 읽을 수 있습니다.
Ethereum을 "실행"하는 방법?
Ethereum 클라이언트 소프트웨어를 다운로드할 수 있습니다. 물론 인내심이 충분하다면 직접 작성할 수도 있습니다. BitTorrent 및 Bitcoin과 같은 소프트웨어와 유사하게 Ethereum 클라이언트는 동일한 클라이언트 소프트웨어를 사용하는 다른 사람들과 인터넷에서 연결하여 Ethereum 블록체인을 다운로드할 수 있도록 합니다. 이더리움 클라이언트 소프트웨어는 또한 수신된 각 블록이 이더리움의 규칙을 준수하는지 독립적으로 확인합니다.
Ethereum 클라이언트 소프트웨어는 다음과 같은 용도로 사용할 수 있습니다.
이더리움 네트워크에 연결
이더리움 블록체인 살펴보기
새로운 트랜잭션 및 스마트 계약 생성
스마트 계약 실행
새로운 블록 채굴
편집자 주: 소위 "블록체인"은 (당시) 규칙을 준수하기 위해 네트워크의 모든 컴퓨터에서 확인되고 실행되는 일련의 거래 데이터입니다. . 그리고 "새로운 블록을 채굴한다"는 것은 다른 컴퓨터가 실행할 수 있도록 일부 데이터를 퍼뜨리는 것을 의미합니다. "블록"이라고 하는 이유는 이러한 트랜잭션이 전송을 위해 이때 데이터 블록으로 패키징되기 때문입니다(다른 경우 트랜잭션 데이터는 또한 독립적으로 전파).
우리가 일반적으로 언급하는 "블록체인"은 위에서 언급한 시스템(모든 컴퓨터가 동일한 트랜잭션 데이터를 저장하고 실행함)을 가능하게 하는 일련의 기술(컴퓨터 상호 작용 프로토콜)을 나타냅니다.
이러한 방식으로 귀하의 컴퓨터는 네트워크의 노드가 되어 "Ethereum 가상 머신"을 실행하고 다른 모든 노드와 함께 작동합니다. P2P 네트워크에는 마스터 서버가 없으며 모든 컴퓨터는 동등한 권한과 상태를 갖습니다.
편집자 주: 2019년 5월 기준으로 전체 이더리움 블록체인을 보유하고 있는 약 6,000개의 노드("전체 노드"라고도 함)가 있습니다. 네트워크가 열려 있기 때문에 노드의 수는 지속적으로 변경됩니다.
이더리움과 비트코인의 유사점
이더리움을 이해하는 가장 쉬운 방법은 이더리움과 비트코인(더 단순한 시스템)의 유사점과 차이점을 비교하는 것이라고 생각합니다. 더 이상 고민하지 않고 같은 것에 대해 이야기합시다.
이더리움도 블록체인을 형성할 것입니다.
비트코인과 마찬가지로 이더리움도 데이터 블록(트랜잭션 데이터 및 스마트 계약 코드)을 포함하는 블록체인을 형성합니다. 일부 참가자가 블록을 생성하고 채굴한 후 검증(이 블록의 합법성)을 위해 다른 참가자에게 배포됩니다.
이더리움 블록체인에 어떤 정보가 기록되는지 이해하려면 이 "블록 탐색기"를 참조하십시오: https://etherscan.io
각 블록은 이전 블록의 해시 또는 "디지털 지문"을 참조하므로 블록이 함께 연결되어 체인을 형성합니다. 블록체인 기술에 대한 자세한 소개는 "블록체인 기술 소개"를 참조하십시오.
편집자 주: 위에서 언급한 바와 같이 참가자는 일부 데이터를 "블록"으로 구성하여 배포할 수 있습니다. 블록을 받은 후 다른 노드는 먼저 블록 기호가 미리 결정된 규칙을 준수하지 않는지 확인하고 충족하는 경우 블록을 실행합니다. 블록의 트랜잭션이 일치하지 않으면 블록이 거부됩니다. 트랜잭션이 실행되지 않고 블록이 더 이상 전파되지 않습니다.
"해시값"에 대하여 단순이해는 함수의 결과이다. 같은 데이터 입력함수는 같은 결과를 얻어야 하고, 서로 다른 데이터 입력함수의 결과는 거의 다르다고 할 수 있다(같은 확률은 매우 낮음), 해시 값으로 표시할 수 있습니다. "이모지 표현은 몇 초 만에 해시 함수를 이해하게 합니다"를 참조하십시오.
이더리움은 무허가 개방형 네트워크입니다.
비트코인과 마찬가지로 이더리움 메인넷은 개방적이고 허가가 필요 없습니다. 누구나 자신의 소프트웨어를 다운로드하거나 작성하여 네트워크에 연결할 수 있으며, 웹사이트에 로그인하거나 누구에게도 보고하지 않고도 거래 및 스마트 계약 생성, 거래 확인, 채굴(블록 채굴)을 시작할 수 있습니다.
일반적으로 사람들이 이더리움에 대해 이야기할 때 허가 없이 이 공개 버전을 언급합니다. 그러나 Bitcoin과 마찬가지로 Ethereum 클라이언트 소프트웨어를 사용하면 공용 네트워크와 독립적인 개인 네트워크를 만들기 위해 몇 가지 설정만 추가하면 됩니다. 그러나 프라이빗 네트워크의 토큰 및 스마트 계약은 아직 퍼블릭 토큰과 호환되지 않습니다.
무허가형 개방형 네트워크와 사설 허가형 네트워크의 차이점에 대해 자세히 알아보려면 ""블록체인"의 다양한 유형"을 읽어보십시오.
작업증명(PoW)을 통한 이더리움 채굴
비트코인과 마찬가지로 이더리움 채굴자들은 유효한 블록을 생성할 때 수학적 문제에 대한 해결책을 찾아야 하는데, 해결 과정이 무계획적이기 때문에 많은 전기를 투자하고 컴퓨터를 이용해 지속적으로 계산해야 한다.
이더리움의 작업 증명 수학 퍼즐은 "Ethash"라고 불리며 비트코인의 PoW 알고리즘과는 약간 다릅니다. 사람들은 공통 하드웨어로 Ethash 마이닝에 참여할 수도 있습니다. 비트코인 채굴 활동에서 특수 목적 하드웨어(ASIC)는 매우 일반적이며 이더리움의 Ethash는 특수 목적 하드웨어의 효율성 이점을 줄이기 위해 설계되었습니다.
마이닝에 대한 자세한 내용은 "비트코인 마이닝 소개"를 참조하십시오.
편집자 주: 특히 PoW 시스템에서는 채굴자가 트랜잭션을 압축할 때 구조화된 데이터("블록 헤더")가 형성되며(구조화된 데이터의 이 부분은 자연스럽게 트랜잭션마다 다릅니다) 블록 헤더에는 다음을 포함합니다. 블록이 생성된 타임스탬프, 상위 블록의 해시 값 등과 같은 기타 데이터. 블록의 규칙성 요구 사항은 블록 헤더의 해시 값(값으로)이 특정 요구 사항("난이도 요구 사항")을 충족하는 것입니다(예를 들어 비트코인 프로토콜의 난이도 요구 사항은 시작 부분의 "0"입니다. 해시 값이 특정 숫자에 도달). 그러나 위에서 언급한 바와 같이 특정 데이터의 해시값은 결정론적이며, 위의 데이터만으로는 요구 사항을 충족하는 해시값이 생성될 수 있다는 보장이 없으므로 블록 생성자는 해당 데이터 중 하나를 지속적으로 변경해야 합니다. 블록 헤더의 해시 값이 난이도 요구 사항을 충족할 때까지 특별한 의미("블록 논스")가 없습니다(그렇지 않으면 전파되더라도 다른 노드가 블록을 수락하지 않습니다).
이더리움 로드맵에는 전력 소모가 많은 작업 증명을 보다 에너지 효율적인 지분 증명으로 변경하는 캐스퍼(Casper)라는 프로토콜 계획이 있으며 향후 이더리움의 "세레니티(Serenity)" 버전에 포함될 예정입니다. 풀어 주다.
편집자 주: 이른바 PoS(Proof of Stake)는 TA의 블록 생성 확률을 결정하기 위해 자금 풀에서 참가자 자금의 비율을 사용하는 것입니다. 계산하기 위해 많은 전기를 투자할 필요가 없습니다.
2014년부터 이더리움 코어 개발팀은 지분 증명 합의 메커니즘을 연구해 왔습니다. 현재(2019년 5월) 이더리움 메인넷에 구현된 지분증명 방식 캐스퍼(Casper)는 기본적으로 확정되었으며 2019년 말까지 배포되어 이더리움의 새로운 장을 열 것으로 예상됩니다.
이더리움에는 암호화폐가 내장되어 있습니다.
이더리움의 토큰은 Ether라고 하며 영어 약어는 ETH입니다. 현재 시장은 BTC를 수용하는 것과 마찬가지로 ETH를 다른 암호화폐 및 주권 통화와 교환하는 것을 수용했습니다. ETH의 현재 가치는 약 $13/ETH(2016년 10월 기준)입니다. 비트코인과 마찬가지로 이더리움 토큰의 소유권도 이더리움 블록체인에 기록되지만 기술적으로는 약간 다른 방식으로 기록됩니다.
편집자 주: 여기서 요점은 블록이 채굴될 때 내장된 암호화폐가 발행된다는 것입니다: 블록이 생성될 때마다 블록을 채굴한 광부에게 (미리 정해진) 양의 암호화폐가 발행됩니다. .
위에서 여러 번 언급한 "트랜잭션"은 주로 비트코인 블록체인에서 비트코인의 전송 트랜잭션을 가리키는 반면, 이더리움에서는 주로 ETH 전송, 사용자와 스마트 계약 간의 상호 작용, 토큰 전송을 포함하여 더 다양합니다. 스마트 계약에 의해 발행됩니다.
원문이 작성된 이후 ETH 가격은 13달러(약 87위안)에서 1347달러(약 9000위안)까지 상승(2018년 1월)한 후 점차 100달러(2018년 1월~2019년 1월) 부근까지 하락하고 있으며, 이제 점진적으로 $250(2019년 5월)로 회복되기 시작했습니다. 또한 명목화폐에 대한 암호화폐의 가격은 거의 매일 크게 변동합니다.
이더리움과 비트코인의 차이점
의자를 준비하세요. 좀 더 기술적이고 복잡한 주제를 시작하겠습니다.
Ethereum의 블록 시간은 더 짧습니다.
이더리움 네트워크에서 각 블록 사이의 시간 간격은 약 14초인 반면 비트코인의 블록 간격은 약 10분입니다. 이 시차는 비트코인 거래와 이더리움 거래를 동시에 보내면 일반적으로 이더리움 거래를 이더리움 블록체인에 기록하는 속도가 비트코인 거래를 비트코인 블록체인에 기록하는 속도보다 빠르다는 것을 의미합니다. . 비트코인 네트워크는 10분마다 데이터베이스에 쓰는 반면 이더리움 네트워크는 14초마다 데이터베이스에 쓰기 때문에 우리는 이것을 이해할 수 있습니다.
편집자 주: 비트코인과 이더리움은 이 점에서 다르지만 이 속성의 원칙은 동일합니다. 둘은 PoW 시스템입니다. 위에서 언급했듯이 무수한 컴퓨터가 개방형 네트워크에 있고 모든 컴퓨터가 언제든지 종료하거나 참여할 수 있으므로 심각한 문제가 발생합니다. 모든 컴퓨터가 독립적으로 작동하고 수신한 데이터를 처리하면 이러한 컴퓨터는 " 전체 시스템은 기본 기능을 실현할 수 없습니다(예: 각각 고유한 거래 내역이 있고 계정에 있는 금액을 아무도 결정할 수 없기 때문에 통화 이체). 따라서 PoW의 의미는 다음과 같습니다. 이 원장에 합계를 기록하려면 먼저 많은 컴퓨팅 리소스를 사용했음을 증명하십시오. "난이도 요구 사항"의 변경으로 보완하여 블록 생성에 필요한 작업 부하를 조정한 다음 전체 네트워크의 블록 생성 간격을 조정할 수 있습니다. 이러한 안정적인 블록 간격을 달성해야 하는 이유는 여러 가지가 있을 수 있지만(예: 네트워크의 보안과 같은 예상되는 추가 발행 수) 여기에는 자세히 설명하지 않습니다.
이더리움 블록이 더 작음
비트코인에서는 블록 크기의 상한을 바이트 단위로 측정하는데 현재 1MB인 반면, 이더리움은 블록의 크기를 표시하기 위해 스마트 계약의 계산 복잡도를 측정하는 단위를 사용합니다. 이 크기를 "블록 가스 상한"이라고 합니다. ". "이며, 블록 Gas 상한은 블록별로 변경할 수 있습니다(Bitcoin의 블록 크기 상한은 확실합니다).
현재 이더리움의 블록 크기 한도는 약 1,500,000 Gas입니다. 사용자 간(즉, 스마트 계약과 상호 작용하지 않음) ETH를 통한 기본 거래 또는 지불은 21,000 Gas의 복잡성을 가지므로 70개의 거래를 블록에 넣을 수 있습니다(1,500,000을 21,000으로 나눈 값). 오늘날의 비트코인 네트워크에서 블록은 1500-2000개의 단일 트랜잭션을 포함할 수 있습니다.
숫자 면에서 대부분의 이더리움 블록은 현재 2KB 미만입니다.
편집자 주: 2019년 5월 17일 현재 이더리움 블록의 가스 한도는 800만 가스에 도달했습니다. 단일 데이터 블록의 크기는 수백 KB입니다.
Ethereum은 EVM을 사용하여 스마트 계약을 실행합니다.
비트코인의 원래 스크립팅 언어와 비교할 때, 이더리움에 배포할 수 있는 코드("스마트 계약")는 더 발전되고 개발자에게 친숙합니다. 스마트 계약 코드는 이더리움 가상 머신 환경에서 실행되며 네트워크의 모든 컴퓨터는 EVM을 실행합니다. Microsoft Excel 매크로(Excel에서 실행되는 코드 스니펫)에 익숙하다면 스마트 계약이 Ethereum 가상 머신에서 실행되는 코드 스니펫이라는 것을 쉽게 이해할 수 있습니다.
많은 자료에서 사람들은 보통 이더리움 스마트 계약을 "튜링 완료"라고 부릅니다. 이는 스마트 계약이 완벽하게 작동하며 다른 프로그래밍 언어에서 수행할 수 있는 모든 계산을 수행할 수 있음을 의미합니다.
이더리움 발행

ETH는 어떻게 생성되나요? ETH 발행과 BTC 발행의 가장 큰 차이점은 BTC 발행은 약 4년마다 절반으로 줄어드는 반면 ETH 발행은 변경되지 않은 상태로 유지된다는 것입니다(어쩌면 Serenity 버전 이전).
ETH는 어떻게 생성되나요? ETH 발행과 BTC 발행의 가장 큰 차이점은 BTC 발행은 약 4년마다 절반으로 줄어드는 반면 ETH 발행은 변경되지 않은 상태로 유지된다는 것입니다(어쩌면 Serenity 버전 이전).
편집자 주: 동일하게 유지되지 않습니다. 위에서 언급한 바와 같이 블록체인에서는 블록이 생성될 때마다 고유의 암호화폐가 발행되는데, 이 추가 발행량을 "블록 보상"이라고 합니다. 이더리움의 블록 보상도 여러 차례 인하된 바 있는데, 2017년 10월에는 블록 보상이 5ETH에서 3ETH로 줄었고, 2019년 2월에는 이더리움의 블록 보상이 2개로 줄었습니다. 따라서 여기에서 저자의 원래 그래프를 실제 ETH 공급량 변화 그래프로 대체하고 있습니다.
사전 채굴 + 블록 보상 + 삼촌 보상 + 삼촌 참조 보상
블록 보상
사전 채굴
2014년 7월과 8월의 크라우드세일 기간 동안 발행된 ETH의 양은 약 7,200만 개였습니다. 크라우드 세일에서 생성된 ETH를 "사전 채굴"이라고 합니다. 크라우드세일 후 ETH 발행은 연간 전체 크라우드세일의 25% 이하(즉, 1,800만 개 이하)로 제한하기로 했습니다.
블록 보상
현재 블록을 채굴하면 5개의 새로운 ETH를 얻습니다. 14초마다 블록이 채굴된다면 1년은 3,150만 초(365x24x60x60)이므로 연간 225만 블록을 채굴할 수 있습니다. 225만 블록, 블록당 5 ETH = 1,130만 ETH/년. 이는 연간 1,800만 ETH 미만을 생성하겠다는 약속과 일치합니다.
삼촌 블록 보상
실제로 ETH의 유통량은 1,800만 개보다 약간 더 많을 것입니다. 일부 블록은 나중에 채굴되었기 때문에 메인 체인의 일부가 되지 않았습니다. 비트코인 네트워크에서는 이러한 늦게 채굴된 블록을 완전히 폐기되는 "고아 블록"이라고 부르지만, 이더리움에서는 이러한 블록을 "엉클 블록"이라고 하며 후속 블록은 이러한 "엉클 블록"을 참조할 수 있습니다. 누군가 "엉클 블록"을 언급하면 "엉클 블록"을 채굴한 광부는 4.375 ETH(일반 블록 보상의 7/8에 해당)의 "엉클 블록 보상"을 받게 됩니다. 현재 이더리움은 매일 약 500개의 엉클 블록을 생성합니다. 즉, 매일 2,000개의 ETH가 추가로 유통됩니다(이 속도로 매년 700만 ETH가 추가로 발행됩니다).
삼촌 블록 참조에 대한 보상
엉클 블록 이후에 블록을 생산하는 채굴자들도 0.15ETH(최대 2 엉클 블록)를 얻을 수 있습니다.
위에서 설명한 모델을 Ghost 프로토콜이라고 합니다(Ghost는 "Greedy Maximum Weight Observation Subtree"의 약자입니다). Ghost 프로토콜에서는 유효한 블록이 결정되고 채굴자도 보상을 받을 수 있습니다.
편집자 주: 엉클 블록 보상은 많은 친구들이 이해하기 어려운 지점이며 많은 배경 지식이 필요합니다. 간단히 말해서, 네트워크에서는 블록 전파에 시간이 걸리기 때문에 특정 블록을 파낸 후 일정 시간 내에 일부 노드만 이 블록을 받을 수 있고 다른 노드는 이 기간 동안 다른 블록을 받을 수 있습니다. 최신 블록으로 취급하면 PoW 시스템에서 사용하는 합의 알고리즘은 어느 것이 메인 체인인지 즉시 결정할 수 없습니다. 이더리움의 블록 생성 속도는 상대적으로 빠르며 이러한 상황이 자주 발생할 수 있으므로 이러한 상황을 완화하기 위해 합의 알고리즘에 이러한 종류의 경제적 인센티브가 마련됩니다. 삼촌 블록이 있더라도 기본적으로 메인 체인은 여전히 결정됩니다. 자세한 내용은 "Ethereum 설계 원칙"을 참조하십시오.
향후 이더리움 출력의 변화
Ethereum이 작업 증명(엉클 블록 보상 규칙 포함)에서 지분 증명 메커니즘으로 변경되었을 때 메커니즘 변경이 발행에 미치는 영향은 여전히 불확실합니다. 지분 증명 메커니즘은 캐스퍼(예, 크립토너드가 유머 감각이 없다고 감히 말한 픽시)라는 프로토콜을 사용합니다. Casper 프로토콜의 ETH 발행률은 Ghost 프로토콜의 발행률보다 훨씬 낮을 가능성이 높습니다.
채굴 보상
그렇다면 채굴자들은 채굴에서 무엇을 얻을 수 있을까요?
비트코인에서는 새로운 블록이 채굴될 때마다 채굴자는 12.5비트코인을 받게 되며(현재 상황), 추가로 블록에 패키지된 거래 개시자가 채굴자에게 부과하는 거래 수수료가 있습니다.
Ethereum에서 광부는 다음을 얻을 수 있습니다.
새 블록을 채굴하면 5 ETH를 보상으로 받습니다(또는 삼촌 블록은 4.375 ETH를 보상합니다).
또한, 최대 2개의 삼촌 블록을 참조하는 것에 대한 또 다른 작은 보상(1/32 블록 보상, 즉: 각 삼촌 블록 보상 1/32×5 ETH = 0.15625 ETH);
계약 운영 및 전송을 위해 거래 개시자가 지불하는 가스 수수료
현재 블록당 Gas의 평균 상한은 1,500,000이며 블록 네트워크의 각 Gas의 평균 가격은 0.000000022 ETH, 즉 채굴자가 전체 블록에서 얻을 수 있는 Gas 보상은 0.033 ETH 통화입니다. 계약의 가스는 새로 생성된 이더 통화가 아니라 유통 중인 이더 통화로 지불된다는 점에 유의해야 합니다.
편집자 주: 트랜잭션을 시작하는 사람은 트랜잭션에 대한 가스 가격(즉, 가스 단위당 지불할 의사가 있는 금액)을 설정해야 하며 이 가스 가격은 채굴자가 다음을 선택하는 기준 중 하나가 됩니다. 트랜잭션을 패키지합니다. 트랜잭션에 대한 사람들의 요구가 항상 동일하지 않기 때문에 Gas Price는 블록체인에서 트랜잭션에 대한 사람들의 현재 요구 변화에 따라 변동합니다.
Ethereum의 다른 부분: Swarm 및 Whisper
컴퓨터는 데이터를 계산하고 저장하고 상호 작용해야 합니다. 이더리움은 다운타임이 없고, 검열에 강하며, 자급자족하는 분산형 세계 컴퓨터라는 비전을 실현하기 위해 효율적이고 강력한 방법이 필요합니다. Ethereum 가상 머신은 전체의 한 요소일 뿐입니다.
Ethereum Virtual Machine은 계약 논리를 실행할 수 있는 컴퓨팅 기본 요소입니다.
이 컴퓨팅은 중앙 서버에 의존하지 않습니다.
BitTorrent와 마찬가지로 Swarm 프로토콜은 피어 투 피어 파일 공유 프로토콜입니다. 단, 파일 저장 및 공유를 작은 이더 지불로 장려한다는 점이 다릅니다. 파일은 블록으로 분할되어 네트워크 참여자 간에 분산 및 저장됩니다. 데이터 블록을 저장하고 전파하는 노드는 저장 및 검색 서비스 요청에 대한 보상으로 ETH를 얻을 수 있습니다.
Whisper는 노드가 정보를 직접 안전하게 보낼 수 있도록 하는 암호화된 통신 프로토콜이며, 정보 발신자와 정보 수신자가 중복된 제3자를 차단하도록 도와줍니다.
스마트 계약
Whisper 프로토콜 통신은 중앙 서버에 의존할 필요가 없습니다.
이더리움의 개념

스마트 계약
스마트 계약은 이더리움 블록체인에 저장된 작은 프로그램입니다. 이러한 프로그램은 적절한 양의 Ethereum으로 활성화 및 실행할 수 있습니다(편집자 주: 활성화를 위해 다른 특수 토큰도 필요할 수 있음). 스마트 계약에 대한 자세한 내용은 "스마트 계약 소개"를 참조하십시오.
다음은 스마트 계약에 대한 Wikipedia의 예입니다.
- 이미지 출처: https://en.wikipedia.org/wiki/Solidity -
이더리움에서는 코드가 포함된 새 계정을 생성하고 트랜잭션에서 이더리움 블록체인에 업로드하여 스마트 계약을 생성합니다.
컨트랙트가 성공적으로 업로드되면 주크박스처럼 작동합니다. 컨트랙트를 실행하려면 추가 정보와 함께 이더 결제가 포함된 트랜잭션을 컨트랙트에 전송하기만 하면 됩니다.
각 마이닝 컴퓨터는 이더리움 가상 머신을 사용하여 스마트 계약을 실행하고(마이닝 프로세스의 일부로) 최종 출력 값을 생성합니다. 이론적으로 아무도 엉망으로 만들지 않으면 사용자가 모두 동일한 정보를 포함하는 스마트 계약 코드를 실행하고 있기 때문에 이더리움 네트워크의 모든 컴퓨터는 동일한 결과를 출력합니다.
블록이 채굴된 후 승리한 채굴자는 네트워크의 다른 사용자에게 블록을 게시하고 다른 채굴자는 동일한 결과를 얻은 후 블록을 확인하고 블록체인에 넣습니다. 이것이 이더리움의 블록체인 상태가 업데이트되는 방식입니다.
계정
비트코인에서 사람들은 비트코인이 저장되는 곳을 "주소"라고 부르는데, 이는 비트코인에 저장된다는 점을 제외하면 은행 계좌와 같습니다. 이더리움에서 "계정"은 이더리움을 저장하는 데 사용되며 두 가지 유형의 계정이 있습니다.
비트코인 주소와 유사한 이더만 보관하는 계정. 또한 "외부 계정"(EOA)이라고도 합니다. 이러한 종류의 계정에는 해당 개인 키가 있으며 개인 키 소유자는 개인 키를 사용하여 계정 거래에 서명할 수 있습니다.
다음은 이더를 저장하는 계정의 예입니다.
코드(및 ETH 또는 기타 토큰)를 보유하는 계정. 적절한 양의 이더가 입금되는 한 이러한 스마트 계약이 발효됩니다. 스마트 계약이 업로드된 후 해당 코드는 이더리움 블록체인에 저장되어 활성화되고 사용되기를 기다립니다.
계약 계정의 예는 다음과 같습니다.
엉클 블록과 고아 블록: 거의 메인 체인에 있는 블록
이더리움의 블록 생성률은 비트코인보다 훨씬 높습니다(이더리움은 시간당 250블록, 비트코인은 시간당 6블록). 더 빠른 블록이 생성될수록 "블록 충돌" 가능성이 높아집니다. 즉, 많은 유효한 블록이 거의 동시에 생성되지만 그 중 하나만 메인 체인에 배치할 수 있습니다. 기술적으로는 메인 체인에 없는 이러한 블록에 포함된 트랜잭션이 실제이지만 이러한 데이터는 메인 체인의 일부로 간주될 수 없습니다.
비트코인 프로토콜에서는 메인 체인에 없는 이러한 블록을 "고아 블록"이라고 합니다. 고아 블록은 메인 체인의 일부가 아니며 메인 체인의 블록에 의해 참조되지 않습니다.
이더리움에서는 이러한 블록을 "엉클 블록"이라고 하며 일정 거리 내의 후속 블록은 엉클 블록을 참조할 수 있습니다(자세한 내용은 위의 "이더리움 발행" 섹션 참조). 엉클 블록의 데이터는 결국 유용하지 않지만(즉, 엉클 블록의 트랜잭션이 실행되지 않음) 엉클 블록을 파낸 채굴자는 여전히 약간 더 작은 블록 보상을 얻을 수 있습니다.
이것은 두 가지 중요한 결과를 가져왔습니다.
이는 채굴된 블록을 메인 체인에 업로드할 수 없는 경우에도 채굴 동기를 유지하도록 채굴자에게 인센티브를 제공합니다(높은 블록 생성률은 더 많은 고아 블록과 엉클 블록을 생성하기 때문).
엉클 블록 생성에 소비된 에너지를 인정하면 블록체인 보안도 향상됩니다.
편집자 주: 대체로 Ghost는 빠른 블록 생성 과정에서 보호 조치이므로 메인 체인 블록을 파지 않은 채굴자들은 많은 손실을 입지 않고 메인 체인을 유지하려는 동기를 갖게 됩니다.
가스 및 가스 가격
스마트 계약을 활성화하면 전체 네트워크의 모든 채굴자에게 계약의 계산 작업을 수행하도록 요청하는 것과 같습니다. 이것은 광부들에게 시간과 에너지를 요구하며, 사용자들은 당연히 그들에게 비용을 지불해야 합니다. 가스는 서비스 요금을 지불하는 메커니즘입니다.
취급 수수료는 일반적으로 소량의 이더이며 계약을 실행하려면 광부에게 지불하여 작업하도록 해야 합니다. 이것은 주크박스에 동전을 넣는 것과 비슷합니다.
결제 항목(단위: Ether) = 실제 Gas 사용량(단위: Gas) * 가스 가격(단위: Ether/Gas)
가스량
스마트 계약이 복잡할수록(계산 단계의 수와 유형, 저장소 크기 등) 계약 작업을 완료하는 데 더 많은 가스가 필요합니다. 동전으로 작동하는 주크박스에 비유하면 노래를 오래 주문할수록 더 크게 부르고 더 많은 비용을 지불해야 하는 것과 같습니다.
가스 가격
계약의 복잡성은 다양하지만 특정 계약을 실행하는 데 필요한 Gas의 양은 고정되어 있으며(취급 수수료의 차이는 주로 Gas 가격 때문임) Gas 가격은 계약을 실행하려는 사람이 언제 결정하는지에 따라 결정됩니다. 계약 실행 요청 지정됨(비트코인의 거래 수수료와 비슷함). 채굴자들은 가스 가격을 보고 계약을 실행할지 여부를 결정할 것입니다. 광부가 계약을 실행하기를 원하면 높은 가격을 청구하십시오. Gas 시장은 경쟁이 치열한 경매 분야이며 사용자가 스마트 계약을 실행하는 데 얼마를 지불할 의향이 있는지에 달려 있다고 할 수 있습니다.
가스 메커니즘이 필요한 이유는 무엇입니까?
스마트 계약을 실행하는 데 드는 비용은 Gas/Ether 통화/돈입니다. 이는 사람들이 마음대로 계약을 활성화하는 것을 효과적으로 방지하여 무료로 실행될 때 네트워크를 정체시킬 수 있는 스팸 트랜잭션과 같은 문제를 방지합니다.
편집자 주: 여기에 언급되지 않은 것은 가스 거래량과 가스 가격은 사용자가 자유롭게 조정할 수 있다는 것입니다. 가스의 양이 계약에서 계산을 완료하기에 충분하지 않은 경우 시스템은 거래가 전혀 발생하지 않은 것처럼 완전히 롤백되지만 가스 요금은 여전히 채굴자에게 완전히 전달됩니다. 주어진 Gas가 너무 많으면 완료 관련 계산 후 나머지 Gas 수수료는 거래를 시작한 계정으로 자동 환불됩니다.
에테르의 단위

예를 들어, 1달러는 100센트로, 1비트코인은 100,000,000사타오시로 나눌 수 있습니다.이더리움도 고유한 단위 명명 규칙이 있습니다.
에테르의 최소 단위는 wei이고 각 에테르는 1000,000,000,000,000,000 wei이며 Finney, Szabo, Shannon, Babbage 및 Ada와 같은 다른 단위가 있습니다. 이 이름은 암호화폐와 인터넷에 뛰어난 공헌을 한 과학자들의 이름에서 따왔습니다.
Wei와 Ether는 가장 일반적인 두 가지 통화 단위입니다.
스마트 계약 언어: Solidity / Serpent, LLL
스마트 계약에는 세 가지 공통 언어가 있으며, 모두 스마트 계약으로 컴파일하고 이더리움 가상 머신에서 실행할 수 있습니다. 세 가지 언어는 다음과 같습니다.
Solidity - Javascript와 유사한 언어는 현재 강력한 스마트 계약을 위한 가장 인기 있는 스크립팅 언어입니다.
Serpent — Ethereum 초기에 일반적으로 사용되었던 Python과 유사한 언어입니다.
LLL - Lisp와 유사하며 이전 언어에서만 사용됩니다. LLL은 아마도 작성하기 가장 어려운 언어일 것입니다.
편집자 주: 오늘(2019년 5월 17일)부터 Solidity는 이더리움 생태계에서 가장 일반적으로 사용되는 계약 프로그래밍 언어가 되었습니다. 나머지 두 언어는 거의 사용되지 않거나 더 이상 사용되지 않습니다. 또한 이더리움은 이더리움 가상 머신 EVM을 eWASM으로 업그레이드하기 위해 연구하고 있으며 WebAssembly는 많은 고급 컴퓨터 언어 개발을 지원하여 이더리움 계약 작성의 친화성과 보안성을 더욱 향상시킬 것으로 기대됩니다.
또한 일부 사람들은 Solidity와 Javascript가 매우 유사하여 학습 과정에서 많은 오해에 빠지게 될 것이라고 선입견해서는 안된다고 지적했습니다.
이더리움 소프트웨어: geth, eth, pyethapp
공식 이더리움 클라이언트는 모두 오픈 소스이므로 그 이면의 코드를 볼 수 있고 이를 조정하여 자신만의 것을 만들 수 있습니다. 가장 인기 있는 클라이언트는 다음과 같습니다.
geth(Go로 작성) https://github.com/ethereum/go-ethereum
eth (C++로 작성) https://github.com/ethereum/cpp-ethereum
pyethapp(Python으로 작성) https://github.com/ethereum/pyethapp
위의 모든 프로그램은 명령줄 기반 프로그램(검은색 배경에 녹색 텍스트가 있는 프로그램)이므로 그래픽 인터페이스를 사용하려면 다른 소프트웨어를 사용해야 합니다. 현재 가장 인기 있는 공식 GUI 소프트웨어는 Mist(https://github.com/ethereum/mist)입니다. Mist는 geth와 eth를 핵심으로 사용합니다.
즉, geth와 eth는 후드 아래의 추악한 코드이고 Mist는 그 위에서 실행되는 아름다운 인터페이스입니다.
편집자 주: 2019년 3월에 Mist 프로젝트가 운영을 중단하고 팀이 분리되어 다른 영역으로 이동했습니다. Ethereum 생태계에서 가장 일반적인 두 클라이언트인 Geth와 Parity·Ethereum도 꽤 잘 발전했으며 둘 다 완전한 그래픽 인터페이스를 가지고 있습니다.
Footsteps: 이더리움의 이벤트 연대기
2013년 말, Vitalik Buterin은 백서에서 "Ethereum"의 개념에 대해 논의했습니다. 2014년 4월 Gavin Wood 박사는 Yellow Paper에서 이 개념을 더욱 발전시켰습니다. 그 이후로 이더리움 개발은 개발자 커뮤니티에 의해 관리되었습니다.
같은 해 7월과 8월에 이더리움은 개발을 위해 크라우드 펀딩을 했고, 오픈 메인넷은 2015년 7월 30일에 가동되었습니다.
이더리움 크라우드 펀딩
2014년 7-8월 동안 개발팀은 ETH 토큰의 온라인 판매를 통해 자금을 조달받았습니다. 사람들은 비트코인으로 당시 2000 ETH: 1 BTC의 비율로 ETH를 구입할 수 있었습니다(2016년 1월 현재 공개 시장에서 1 BTC는 50ETH로 교환).
크라우드 펀딩에 참여하는 사람들은 비트코인 계정으로 지불하고 해당 금액의 이더가 들어있는 지갑을 받을 수 있습니다. 자세한 기술 정보는 이더리움 블로그를 참조하십시오: https://blog.ethereum.org/2014/07/22/launching-the-ether-sale/
이 기간 동안 이더리움 팀은 6000만 개 이상의 이더를 팔았고 당시 약 1800만 달러 가치인 31500개 이상의 비트코인을 받았다. 팀은 개발 및 이더리움 재단을 지원하기 위해 또 다른 20%(1,200만 ETH)를 채굴했습니다.
소프트웨어 출시 코드명: Frontier / Homestead / Metropolis / Serenity
Ethereum 소프트웨어의 이름은 매우 흥미 롭습니다.
올림픽(테스트 네트워크): 2015년 2월에 출시되었으며 테스트가 출시되었을 때 토큰은 실제로 에테르가 아니었습니다. 오늘날 테스트넷은 개발자가 코드를 테스트할 수 있도록 기본 라이브 네트워크와 병렬로 유지됩니다.
Frontier: 2015년 7월 30일에 출시된 Frontier는 계약을 채굴, 개발 및 실행할 수 있는 최초의 온라인 버전입니다.
Serenity: Unreleased - Proof of Work에서 Proof of Stake(Casper)로 업그레이드합니다.
요약하다
편집자 주: 위의 코드명은 Ethereum 로드맵 및 개발의 여러 단계로 간주됩니다. 작성 당시(2016년 10월) Metropolis("Metropolis") 무대는 아직 공개되지 않았습니다. 2017년 10월 메트로폴리스 1단계 비잔틴("비잔티움")이 출시되었고, 2019년 2월 메트로폴리스 2단계 콘스탄티노플("콘스탄티노플")이 출시되었으며 2019년 말. 무대.
보조 제목
요약하다
Ethereum 개발 팀은 계산을 실행하고 데이터를 저장하고 상호 작용을 허용할 수 있는 다운타임이 없고 검열에 강하며 분산된 세계 컴퓨터를 구축하기 위해 노력하고 있습니다.
이더리움에는 사설 네트워크에 맞게 코드 사본이 채택되고 조정된 퍼블릭 무허가 오픈 소스 버전이 있습니다. 공용 버전과 사설 네트워크는 서로 다른 문제를 해결합니다.
현재 기술은 아직 성숙하지 않았지만 점점 더 많은 사람들이 이더리움에서 소프트웨어를 사용, 테스트, 개발 및 개발하면 점점 더 꾸준히 발전할 것이라고 믿습니다.
블록체인 세계에서 이더리움은 가장 흥미로운 기술 중 하나이며 향후 발전을 기대할 가치가 있습니다.


