이더리움 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 박재현
,

블록체인 도입시 고려 사항

 

 

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

 

특히, 최근에 언론 기사를 보면 많은 정부 기관 등에서 블록체인 기반의 시스템 구축 계획을 발표하고 있고 이 경우 대부분이 블록체인을 중앙의 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 박재현
,