초보자를 위한 이더리움 튜토리얼: 스마트 계약, DApp, 이점 및 제한 사항
게시 됨: 2021-03-11다음 상황 중 하나에 있다고 상상해보십시오.
- 귀하의 전자 지갑 계정이 어떤 이유로 플랫폼에서 차단되었습니다.
- 당신의 회사는 클라이언트를 위해 일해야 하지만 당신은 당신이 그들을 신뢰할 수 있는지 여부를 모릅니다.
- 귀하의 소셜 미디어 계정이 해킹당했습니다.
이 모든 상황이 꽤 고통스럽죠? 이러한 모든 상황(및 그 이상)에 대한 솔루션을 제공하는 기술이 있다고 말하면 어떨까요? 그 기술은 이더리움이고 초보자를 위한 이 이더리움 튜토리얼은 여러분을 더 친숙하게 만들 것입니다.
세계 최고의 대학에서 온라인으로 소프트웨어 개발 인증을 배우십시오. 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.
목차
이더리움 – 간략한 역사
다음은 이더리움 개발에 대해 알아야 할 모든 일정입니다.
- 2013년 11월 – 초기에 Bitcoins에 관련된 개발자인 Vitalik Buterin은 Ethereum에 대한 백서를 게시했습니다.
- 2014년 1월 – 스위스 회사인 Ethereum Switzerland GmbH는 Vitalik Buterin, Mihai Alisie, Anthony Di Iorio 및 Charles Hoskinson을 포함한 개발자 팀이 이끄는 Ethereum 소프트웨어 프로젝트 개발을 발표했습니다.
- 2014년 8월 – 이더리움은 ICO를 종료하고 1,840만 달러를 성공적으로 모금했습니다.
- 2015년 5월 – 이더리움은 첫 번째 테스트 네트인 올림픽을 출시합니다.
- 2015년 7월 – 이더리움의 첫 번째 버전인 Frontier가 출시되었습니다.
- 2016년 3월 – 이더리움 네트워크의 두 번째 버전 업그레이드인 홈스테드가 출시되었습니다.
- 2016년 5월 – 이더리움은 DAO(Decentralized Autonomous Organization)가 크라우드 세일에서 기록적인 1억 5천만 달러를 모금했을 때 광범위한 미디어 보도를 제공했습니다.
- 2016년 6월 – DAO 해킹이 발생하여 5천만 달러 상당의 Ether 손실이 발생했습니다(당시 유통되는 총 Ether의 거의 15%를 구성함).
- 2016년 7월 – 이더리움 네트워크는 이더리움(ETH)과 이더리움 클래식(ETC)의 두 부분으로 분기되었습니다.
- 2017년 6월 – Ethereum은 2017년 1월 1일 이후 5001%의 기록적인 상승으로 $400 이상을 벌었습니다.
이더리움이란?
이더리움은 블록체인 기반의 오픈 소스 분산형 소프트웨어 솔루션으로 이더리움이라는 자체 암호화폐를 만드는 데 사용합니다. 이를 통해 사기, 다운타임 또는 제3자의 간섭 없이 플랫폼에서 분산 애플리케이션(DApp) 및 스마트 계약을 구축하고 실행할 수 있습니다.
이더리움은 강력한 플랫폼일 뿐만 아니라 블록체인에서 실행되는 프로그래밍 언어(Turing Complete)이기도 합니다. 간단히 말해서 이더리움은 디지털 통화를 프로그래밍하는 데 사용할 수 있는 분산 플랫폼입니다.
Ethereum은 가장 큰 탈중앙화 소프트웨어 앱이며 이 앱의 도움으로 차세대 DApp을 쉽게 만들고 공개할 수 있습니다.
이더리움은 등장 이후 블록체인 산업을 완전히 변화시켰습니다. 블록체인 기반 솔루션이 등장하기 전에는 다양한 애플리케이션을 수행할 수 없었습니다. 예를 들어 비트코인 및 기타 암호화폐는 디지털 통화로만 작동할 수 있는 반면 이더리움은 개발자가 블록체인 기반 프로그램을 만들 수 있는 플랫폼으로 등장했습니다.
이더리움은 모든 사람이 액세스할 수 있으며 누구나 이더리움 블록체인을 기반으로 프로그램을 개발할 수 있습니다. Ethereum.org 에 따르면 "Ethereum은 세계에서 프로그래밍 가능한 블록체인"입니다.
Ethereum 뒤에 있는 사람들은 Bitcoin 및 유사한 암호 화폐의 기본 개념을 취하고 더 많은 기능을 추가하여 이 인기 있는 블록체인 솔루션을 만들었습니다.
2019년 9월 현재 이더리움은 세계에서 두 번째로 큰 암호화폐였으며 가장 인기 있는 블록체인 애플리케이션인 비트코인에 이어 다음으로 큰 규모였습니다. 그러나 전자는 14~15초, 후자는 거의 10분이 소요되므로 비트코인에 비해 훨씬 빠르게 이더(이더리움의 암호화폐)를 획득할 수 있습니다.
Ethereum을 올바르게 이해하려면 이 기술의 몇 가지 기본 구성 요소에 익숙해야 합니다. 다음은 알아야 할 Ethereum의 주요 측면입니다.
- 에테르
- 가스
- 이더리움 가상 머신
- 스마트 계약
- DApp(탈중앙화 애플리케이션)
초보자를 위한 이더리움 튜토리얼의 다음 섹션에서는 이러한 개념을 다루고 이 블록체인 플랫폼의 내부 작동을 이해할 것입니다.
이더리움 – 당신이 알아야 할 중요한 용어
1. 화폐 발행
모든 국가에서 통화 발행은 주로 국가의 중앙 은행 또는 해당 국가의 통화 당국에서 관리 및 모니터링합니다. 예를 들어, 인도에서 RBI는 다른 모든 은행과 금융 당국을 규제하는 통화 당국입니다.
2. 탈중앙화된 자율조직
분산 자치 조직은 중앙 관리 기관의 영향을 받지 않는 컴퓨터 프로그램으로 인코딩된 일련의 규칙에 의해 관리 및 규제되는 디지털 조직입니다. 완전히 투명하고 주주에 의해 통제됩니다. DAO의 관행 및 금융 거래 기록은 블록체인 네트워크에서 유지됩니다.
3. 스마트 계약
스마트 계약은 둘 이상의 당사자 간의 계약 협상 또는 이행을 촉진하고 확인하도록 설계된 컴퓨터 프로토콜입니다. 이러한 디지털 계약은 합의 시스템에 의존하며 제3자의 개입 없이 수행됩니다.
4. 스마트 자산
스마트 자산은 이더리움에 구축된 물리적 자산과 암호화 자산(공유, 네트워크에 대한 액세스 권한 등)을 모두 의미할 수 있습니다. 스마트 자산의 소유권은 이더리움 블록체인에서 DApp의 관문 역할을 하는 이더리움 지갑을 통해 제어됩니다.
5. 견고함
Solidity는 Ethereum에서 스마트 계약을 구현하는 데 사용되는 고급 객체 지향 언어입니다. C++, Python 및 JavaScript 프로그래밍 언어에서 영감을 얻었으며 Ethereum Virtual Machine(EVM)을 대상으로 하도록 설계되었습니다.
6. 이더리움 가상 머신
EVM(Ethereum Virtual Machine)은 스마트 계약을 위해 설계된 런타임 환경입니다. 기본적으로 EVM은 기본 하드웨어 바로 위의 가상 컴퓨터 계층입니다. 이러한 가상 계층은 실행 코드와 실행 시스템 간에 추상화 수준을 생성합니다. EVM은 소프트웨어의 이식성을 개선하는 데 도움이 되며 애플리케이션이 서로 분리될 뿐만 아니라 호스트에서도 분리되도록 합니다.
7. 거래
트랜잭션은 한 계정에서 다른 계정으로 전송되는 메시지입니다. 여기에는 Ether라는 바이너리 데이터가 포함됩니다. 이더리움 네트워크로 브로드캐스트되고 블록으로 수집되는 가치 전송입니다.
이더리움 네트워크
지금쯤이면 이더리움 네트워크가 분산되고 탈중앙화된 퍼블릭 블록체인 네트워크라는 것을 이미 알고 있을 것입니다. 하지만 더 많은 것이 있습니다. 이더리움은 이더리움 네트워크에서 실행되는 모든 분산형 P2P 애플리케이션 및 조직의 기반입니다. 이 네트워크는 전체 노드와 경량 노드의 두 가지 고유한 노드로 구성됩니다.
풀 노드는 제네시스(부모) 블록 이후의 전체 트랜잭션 이력을 포함하는 노드입니다 . 이더리움 사양에 명시된 규칙에 따라 검증 및 검증된 모든 거래를 기록합니다. 따라서 전체 노드는 블록체인 네트워크의 무결성, 보안 및 투명성의 증거입니다.
전체 노드와 달리 경량 노드에는 전체 블록체인의 하위 집합만 포함됩니다. 경량 노드는 모든 트랜잭션을 확인하지 않으며 현재 블록체인 상태의 사본을 보유하거나 보유하지 않을 수 있습니다. 그들은 누락된 세부 사항이나 특정 특정 기능을 제공하기 위해 주로 전체 노드에 의존합니다. 이름에서 알 수 있듯이 경량 노드는 가벼우므로 메모리가 제한된 장치에서 더 빠르게 실행할 수 있습니다. 경량 노드는 본질적으로 가벼운 전자 지갑에서 주로 사용됩니다.
에테르 란 무엇입니까?
이더는 이더리움 네트워크에서 거래에 대한 지불을 위해 사용하는 암호화폐입니다. 다음 두 가지 방법으로 Ether를 사용할 수 있습니다.
- 네트워크에서 악성 및 손상된 프로그램이 실행되는 것을 방지하기 위해 애플리케이션은 플랫폼에서 모든 작업을 수행하기 위해 Ether 지불이 필요합니다.
- 네트워크는 이더를 사용하여 비트코인처럼 이더리움 네트워크에 기여한 채굴자에게 보상합니다.
이러한 응용 프로그램 외에도 Ether를 사용하여 Gas를 구입할 수 있습니다. 이는 초보자를 위한 Ethereum 자습서의 다음 섹션에서 다루었습니다. 이더리움에서 이더는 가스 및 거래에 대해 정확하게 지불할 수 있는 미터법 단위입니다. Ether의 가장 작은 명칭은 Wei입니다. 하나의 Ether에는 1e18 Wei가 있습니다.
가스란?
이더는 이더리움에서 사용할 수 있는 유일한 디지털 통화가 아닙니다. 이더리움에서 트랜잭션을 실행하면 가스를 통해 채굴자에게 이더를 지불해야 합니다. Gas는 중개 토큰이며 트랜잭션을 완료하거나 스마트 계약을 실행하는 데 필요한 계산 작업을 측정할 수 있습니다.
Gas의 가격은 Ether로 표시됩니다. 또한 광부는 가스 가격을 결정하고 스마트 계약 실행을 거부하거나 필요한 가스 가격을 제공하지 않는 트랜잭션 처리를 거부할 수 있습니다.
다음 방정식을 통해 Ethereum의 거래 수수료를 계산합니다.
에테르 = 가스 한도 x 가스 가격
여기서 Gas Price는 지불해야 하는 Ether의 양이고 Gas Limit는 계산 과정에 사용되는 Gas의 양입니다. Gas Limit 및 Gas Price는 계약이 특정 시점에서 종료되도록 합니다.
에테르의 가스는 어디로 가나요? 다음 섹션에서 다룬 이더리움 가상 머신(EVM)으로 이동합니다.
이더리움 가상 머신이란 무엇입니까?
Ethereum Virtual Machine은 Ethereum의 모든 트랜잭션이 수행되는 장소입니다. 단일 플랫폼에서 모든 애플리케이션을 개발할 수 있습니다. EVM은 전체 이더리움 네트워크를 실행하는 엔진이라고 말할 수 있습니다.
Ethereum은 분산 응용 프로그램 개발을 위해 정의된 프로토콜을 설정했지만 EVM 덕분에 그렇게 할 수 있었습니다. Ethereum 가상 머신은 격리되고 샌드박스 처리됩니다. 이는 EVM을 실행하는 코드가 파일 시스템이나 네트워크에 대한 액세스 권한이 없고 다른 계약에 대한 액세스 권한이 거의 없음을 의미합니다.
솔리디티 코드를 이더리움에 입력하면 먼저 이더리움 컴파일러로 이동합니다. 그 후, EVM 바이트코드를 나머지 프로세스를 처리하는 이더리움 가상 머신으로 보냅니다.
EVM은 이더리움의 계산과 내부 상태를 관리합니다. 코드를 실행하고 내부 데이터베이스를 유지하며 서로 대화할 수 있는 "계정"이라는 수많은 개체를 가지고 있습니다.
스마트 계약이란 무엇입니까?
스마트 계약은 자동으로 실행되는 컴퓨터 프로그램입니다. 거래 프로토콜로서 블록체인을 통해 상품, 돈, 서비스를 교환할 수 있습니다. 스마트 계약은 양 당사자가 서로에 대해 특정 조건을 설정하고 양 당사자가 각각의 조건을 충족할 때 스마트 계약이 그에 따라 실행됩니다.
스마트 계약을 사용하면 분산 투표 등과 같은 다양한 작업을 수행할 수 있습니다. 간단히 말해서 스마트 계약은 지불을 자동으로 실행, 집행, 관리 및 처리하는 계약입니다.
Ethereum에서 스마트 계약을 실행하려면 토큰(Ether)이 필요합니다. 필수 암호화폐가 없으면 이더리움에서 스마트 계약을 사용할 수 없습니다.
스마트 계약을 생성하려면 Ethereum의 범용 프로그래밍 언어인 Solidity를 사용해야 합니다. Ethereum Virtual Machine에서 실행되도록 개발되었으며 임의의 계산을 수행하고 상태를 저장하고 디지털 토큰의 트랜잭션을 수행할 수 있습니다.
스마트 계약은 점점 더 대중화되고 있는 여러 이점을 제공합니다. 스마트 계약을 사용하는 가장 큰 장점은 중개인이 필요 없다는 것입니다.
스마트 계약은 자동이므로 인적 오류의 여지가 없습니다. 그들은 가상으로 존재하며 전통적인 계약과 비교할 때 상당히 저렴합니다. 스마트 계약은 다음을 포함한 여러 산업에서 잠재적인 사용 사례를 가지고 있습니다.
- 보건 의료
- 금융 및 은행
- B2B 서비스(IT 서비스, 마케팅 서비스 등)
읽어보기: 이더리움 프로젝트 아이디어 및 주제
DApp이란 무엇입니까?
DApp 또는 분산 응용 프로그램은 분산 네트워크에서 실행되는 소프트웨어 응용 프로그램입니다. 중앙 서버 대신 P2P 분산 네트워크에서 호스팅됩니다. DApp은 모바일 앱이나 웹사이트와 같은 모든 소프트웨어 애플리케이션이 될 수 있습니다. DApp과 기존 애플리케이션의 차이점은 분산 네트워크를 기반으로 구축된다는 것입니다.
분산 응용 프로그램의 사용자 인터페이스는 기존 응용 프로그램의 인터페이스와 같습니다. 그러나 분산 응용 프로그램의 모든 백엔드 프로세스는 분산 네트워크를 기반으로 합니다.
이더리움은 분산형 블록체인 네트워크이므로 이더리움 기반 애플리케이션을 생성할 때 본질적으로 분산형 애플리케이션을 생성하는 것입니다. DApp은 비교적 새로운 개념이지만 큰 인기를 얻고 있습니다.
사람들이 자신의 개인 정보와 보안에 대한 관심이 높아지면서 그에 따라 DApp에 대한 수요도 증가할 것입니다. 그들에 대해 일찍 배우면 경력상의 이점을 쉽게 얻을 수 있습니다.
탈중앙화 애플리케이션과 마찬가지로 이더리움에도 탈중앙화 자율조직(DAO)이 있습니다. 이러한 조직은 블록체인에만 존재하며 블록체인 프로토콜에 의해 제어됩니다. 이 조직은 자산을 보유하고 투표 시스템을 사용하여 자산의 분배를 관리하기 위해 만들어졌습니다. DApp에 대해 알아야 할 모든 것을 배우십시오.
이더리움 통화
앞서 언급했듯이 이더리움 네트워크는 이더(Ether)와 가스(Gas)의 두 가지 유형의 암호화폐에서 실행됩니다.
1. 에테르
Ether는 이더리움 네트워크에서 수행되는 모든 거래를 지불하는 데 사용되는 암호화폐의 이름입니다. 그러나 일반 거래 및 서비스에 대한 지불 외에도 Ether는 EVM 내 계산 서비스 비용을 지불하는 데 사용되는 Gas를 구매하는 데에도 사용됩니다.
Ether는 사용자가 거래 및 가스에 대한 정확한 금액을 지불하는 데 도움이 되도록 여러 교단을 갖는 미터법 단위입니다. Ether의 가장 작은 단위인 기본 단위는 Wei로 알려져 있습니다. 다음은 모든 Ether 종파의 전체 테이블입니다.
2. 가스
EVM은 이더리움 네트워크에 배포된 코드를 실행합니다. 이제 EVM에서 무한 루프를 효율적으로 실행하고 메모리를 오버로드할 수 있다고 생각할 수 있습니다. Gas 덕분에 이것은 불가능합니다.
가스는 네트워크의 계산 리소스에 대한 메트릭을 나타냅니다. 이더리움 네트워크의 모든 계약에는 계산에 사용할 수 있는 최대 가스량이 할당됩니다. 이 설정된 한계를 "가스 한계"라고 합니다. 알아야 할 두 가지 다른 가스 용어가 있습니다.
가스 가격 – Ether 및 해당 명칭과 같은 토큰과 관련된 가스 가격입니다. Gas Price는 Gas의 가치를 안정화시키는 유동적 가치입니다. 따라서 토큰 또는 통화의 비용이 변동하면 Gas Price도 동일한 실제 가치를 유지하도록 조정됩니다.
가스 요금 – 특정 거래 또는 프로그램(계약)을 실행하기 위해 지불해야 하는 가스의 양을 나타냅니다.
따라서 무한 코드(영구적으로 실행되는 코드)를 실행하려고 하면 결국 계약이 할당된 가스 한도를 초과하고 계약을 호출한 전체 트랜잭션이 원래 상태로 롤백됩니다.
이더리움의 장점과 한계는 무엇입니까?
초보자를 위한 이더리움 튜토리얼의 이 섹션에서는 이 블록체인 플랫폼의 다양한 장점을 살펴보겠습니다.
- Ethereum을 사용하면 실행할 프로그램을 업로드하고 요청할 수 있습니다.
- 영구적이고 영구적인 데이터 저장소를 제공합니다.
- 가상 공유 또는 디지털 통화로 사용할 수 있는 거래 가능한 토큰을 만들 수 있습니다.
- 100% 가동 시간과 DDoS(분산 서비스 거부) 저항을 제공합니다.
- 이더리움에서 가상 조직(DAO)을 만들 수 있습니다.
- 이를 통해 매우 안전하고 내결함성이 있는 DApp을 만들 수 있습니다.
그러나 다른 기술과 마찬가지로 이더리움에도 한계가 있습니다. 다음은 Ethereum의 몇 가지 단점입니다.
- 사용자 ID 확인이 필요한 응용 프로그램은 확인을 수행할 중앙 권한이 없기 때문에 Ethereum을 기반으로 구축하는 데 문제가 있습니다.
- 모든 피어가 노드 소프트웨어를 업데이트해야 하기 때문에 앱 업데이트 또는 버그 수정은 상당히 어려울 수 있습니다.
이더리움 채굴
다른 블록체인 기술과 마찬가지로 이더리움은 작업 증명 메커니즘으로 널리 알려진 인센티브 기반 모델을 통해 보안을 촉진합니다. 이더리움에서 사용되는 작업 증명 알고리즘은 Dagger-Hashimoto 알고리즘에서 영감을 받은 해싱 알고리즘인 Ethash라고 합니다.
Ethereum 마이닝의 단계는 다음과 같습니다.
- 사용자는 Ether 값을 다른 사용자에게 전송하여 트랜잭션을 시작합니다.
- 그런 다음 이 새 트랜잭션은 이전 블록에 포함된 다른 트랜잭션과 함께 새 블록에 추가됩니다.
- 네트워크의 광부는 특정 명령 세트로 새 블록을 검증하기 위해 경쟁합니다.
- 새로운 블록을 성공적으로 검증하고 네트워크에 추가할 수 있는 채굴자는 보상, 즉 Ether를 받습니다.
- 거래가 검증되면 거래를 시작한 사용자도 하나의 Ether를 얻습니다.
초보자를 위한 이더리움 튜토리얼: 다음은?
이더리움은 여러 측면을 가진 방대한 기술입니다. 스마트 계약 및 마이닝과 같은 다양한 섹션에 대해 배우는 것은 충분한 리소스와 지침 없이는 상당히 번거로울 수 있습니다. 초보자를 위한 이더리움 튜토리얼에서 보셨겠지만, 블록체인과 이더리움에서의 구현을 이해한다면 이 기술로 작업하는 것이 쉽습니다.
그렇기 때문에 이더리움과 모든 기술적 측면을 다루는 블록체인 과정을 수강하는 것이 좋습니다. 블록체인 과정은 효율적이고 효과적으로 공부할 수 있도록 체계적인 커리큘럼을 제공합니다.
upGrad에서는 Ethereum을 사용한 블록체인의 기본 및 고급 개념을 이해하는 데 도움이 되는 여러 블록체인 과정을 제공합니다. 블록체인이 무엇인지, 이더리움이 무엇인지, 어떻게 함께 작동하는지, 블록체인 전문가로서 어떻게 사용할 수 있는지 배우게 됩니다.
upGrad에서는 다음과 같은 블록체인 과정을 수강할 수 있습니다.
컴퓨터 과학 석사 (블록체인 개발 전문화 제공)
upGrad는 리버풀 존 무어스 대학교와 함께 이 프로그램을 제공합니다. 19개월 동안 지속되며 500시간 이상의 학습 자료를 제공합니다. 이 프로그램 동안 업계 멘토와 30개 이상의 프로젝트 및 과제와 함께 격주 그룹 멘토링을 받게 됩니다. 비기술적 배경을 가진 사람들을 위한 훌륭한 블록체인 과정입니다.
블록체인 고급인증 프로그램 신청
이 과정은 7.5개월 동안 지속되며 250시간 이상의 학습을 제공합니다. IIT 방갈로르 동문 자격과 블록체인 업계 전문가로부터 1:1 맞춤형 멘토링을 받을 수 있습니다. Ethereum 외에도 Hyperledger Fabric, 스마트 계약 등에 대해서도 배우게 됩니다.
소프트웨어 개발의 이그 제 큐 티브 PG 프로그램 - 블록 체인 전문화
이 13개월 과정은 4개월 동안 데이터 과학 및 머신 러닝 분야의 임원 인증을 무료로 제공합니다. 이 프로그램 동안 라이브 강의와 온라인 세션을 통해 공부하고 10개 이상의 프로그래밍 도구와 언어를 배웁니다. 또한 블록체인과 이더리움에 대한 지식을 테스트할 수 있습니다.
위의 모든 과정은 50% 또는 이에 상응하는 합격 점수로 학사 학위를 취득해야 합니다. 코딩 경험이 없어도 이러한 과정 중 하나에 등록할 수 있습니다. 숙련된 전문가가 되기 위해 필요한 모든 기술을 배우게 됩니다.
결론
이더리움은 확실히 경이로운 기술입니다. 초보자를 위한 이 이더리움 튜토리얼을 완료함으로써 당신은 확실히 이 기술에 대해 배우기 위한 첫 걸음을 내디뎠습니다.
Ethereum Blockchain 에는 주목할 가치가 있는 더 많은 응용 프로그램이 있습니다. 블록체인 분야의 경력은 기술의 판도를 바꾸면서 증가하고 있습니다.