루프체인 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
1번째 줄: 1번째 줄:
[[파일:㈜파라메타 글자.png|썸네일|300픽셀|'''㈜파라메타'''(Parameta)]]
+
'''루프체인'''(Loopchain)<!--루프 체인, Loopchain, Loop chain-->은 [[㈜더루프]](theloop)가 독자 개발한 프라이빗 블록체인 엔진이다. 금융거래 지원을 목표로 개발되고 있으며, 추후 사물인터넷([[IoT]]) 환경 등 블록체인을 적용할 수 있는 다양한 서비스를 구성하기 위한 엔진을 개발하고 있다.
 
 
'''루프체인'''(loopchain)<!--루프 체인, Loopchain, Loop chain-->은 '''[[㈜파라메타]]'''(구 ㈜아이콘루프)가 독자 개발한 블록체인 엔진이다. 금융거래 지원을 목표로 개발되고 있으며, 추후 사물인터넷([[IoT]]) 환경 등 블록체인을 적용할 수 있는 다양한 서비스를 구성하기 위한 엔진을 개발하고 있다.
 
  
 
==개요==
 
==개요==
루프체인은 [[하이퍼레저 패브릭]](Hyperledger Fabric)이나 R3 코다(R3 Corda)보다 블록체인의 기본에 더욱 충실한 구조로 되어 있다. 하이퍼레저 패브릭의 컨센서스 서비스나 공증인(Notary)처럼 중앙에서 [[트랜잭션]] 순서를 정해주며, 체인은 이 내용을 검증해주는 구조와 달리, 기본 비트코인 블록체인처럼 이해관계자들의 트랜잭션 순서를 합의 보증 하는 방식으로 순서를 정해주고 있다.
+
루프체인은 [[하이퍼레저 패브릭]](Hyperledger Fabric)이나 R3 코다(R3 Co보다 블록체인의 기본에 더욱 충실한 구조로 되어 있다. 하이퍼레저 패브릭의 컨센서스 서비스나 공증인(Notary)처럼 중앙에서 [[트랜잭션]] 순서를 정해주며, 체인은 이 내용을 검증해주는 구조와 달리, 기본 비트코인 블록체인처럼 이해관계자들의 트랜잭션 순서를 합의 보증 하는 방식으로 순서를 정해주고 있다.
  
[[㈜아이콘루프]]는 금융권 요구사항을 만족하면서 새로운 요구사항에 맞게 시스템을 변화하기 위해 루프체인을 유연한 구조로 만들고자 했다. 루프체인 모듈에서 [[어드민 레이어]]는 주로 [[블록체인]] [[네트워크]] 관리를 위해 [[노드]]의 장애 상황을 감독하고, [[스마트 계약]]의 버전을 관리하고, 각 노드의 권한을 감독한다. [[엔진 레이어]]는 블록체인 노드의 주 역할인 분산 합의, 원장 저장, 스마트 계약 실행을 담당하며, 특히 분산 합의를 위한 엔진 모듈인 블록체인과 실제 블록체인에 올라가는 서비스와 실행환경인 [[스코어]](Smart Contract on Reliable Environment; SCORE)가 분리되어 있다. 인터페이스 레이어는 다른 비즈니스 애플리케이션이 블록체인 네트워크에 접속할 수 있는 환경을 만들어준다.<ref name="블로터">더루프, 〈[http://www.bloter.net/archives/275305 (블록체인 톺아보기) 더루프, 루프체인]〉, 《블로터》, 2017-03-28</ref>
+
[[㈜더루프]]는 금융권 요구사항을 만족하면서 새로운 요구사항에 맞게 시스템을 변화하기 위해 루프체인을 유연한 구조로 만들고자 했다. 루프체인 모듈에서 [[어드민 레이어]]는 주로 [[블록체인]] [[네트워크]] 관리를 위해 [[노드]]의 장애 상황을 감독하고, [[스마트 계약]]의 버전을 관리하고, 각 노드의 권한을 감독한다. [[엔진 레이어]]는 블록체인 노드의 주 역할인 분산 합의, 원장 저장, 스마트 계약 실행을 담당하며, 특히 분산 합의를 위한 엔진 모듈인 블록체인과 실제 블록체인에 올라가는 서비스와 실행환경인 [[스코어]](Smart Contract on Reliable Environment; SCORE)가 분리되어 있다. 인터페이스 레이어는 다른 비즈니스 애플리케이션이 블록체인 네트워크에 접속할 수 있는 환경을 만들어준다.<ref name="블로터">더루프, 〈[http://www.bloter.net/archives/275305 (블록체인 톺아보기) 더루프, 루프체인]〉, 《블로터》, 2017-03-28</ref>
  
 
==특징==
 
==특징==
 
루프체인의 1차 목표는 금융권을 위한 [[블록체인]]이기 때문에 이해당사자끼리만 데이터를 볼 수 있는 [[프라이빗]] 채널 기능, 블록체인 네트워크 참여 기관별로 다른 기능을 가지게 하는 트라이드 시스템, 마지막으로 다양한 금융 서비스를 원활하게 지원하기 위한 빠른 속도를 목표로 개발한 블록체인이다.
 
루프체인의 1차 목표는 금융권을 위한 [[블록체인]]이기 때문에 이해당사자끼리만 데이터를 볼 수 있는 [[프라이빗]] 채널 기능, 블록체인 네트워크 참여 기관별로 다른 기능을 가지게 하는 트라이드 시스템, 마지막으로 다양한 금융 서비스를 원활하게 지원하기 위한 빠른 속도를 목표로 개발한 블록체인이다.
  
[[어드민 레이어]]에서는 각 네트워크에 참여하는 노드들을 관리·감독한다. 어드민 레이어에서 각 [[노드]]의 권한을 제한하고, [[암호화]] 프로토콜을 통한 메시지 교환 방식, 또 [[비트코인]] [[라이트닝 네트워크]] 프로토콜을 이용해 트라이드 시스템과 프라이빗 채널을 구현하고 있다. 현재 각 특징을 구현하는 두 가지 방식이 있는데 이 방식은 추가될 수도, 한 가지 방식으로 통합될 수도 있다.
+
[[어드민 레이어]]에서는 각 네트워크에 참여하는 노드들을 관리·감독한다. 어드민 레이어에서 각 [[노드]]의 권한을 제한하고, [[암호화]] 프로토콜을 통한 메시지 교환 방식, 또 [[비트코인]] [[라이트닝 네트워크]] 프로토콜을 이용해 트라이드 시스템과 프라이빗 채널을 구현하고 있다. 현재, 각 특징을 구현하는 2가지 방식이 있는데 다음에 늘어날 수도, 한가지 방식으로 통합될 수도 있다.
  
 
루프체인에서는 높은 성능을 보장하기 위해 [[프랙티컬 비잔틴 장애 허용]](Practical Byzantine Fault Tolerance; PBFT) 방식과는 다른, 리더 중심의 분산 합의 방식과 리더 장애 극복 알고리즘을 통해 [[비잔틴 장애 허용]](Byzantine Fault Tolerance; BFT) 문제를 해결하고 있다. 또한, 블록체인 서비스를 동작하는 부분(SCORE)과 합의 엔진을 완전히 분리했고, 합의 엔진 내에서도 모듈 및 가용성 요구사항에 따라 프로세스를 여러 개 분리하는 방식으로 고성능 블록체인이 구현되었다.
 
루프체인에서는 높은 성능을 보장하기 위해 [[프랙티컬 비잔틴 장애 허용]](Practical Byzantine Fault Tolerance; PBFT) 방식과는 다른, 리더 중심의 분산 합의 방식과 리더 장애 극복 알고리즘을 통해 [[비잔틴 장애 허용]](Byzantine Fault Tolerance; BFT) 문제를 해결하고 있다. 또한, 블록체인 서비스를 동작하는 부분(SCORE)과 합의 엔진을 완전히 분리했고, 합의 엔진 내에서도 모듈 및 가용성 요구사항에 따라 프로세스를 여러 개 분리하는 방식으로 고성능 블록체인이 구현되었다.
  
그 밖의 중요한 특징으로는 '[[포털]]'이라는 자체 개발한 프로토콜을 이용해 리더 노드를 통한 블록체인 외부 데이터(외부 블록체인) 접근 및 분산 합의 방법, 스코어의 버전 방식과 마이그레이션 없이 동작하는 네트워크에서의 업데이트 및 하위 호환성 지원, 스코어 스토어를 통한 스마트 계약 배포 및 버전 관리 등의 특징이 있다. 또한, 아이콘루프는 블록체인 내에서 인증서를 발급하는 독자 기술을 개발해 이번에 금융투자업권 컨소시움의 첫 번째 시범 모델로 사용할 예정이다.<ref name="블로터"></ref>
+
그 밖의 중요한 특징으로는 '[[포털]]'이라는 자체 개발한 프로토콜을 이용해 리더 노드를 통한 블록체인 외부 데이터(외부 블록체인) 접근 및 분산 합의 방법, 스코어의 버전 방식과 마이그레이션 없이 동작하는 네트워크에서의 업데이트 및 하위 호환성 지원, 스코어 스토어를 통한 스마트 계약 배포 및 버전 관리 등의 특징이 있다. 또한, 더루프는 블록체인 내에서 인증서를 발급하는 독자 기술을 개발해 이번에 금융투자업권 컨소시움의 첫 번째 시범 모델로 사용할 예정이다.<ref name="블로터"></ref>
  
 
===스코어===
 
===스코어===
50번째 줄: 48번째 줄:
 
루프 장애 허용은 기존 [[프랙티컬 비잔틴 장애 허용]]을 사용하는 합의 알고리즘에서 발생하는 통신 오버헤드를 [[피기배킹]](Piggybacking)을 이용하여(네트워크에서 메시지를 통합하여 통신 오버헤드를 감소시키는 방법) 줄였으며, 스피닝(Spinning) 기법(리더를 매번 교체하는 기법)을 이용하여 악의적인 [[노드]]가 네트워크의 [[합의]]를 해치지 않는 범위에서 네트워크에 문제를 일으킬 수 있는 특정 노드의 [[트랜잭션]] 거부 문제, 리더에 의한 네트워크 지연과 같은 문제를 해결했다. 또한, 기존 알고리즘들이 가지고 있던 지나치게 복잡한 리더 선정 알고리즘을 단순화하였다.
 
루프 장애 허용은 기존 [[프랙티컬 비잔틴 장애 허용]]을 사용하는 합의 알고리즘에서 발생하는 통신 오버헤드를 [[피기배킹]](Piggybacking)을 이용하여(네트워크에서 메시지를 통합하여 통신 오버헤드를 감소시키는 방법) 줄였으며, 스피닝(Spinning) 기법(리더를 매번 교체하는 기법)을 이용하여 악의적인 [[노드]]가 네트워크의 [[합의]]를 해치지 않는 범위에서 네트워크에 문제를 일으킬 수 있는 특정 노드의 [[트랜잭션]] 거부 문제, 리더에 의한 네트워크 지연과 같은 문제를 해결했다. 또한, 기존 알고리즘들이 가지고 있던 지나치게 복잡한 리더 선정 알고리즘을 단순화하였다.
  
네트워크가 시작되면 검증 노드(검증을 통해 합의에 참여하는 노드)들은 사전에 결정된 리더 노드에게 처리를 원하는 트랜잭션을 전송한다. 리더 노드는 수집한 [[트랜잭션]]을 이용하여 블록을 생성하고 자신의 서명과 함께 다른 모든 검증 노드에게 전송한다. 각 검증 노드들은 [[블록]]을 받으면 현 리더가 블록을 생성했는지 확인하고, 블록의 높이와 [[이전 블록 해시]]가 올바른지 확인하며, 블록의 데이터가 올바른지 확인한다. 검증 노드는 위 세 가지 방법이 옳다면 투표 데이터를 생성하여 네트워크의 모든 노드들에게 전파한다. 투표 데이터를 전체 노드에게 전파하는 것은 매우 중요한데, 이는 리더 노드가 비잔틴일 경우 정족수 이상의 노드들에게만 블록을 전파하여 특정 노드들을 네트워크로부터 분리하도록 시도할 수 있기 때문이다. 이러한 문제를 방지하기 위해 모든 피어에게 투표 데이터를 전파하며 이는 기존 [[Raft 알고리즘]]과 다른 부분이다. 이 과정에서 블록을 못 받은 노드는 블록이 생성되었는지에 대한 정보를 알 수 있고 다른 노드에게 블록을 요청할 수 있다.<ref name="아이콘루프"></ref>
+
네트워크가 시작되면 검증 노드(검증을 통해 합의에 참여하는 노드)들은 사전에 결정된 리더 노드에게 처리를 원하는 트랜잭션을 전송한다. 리더 노드는 수집한 [[트랜잭션]]을 이용하여 블록을 생성하고 자신의 서명과 함께 다른 모든 검증 노드에게 전송한다. 각 검증 노드들은 [[블록]]을 받으면 현 리더가 블록을 생성했는지 확인하고, 블록의 높이와 [[이전 블록 해시]]가 올바른지 확인하며, 블록의 데이터가 올바른지 확인한다. 검증 노드는 위 세 가지 방법이 옳다면 투표(Vote) 데이터를 생성하여 네트워크의 모든 노드들에게 전파한다. 투표 데이터를 전체 노드에게 전파하는 것은 매우 중요한데, 이는 리더 노드가 비잔틴일 경우 정족수 이상의 노드들에게만 블록을 전파하여 특정 노드들을 네트워크로부터 분리하도록 시도할 수 있기 때문이다. 이러한 문제를 방지하기 위해 모든 피어에게 투표 데이터를 전파하며 이는 기존 [[Raft 알고리즘]]과 다른 부분이다. 이 과정에서 블록을 못 받은 노드는 블록이 생성되었는지에 대한 정보를 알 수 있고 다른 노드에게 블록을 요청할 수 있다.<ref name="아이콘루프"></ref>
  
 
===멀티채널===
 
===멀티채널===
57번째 줄: 55번째 줄:
 
===계층형 시스템===
 
===계층형 시스템===
 
블록체인 네트워크 참여를 위한 인증과 함께 거래 별로 PKI 기반 인증을 통해 거래내역 검증 및 보안이 이루어진다. 또한, 거래에 참여하지 않지만, 필요에 따라 거래 내역에 대한 감사를 수행할 수 있는 기능을 특정 노드에 부여하는 기능도 지원한다.<ref name="아이콘 백서"></ref>
 
블록체인 네트워크 참여를 위한 인증과 함께 거래 별로 PKI 기반 인증을 통해 거래내역 검증 및 보안이 이루어진다. 또한, 거래에 참여하지 않지만, 필요에 따라 거래 내역에 대한 감사를 수행할 수 있는 기능을 특정 노드에 부여하는 기능도 지원한다.<ref name="아이콘 백서"></ref>
 
[[파일:계층형 시스템 구조.png|썸네일|500픽셀|계층형 시스템 구조]]
 
* '''1계층''' : 관리감독 단위(Supervision Unit)로서, 관리와 감독을 총괄하고 전체 노드들의 활동을 관리 및 지원한다. 다음은 1계층의 예이다.
 
# 감독당국 각종 증권거래 관리/감독
 
# 세금계산 및 소득공제 등의 1계층 서비스 제공
 
 
* '''2계층''' : 조율 단위(Adjustment Unit)로서, 1계층과 3계층을 연결 및 조율하며 협회/조합 등으로 구성된다. 다음은 2계층의 예이다.
 
# 금융투자협회 등
 
# 1계층의 관리감독 및 의사결정 지원
 
# 3계층 구성원들의 활동 지원 및 유관 서비스 창출
 
 
* '''3계층''' : 사업 단위(Business Unit)로서, 실질적인 사업기능을 보유한 노드로 구성된다. 다음은 3계층의 예이다.
 
# 은행/증권사 등의 각 개별 금융사
 
# 노드 간 블록 공유를 통한 인프라 비용 및 보안 리스크 감소 추구
 
# 각 노드의 이상 징후/불법 행위 사전 감지 및 대응
 
  
 
===모듈화 구조===
 
===모듈화 구조===
146번째 줄: 129번째 줄:
  
 
==같이 보기==
 
==같이 보기==
* [[㈜아이콘루프]]
 
 
* [[㈜더루프]]
 
* [[㈜더루프]]
 
* [[루프 장애 허용]]
 
* [[루프 장애 허용]]

위키원에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 위키원:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)