brunch

매거진 Vision

You can make anything
by writing

C.S.Lewis

by ICON Project Aug 11. 2017

ICON 프로젝트 #6. Inside ICON (3)

loopchain 모듈에 대한 모든 것

SCORE(Smart Contract On Reliable Environment) 


이제 루프체인의 2번째 특징인 SCORE에 대해 알아보겠습니다. 

loopchain SCORE의 가장 큰 특징은 개발 친화적 언어를 통해 자유롭게 개발환경을 구성할 수 있다는 점입니다. 대표적인 블록체인 기반 스마트 컨트랙트 플랫폼인 이더리움의 경우 특수한 가상머신 EVM(Ethereum Virtual Machine)에서 사용 가능한 언어로만 스마트 컨트랙트를 작성할 수 있습니다. 즉 Solidty, Serpent, LLL을 통해서 스마트 컨트랙트를 개발을 해야하고 데이터 접근 및 저장 또한 EVM 내부 변수를 통해서만 저장할 수 있습니다.

SCORE와 합의엔진(Blockchain)이 구조상 분리되어있는  loopchain 모듈 구조 

loopchain SCORE는 효율성을 높이기 위해 기본 블록체인 프로세스와는 별도로 컨테이너 기반 런타임 동안 루프체인에서 실행되는 강화된 버전의 스마트 컨트랙트입니다. 따라서 합의 엔진과 의존성을 최대한 떨어뜨린 별도의 모듈로 개발되었습니다. 

또한 SCORE 스토어는 스마트 컨트랙트의 효율적이고 간편한 등록, 사용, 버전닝을 지원합니다. 별도의 컨테이너 기반 가상 기계 (VM) 안에서가 아니라 노드 실행 환경 안에서 바로 작동되는 SCORE는 효율성을 극대화하고 스마트 컨트랙트 안에서 발생할 수 있는 그 어떠한 오류로부터 전체적인 블록체인 프로세스를 보호한다

합의 엔진과 SCORE는 내부 GRPC로 구현된 인터페이스를 통하여 통신을 하기 때문에 인터페이스만 맞으면 어떠한 언어로도 구현이 가능하나 현재는 파이썬 구현체만 허용하고 있습니다. 데이터 베이스 또한 자유롭게 사용할 수 있죠. 다만 이더리움 처럼 변수의 모든 데이터가 저장되지는 않고 데이터베이스에 직접 읽고 쓰고 한 결과만 저장됩니다.


Multi channel 

Multi channel은 하나의 독립적인 블록체인 네트워크 내에서 업무별로 채널이라는 가상의 네트워크를 구성하여 채널 별로 거래 요청, 합의 및 스마트 컨트랙트를 수행할 수 있는 기능입니다. 이로써 하나의 노드에 해당 업무 당사자들만 연결되어 업무별로 채널을 다양하게 형성할 수 있고,  그 결과 채널별로 무결성 보장 및 합의가 이루어지며 거래 데이터가 실제 거래 당사자들 사이에서 보유할 수 있게 되어 다양한 규제에 대응할 수 있습니다.         


Tiered System


블록체인 네트워크에 참여시 인증과 함께 거래 별로 PKI 기반 인증을 통해 거래 내역 검증 및 보안이 이루어집니다. 또한 거래에 참여하지 않지만 필요에 따라 거래 내역을 감사할 수 있는 기능을 특정 노드에 부여하는 기능을 지원하고 있습니다. 


Modular Architecture


loopchain의 모듈화 구조는 노드 검증, 합의 알고리즘, 스마트컨트랙트 등을 위한 모듈의 커스텀화를 필요할 때 언제든 가능하게 합니다. 


SCORE 기반 채팅 

SCORE기반 채팅 샘플에 대해 동작 방식과 함께 설명하겠습니다. 채팅서비스는 중계자가 필요한 대표적인 서비스입니다. 채팅 참여자는 각자가 직접 연결되지 않고 채팅서버와 연결한 후 채팅서버에서 보내주는 다른 참여자의 말을 믿고 대화를 진행합니다. 즉, 대화 당사자가 아닌 채팅서버라는 별도의 TTP(Trusted Third Party)가 대화라는 거래를 중계해주는 방식이라고 할 수 있습니다.


즉, 채팅 참여자가 각각 블록체인 노드를 구성하고 대화 내용을 포함하고 서명을 하여 거래를 발생시키면 해당 거래가 동기화되고 거래 내역이 정당하면(채팅 참여자의 서명이 맞으면) 거래에 포함된 대화 내용을 전체 대화록에 추가하는 식입니다.    



[ICON 공식 커뮤니티]

Homepage : https://icon.foundation

KakaoTalk : https://open.kakao.com/o/gMAFhdS

Medium (ENG post) : https://medium.com/helloiconworld

Brunch (KOR post) : https://brunch.co.kr/@helloiconworld

Reddit : https://www.reddit.com/r/helloicon/

Twitter : https://twitter.com/helloiconworld

Facebook : https://www.facebook.com/helloicon/

매거진의 이전글 ICON 프로젝트 #5. Inside ICON (2)
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari