이더리움 2.0에 대한 짧은 소회



최근에 블록체인 분야의 기자분께서 이더리움 2.0에 대한 질문이 담긴 취재 메일을 보내주셨습니다. 비탈릭의 발표를 들으면서 느낀 짧은 소회를 정리해서 보냈습니다. 비슷한 문의하시는 분들이 많아 생각을 공유합니다. 논쟁을 하기 위한 의견이 아아니니 다른 생각을 았는 분들과도 편하게 의견 나누는 기회가 되었으면 합니다.




이더리움 데브콘을 시의로 이더리움 개발 현황과  앞으로의 전망을 일반 독자에게 공유하기 위해 취재 중입니다.  질문은 아래와 같습니다:)
 
  1. 이번 이더리움 데브콘에서 나온 발표 중 어떤 것이 가장 인상깊으셨나요?

비탈릭의 기조 연설입니다. 아무래도 이더리움이 비탈릭 중심으로 개발이 진행되고 있기에 비탈릭의 발표가 가장 인상적이었습니다.

  1. 이더리움 2.0이라는 표현이 많이 등장하는데요. 이더리움 2.0에서 정확히 어떤 지점에 변화가 오는 건가요? 

그 간 이더리움의 성능 등 여러 문제점 해결을 위한 노력들인 캐스퍼 , 샤딩, 컨트랙의 EWASM 등을 이더리움2.0이자 이더리움 로그맵의 마지막 단계인 세레니티로 정리한 것으로 이해되며 , 이들 구현에 중점을 둘 것이다 라는 선언이라고 이해합니다.  결국, 이더리움 2.0이 완성되면 퍼블릭 체인으로서 PoS와 샤딩 등을 기반으로 한 확장성 문제를 해결하고 eWASM을 지원을 통해 EVM의 성능 개선 등 컨트랙 환경 개선 등을 통해 이더리움이 본래의 목적처럼 대용량 컨트랙 기반 트랜잭션을 실행가능한 컴퓨팅 환경이 될 것 입니다. 

  1. 이더리움 2.0 개발을 위해 현재 어떤 과제, 난제가 있나요?

이더리움 2.0의 실현되기 위해서는 여러 난제가 있습니다. 

- 현재 작동중인 PoW 기반 생태계를 별도 하드포크( 체인 분리) 없이 세레니티가 지향하는 순수 PoS 환경으로의 전환되어야 합니다.  
- 플라즈마 및 샤딩 등 새로운 체인 및 블록 구조가 기존 체인 구조에 영향을 주지 않아야 하고 고성능으로 운영이 되도록 개발되어야 합니다.  
- DApp 서비스 입장에서 개인키 관리 , 가스 비용 등 사용성 문제가 해결되어야 합니다.
- 개발 기간 이슈 , 현재 이더리움2.0은 오랜시간 동안 논의되었으나  최종 구현 스펙 조차 확정이 되지 않은 상태라 실제 구현 후 이를 상용화 수준으로 적용하기 위해서는 개인적으로 최소 2년 이상의 시간은 필요하리라 예상합니다.  


  1. 이더리움 블록체인이 앞으로 어떤 방향으로 개발돼 나아갈지 의견을 듣고 싶습니다!

인터넷과 웹에서  특정 회사와 서비스가 모든 것을 주도하지 못하듯이, 블록체인도 하나의 퍼블릭 체인이나 특정 서비스가 모든 것을 주도할 수 없습니다. 따라서 이더리움이 지향하는 탈중앙화와 신뢰성을 지양하더라도 , 다른 블록체인의 철학과 차이점을 인정하고 이들과의 호환가능한 신뢰 프로토콜을 설계하고 블록체인 간의 표준을 만드는 방향으로 개발이 되어야 합니다. 

현재의 이더리움은 , 가령 플라즈마 처럼, 모든 스펙이 이더리움 기반의 트랜잭션 외에는 신뢰할 수 없다 라는 철학을 기반으로 합니다.  그러나 현재 블록체인 세계는 이더리움 퍼브릭 블록체인 외에도 람다256의 루니버스, ICON, EOS 그리고  하이퍼레저 기반의 Private Chain  등 다양한 실체들이 존재하고 있습니다. 이들 다른 블록체인의 철학과 차이를 이해하고 이들과 서로 신뢰할 수 있는 보편화되고 개방화된 신뢰 프로토콜로서 이더리움이 발전되었으면 하는 바램입니다. 

이 과정을 통해 이더리움이 ICO를 위한 토큰 서비스 플랫폼에서 진화하여 진정한 퍼블릭 블록체인 체인이 되었으면 합니다. 




Posted by 박재현

이더리움 연구회 정기 발표회 후기 및 자료 공유 









인터넷과 웹이 성공한 여러 이유중 으뜸이 웹 브라우져라 생각합니다. 사용자가 너무나도 쉽게 인터넷상의 정보 저장소인 웹을 따라가면서 원하는 정보를 쉽게 조회할 수 있었기 때문입니다. 모바일의 성공 역시 작고 휴대하기 쉬운 모바일폰을 손가락으로 쉽게 조작하면서 원하는 앱과 앱을 넘나드는 사용성이 성공의 원인중 최고라 믿습니다. 일반 사용자에게 선택받지 못하는 기술이 절대 성공할 수 없습니다.  


현재 블록체인은 이러한 크나큰 캐즘에 빠져 있습니다. 많은 블록체인 프로젝트들이 최고의 TPS와 어려운 알고리즘을 이야기하고 , 이들 기술을 서로들 미트업을 만들어 홍보에 열을 올리지만 결국 사용자에게   선택받지 못하면 도태될 것 입니다. 물론, 선택 여부와  상관없이 돈을 버는 게 중요한 사람들도 많겠지만요. 이더리움 연구회는 복잡한 공식으로 포장된 블록체인 백서보다 코드로 이야기하고 확인할 수 있어야 한다고 믿습니다. 


2018년 8월 10일 열린 이더리움 정기 발표회 중 중요하다 생각하는 발표와 자료를 공유합니다. 하기 자료 중 이더리움 PoA 사이드체인 기반의 Dex 서비스인 Allbit의 발표와 안전한 스마트 컨트랙 개발 방법과 Audit 엔진을 개발하는 Sooho의 발표 자료는 꼭 한번 살펴보시길 권합니다. 더불어 모든 이더리움 기반 스마트 컨트랙을 개발하는 과제에서는 반드시 안전한 스마트 컨트랙 개발을 위한 고민을 해 보시길 바랍니다. 



- 거인의 어깨위에서 미래를 보다. 


비트코인을 만드는 데 영향을 준 여러 기술들과 이를 개발한 개발자 및 연구자, 그리고 이들 기술들을 사토시가 2008년~2009년에 걸쳐  어떻게 창조적으로 재구성하여 비트코인을 개발했는지, 그리고 이후 현재까지 블록체인 기술의 발전 과정과 문제점들과 이를 해결하기 위한 노력들에 대해 살펴보았습니다.


( 파일 사이즈가 커서 업로드가 안되어 이미지로 공유합니다. )



다운로드 링크 :


세션7 거인의 어깨위에서 미래를 보다. 



- 사이드체인을 이용한 이더리움 성능 개선


람다 256 개발 실장님인 오재훈님이 사이드체인 방식을 통한 이더리움의 성능 개선 방법과 실제 이를 응용한 구현 방식으로 플라즈마, 플라즈마 캐시 , OST 의 구현 방식과 장단점 등에 대한 내용을 상세히 발표해 주었습니다.  플라즈마 구현 부분에 대해 많은 질문과 대답이 다양하게 오가는 수준높은 발표였습니다.


발표 자료 다운로드 : 


세션1_사이드체인을_이용한_이더리움_성능_개선_노력들.pdf


- 이더리움 사이드체인 기반 Dex 구현 방법 , Allbit


Allbit  Dex서비스를 운영하고 있는 오지스의 CTO인 Koon님이 Dex의 다양한 구현 모델과 Allbit의 상세 구현 내용에 대한 발표가 있었습니다. Allbit은 거래의 Gas수수료와 성능 등을 개선하고자 람다256과 함께 PoA 기반 SideChain을 구축하였고 이 기반하에 Dex 서비스를 오픈하였습니다. 이 과정에서 발생한 여러 문제점과 이를 어떻게 해결했는가에 대해 재미있는 발표가 진행되었습니다. 일일 매출에 대한 질문 부터 PoA Signer 선정 및 운영 방식 등에 대한 질문에 이르기까지 흥미로운 대화들이 많이 오가는 활기찬 발표 시간이었습니다. 


발표 자료 다운로드 : 


세션4_Allbit_dex.pdf



- 안전한 스마트 컨트랙 코딩 방법과 Audit Engine , Sooho



이더리움 플랫폼은 스마트 컨트랙이라는 안전한 응용 프로그램을 통해 중앙화된 모델의 탈중화를 가능하게 해줍니다. 그런데 스마트 컨트랙을 잘못 작성하면 보안상의 여러 문제가 발생할 수 밖에 없습니다. 따라서 현재 이더리움 기반의 토큰 시스템과 토큰 경제를 제대로 개발하려면 안전하고 효율적인 스마트 컨트랙 개발이 필수적입니다. 다양한 스마트 컨트랙의 보안 문제와 안전한 코딩 방법, 그리고 안전한 코딩 가이드를 실시간 지원해주는 Smart Contract Audit Engine에 대해 Sooho의 지수 CEO의 발표가 있었습니다. 외부에서 쉽게 들을 수 없는 보안 전문가의 발표이다 보니 개인적으로 가장 흥미롭게 들었던 발표였습니다. 


발표 자료 다운로드 :

180810_sooho_이연_발표.pdf



- 다음은 기타 주요 발표와 자료들입니다.


다양한 컨센서스 알고리즘과 이더리움의 PoW 알고리즘을 직접 Geth를 디버깅하는 방법을 소개하면서 분석하는 시연을 진행했습니다. 


세션2-1 Consensus From Scratch .pdf


또한 샤딩과 이더리움 샤딩의 현재 상태에 대한 발표가 있었습니다.


세션2-2_sharding.pdf


마지막으로 다양한 블록체인간의 연결을 위한 인터체인과 인터체인중 가장 활발한 개발을 추진중인 코스모스 과제에 대한 소개가 있었습니다.


세션3_Interoperability of BlockChain.pdf


끝까지 읽어 주셔서 감사합니다. 



Posted by 박재현

블록체인 도입시 고려 사항

 

 

비트코인, 이더리움 같은 암호화폐의 기반이 되는 블록체인은 새로운 기술이다. 따라서 일부는 블록체인을 과장되게 설명하여 마치 모든 것을 해결할 수 있는 만능 플랫폼으로 이해하기도 하고 , 일부는 부정적인 시각을 갖고 있는 혼돈된 상태이다. 이러한 혼돈속에서 가장 많이 할 수 있는 질문 중  하나가 바로블록체인을 꼭 써야 하는 가?” , “다른 기술로도 가능하지 않은가?” 라는 것이다.

 

특히, 최근에 언론 기사를 보면 많은 정부 기관 등에서 블록체인 기반의 시스템 구축 계획을 발표하고 있고 이 경우 대부분이 블록체인을 중앙의 DBMS를 공유 원장으로 대체하려는 목적이 강하기 때문에 적용하는 과정에서 기대했던 것과 실제 다를 수 있기 때문이다.  블록체인 플랫폼이 만능 플랫폼이 될 수는 없다. 그러나 특정 상황에서 큰 효과를 가져다 줄 수 있는 혁신적인 플랫폼이 될 수 있다. 따라서 기술 수준을 잘 이해하고 적용하는 것이 필요하다. 현재 블록체인 플랫폼의 문제점들로 언급되는 것은 다음과 같다.

 

가장 큰 문제는 처리 성능과 용량(scalability)을 높여야 한다는 것이다. 현재 이더리움의 경우 초당 트랜잭션 처리 속도가 15~20 TPS(Transaction Per Second) 이고 가장 낮은 가스 비용을 기준으로 트랜잭션이 처리되는 데 평균 13분이 소요되고 있다.  페이팔이 193 TPS , 비자 네트워크가 1667 TPS 라는 것을 감안해 볼 때 현재  처리 용량으로는 일반 전자상거래나 빠른 처리 속도를 요하는 시스템 개발에 적용하기 어려운 실정이다. 이 문제를 해결하기 위해서는 현재 작업 증명 방식의 동의 방식을 지분에 의한 증명 방식으로 전환하는 등의 개선이 필요하고 블록 생성 시간을 줄이고 트랜잭션을 처리 능력을 개선해야 한다. 현재 이 문제 해결을 위해 PoS 방식의 합의 방식인 캐스퍼 , 블록내 트랜잭션의 병렬 처리를 가능하게 하는 샤딩 , 거래 당사자간의 직거래를 가능하게 하는 라이덴 네트워크 등 여러 프로젝트를 진행중에 있으나 문제 해결에는 다소 시간이 걸릴 것이다.

 

그리고 현재 스마트 컨트랙은 복잡한 내용을 처리에는 여러 어려움이 있다. 가령, 일단 배포된 바이트코드는 업데이트를 할 수 없고 EVM 에서 지원하는 반복 호출 횟수(Call Depth) 크기가 1024 불과하고 컨트랙에 입력되는 데이터의 신뢰성 확보 , 보안 문제 , 부족한 개발 환경 등 실제 개발에 있어 많은 어려움이 있다. 아마 과거 자바 언어의 초기 상태라 이해하면 될 것이다. 

 

다음은 현재 수준의 블록체인 도입시 필요한 검토 사항들을 정리해 보았다. 

 

[ 블록체인 도입시 검토사항들 ]

 

(1) 데이터가 시간순으로 정렬되고 감사(audit)가 필요하고 필요한가?

만약 필요하다면 , 블록체인 기술을 사용하는 것이 적합하다. 기존의 관계형 DBMS같은 시스템상에서 모든 데이터의 위.변조를 막고 투명한 관리 기능을 구현하고 운영하는 데에는  막대한 개발 및 운용 비용이 발생한다. 따라서 본질적으로 모든 데이터를 시간순으로 기록하고 이를 구성원들과 공유를 하여 위변조를 막는 블록체인을 사용하는 것이 유리하다.

 

(2) 중앙에서 데이터에 대한  관리가 필요한가?

중앙에서 사용자 인증과 권한 제어 등 강력한 관리가 필요하다면 블록체인 보다는 기존 시스템을 사용하는 것이 유리하다. 비록 , 하이퍼레저 페브릭같은 설치형 블록체인 플랫폼이 기존 블록체인에 사용자 인증과 권한 제어 기능을 제공한다지만 현재 수준에서는 기존 시스템을 사용하는 것이 더 경제적이고 안정적이다.

 

(3) 트랜잭션의 처리 속도가 중요한가?

초당 수 천 이상의 트랜잭션 처리를 필요로 할 경우 현재 수준의 블록체인 기술로는 지원하지 못한다. 따라서 이런 경우 블록체인보다는 기존 방식의 시스템을 사용하는 것이 현명하다. 가령, 전자 상거래의 상품 주문이나 결제 같은 서비스는 초당 많은 트랜잭션의 실시간 처리를 필요로 한다. 이런 경우에는 블록체인 보다 기존 시스템을 사용하는 것이 적합하다.

 

(4) 암호 화폐나 운영 토큰 등이 필요한가?

이더같은 암호 화폐와 가스같은 운영 토큰은 해당 플랫폼이나 서비스의 운영과 성장에 기여한 대가로  관련된 구성원들에게 지급되고 플랫폼의 이용 대가를 지불하는 데 사용되는 중요한 수단이다. 특히, 해당 플랫폼의 성장에 따라 그 가치 또한 증가하고 비트코인 같은 다른 암호 화폐나 실물 화폐와 교환이 가능하기 때문에 더욱 중요하다. 만약, 이러한 암호 화폐와 운영 토큰을 기반으로 한 인센티브와 운영 방안이 필요하다면 블록체인 특히 , 이더리움 플랫폼을 사용하는 것이 좋다.

 

(5) 안정적으로 기술지원을 받을 수 있는가?

현재 블록체인과 이더리움 기술은 상대적으로 개발자와 전문가가 부족한 상태다. 따라서 이를 활용한 서비스 개발을 위해서는 블록체인과 이더리움 등에 능통한 전문가를 확보해야 적용 과정에서 시행착오를 줄일 수 있다. 따라서 안정적으로 기술 지원을 받을 수 있는 전문 회사나 전문가를 사전에 확보해야 한다. 만약 확보가 안된다면 적용을 보류하는 것이 바람직하다.

 

(6) POC 등의 예비 도입 단계를 통해 기대했던 것을 확인했는가?

블록체인 특히, 이더리움 플랫폼 사용이 적합하고 전문가가 준비되었다면 본격적인 적용에 앞서 POC(Proof of Concept)나 프로토타이핑을 하여 기술 타당성을 검증해야 한다. 해당 작업을 통해 타당성을 검증한 후에 실제 본격 적용을 하는 것이 성공 가능성을 높일 수 있다.

 

블록체인 플랫폼이 만능은 아니다. 그러나 분명 기존의 시스템을 블록체인 기반으로 전환하거나 신규 개발할 때 얻을 수 있는 많은 것들이 있다. 물론, 현재 블록체인 플랫폼 기반의 많은 서비스들이 개발되고 있으나 아직 명확한 성공을 거둔 서비스가 없는 것 또한 사실이다. 따라서 블록체인 기술 적용시 보다 신중한 접근과 고민이 필요하다.


Posted by 박재현


이더리움 연구회 정기 발표회 자료 


11월 10일 이더리움 연구회 정기 발표회가 있었습니다. 200 분이 넘는 개발자분들과 함께 이더리움 플랫폼에 대한 이론과 실습이 진행되었습니다. 시간이 부족하다 보니 준비된 내용을 전달하고 실습을 하는 데 다소 부족했던 것 같습니다. 2018년 3월 계획되어 있는 봄 정기 발표회에는 좀 더 다양하고 내실있는 내용이 되도록 노력하겠습니다. 아래 발표회 자료를 공유합니다.


다시 한번 , 끝까지 자리 함께 해주신 많은 개발자분들께 감사드립니다.  


이더리움 연구회 드림


정기 발표회 프로그램






예제 소스 파일 다운로드 - https://github.com/etherstudy/smartcontract





Posted by 박재현