관리 메뉴

개발이야기

[마스터링 이더리움] Mastering Ethereum - Clients 본문

블록체인 /마스터링 이더리움

[마스터링 이더리움] Mastering Ethereum - Clients

안성주지몬 2018. 9. 26. 01:00

 

Ethereum Clients

 

Ethereum client?


- 이더리움 사양을 구현하고 다른 이더리움 클라이언트와 P2P 네트워크를 통해 통신하는 소프트웨어 응용 프로그램

- 서로 다른 클라이언트가 다른 팀과 다른 프로그래밍 언어로 구현되는 동안 이들은 모두 동일한 프로토콜을 따른다. 따라서 모두 동일한 이더리움 네트워크를 운영하고 상호작용하는데 사용될 수 있다.

 

- 이더리움은 오픈 소스 프로젝트이며 모든 주요 고객을 위한 소스코드는 오픈 소스 라이센스에서 무료로 사용할 수 있다.

 

- 이더리움은 일반적으로 다른 블록체인보다 네트워크에서 실행되는 구현의 다양성이 더 크다.



Ethereum network


- Ethereum 기반 네트워크는 Ethereum, Ethereum Classic, Ella, Expanse, Ubiq, Musicoin 및 기타 여러 네트워크가 있다.

 

- 이더리움 네트워크는 대부분 프로토콜 수준에서 호환된다, 하지만 이더리움 네트워크는 이더리움 클라이언트 소프트웨어의 관리자에게 각 이더리움 네트워크들을 지원하기 위해 이더리움 네트워크에 작은 변화를 요구할 수 있다.

따라서, 이더리움 클라이언트 소프트웨어의 모든 버전이 이더리움 블록체인상에서 돌아가는 것은 아니다.



* 이더리움 프로토콜의 6가지 기본 구현

  • Parity, written in Rust
  • Geth, written in Go
  • cpp-ethereum, written in C++
  • pyethereum, written in Python
  • Mantis, written in Scala,
  • and Harmony, written in Java.


전체 노드를 실행해야하는가?


- 전체 노드를 실행하면 하드웨어 리소스 및 대역폭 비용이 발생한다. 또한 80GB이상의 데이터를 다운받아야 하며 로컬 하드 드라이브에 저장해야한다. 새로운 트랜잭션 및 블록이 추가되면서 부담이 상당히 빠르게 증가한다.

 

- 이더리움 개발에는 전체 노드가 필요하지 않다,ganache Infura와 같은 서비스 공급자가 제공하는 클라우드 기반 이더리움 클라이언트로 거의 모든 작업을 수행할 수 있다



풀노드의 장점과 단점


장점

  • Ethereum 기반 네트워크의 탄력성과 검열력을 지원합니다.
  • https://www.quora.com/What-does-censorship-resistance-mean-in-the-context-of-blockchain
  • 모든 트랜잭션을 신뢰할 수있는 것으로 검증합니다.
  • 중개인이없는 공개 블록 체인의 모든 계약과 상호 작용할 수 있습니다.
  • 중개자없이 공개 블록 체인에 직접 계약을 전개 할 수 있습니다.
  • 블록 체인 상태 (계정, 계약서 등)를 오프라인으로 질문(읽기 전용)할 수 있습니다.
  • 3자가 읽은 정보를 알리지 않고 블록 체인을 질문할 수 ​​있습니다.

단점

  • 중요한 하드웨어 및 대역폭 리소스가 필요합니다.
  • 처음 시작할 때 완전히 동기화되기까지 며칠이 걸릴 수 있습니다.
  • 유지 관리, 업그레이드 및 동기화 상태를 유지해야합니다.

 

 

 

공공 Testnet의 장점과 단점

장점

  • 테스트 네트워크 노드는 네트워크에 따라 10GB 이하의 적은 양의 데이터를 동기화하고 저장합니다.
  • 테스트 넷 노드는 몇 시간 내에 완전히 동기화 될 수 있습니다.
  • 계약을 하거나 거래를 할때는 가치가 없는 테스트 이더가 필요하며 여러 "Faucet"에서 무료로 얻을 수 있습니다.

단점

  • testnet에서 "실제"돈을 사용할 수 없으며 테스트 이더를 사용합니다. 실질적으로 위험에 대한 보안을 테스트 할 수는 없습니다.
  • public blockchain에는 testnet에서 실제로 테스트 할 수 없는 몇 가지 측면이 있습니다. 예를 들어, 거래 수수료인 가스가 필요하지만 테스트 네트워크에서는 무료이므로  고려하지 않아도 됩니다, 또한, 테스트 넷은 네트워크가 혼잡하지 않습니다

 

 

로컬 블록 체인 시뮬레이션 장점 및 단점

 Ganache (이전의 testrpc)는 가장 많이 사용되는 로컬 블록 체인 시뮬레이션 중 하나이며, 공용 testnet의 장점과 단점을 많이 공유하지만 차이가 있다.

장점 :

  • 동기화가 필요없고 디스크에 데이터가 거의 없습니다. 첫 번째 블록을 직접 채굴해야합니다.
  • 테스트 이더를 얻을 필요가 없습니다. 테스트를 위해 사용할 수 있는  보상을 받아야 합니다.
  • 다른 사용자는 없습니다.
  • 시작한 후에 배포된 계약만 존재한다. 다른 계약은 없다

단점 :

  • 다른 사용자가 없다는 것은 공용 블록 체인과 동일하게 작용하지 않는다는 것을 의미합니다. 거래 공간 또는 거래 순서에 대한 경쟁은 없습니다.
  • 공개 블록 체인에서 발생하는 일부 시나리오를 테스트 할 수 없습니다.
  • 다른 계약이 없다는것은 종속성 및 컨트랙트 라이브러리를 포함하여 테스트하려는 모든 것을 본인이 배포해야한다는 뜻이다.
  • 일부 시나리오 ( : DAO 계약)를 테스트하기 위해 공개 컨트랙트 및 그들의 주소 중 일부를 다시 작성할 수 없습니다.

 


Comments