RChain Project 소개
Greg Meredith 曰 “산업적으로 지속할 수 있는 블록체인 솔루션을 제공하기 위해서는 페이스북 규모의 컨텐츠 전송 량과 Visa 처리속도를 제공할 수 있는 인프라를 제공해야 한다.”
RChain은 시애틀에 기반을 둔 RChain Cooperative가 개발 한 3 세대 플랫폼
RChain은 확장 가능한 블록체인 어플리케이션으로, 이더리움의 스마트 컨트랙트를 기반으로 고유의 패턴 매칭과 메타 프로그래밍 기술 등 사용자가 손쉽게 금융서비스, 컨텐츠, 소셜플랫폼 등을 개발, 활용할 수 있게 확장 가능한 블록체인 어플리케이션을 목표로 만들어짐
RChain Cooperative는 회원을 관리하고 소유하며, 오픈 소스 RChain 플랫폼을 개발하는 즉, 개발 및 관리 커뮤니티이며, Co-op의 CEO인 Lucius (Greg) Meredith는 현재 Vitalik Buterin 및 Vlad Zamfir와 함께 Casper 증명 증거 프로토콜의 측면에 대해 협력 중
RChain 플랫폼
RChain 플랫폼은 동일한 노드에서 퍼블릭 및 프라이빗 다중 블록 체인을 지원합니다. 병렬로 실행할 수 있는 "다중 체인" 구조를 통해 기본적으로 블록 체인의 샤딩을 효과적으로 수행할 수 있습니다.
RChain은 이더리움과 유사한 Stake기반 PoS 합의 프로토콜을 통해 Concurrency(동시성)이 가능한 시스템을 지향함
RChain과 가장 유사한 솔리디티 기반의 이더리움은 순차적(Sequential)인 처리 시스템으로 인해 동시성(Concurrency)이 불가능하다는 단점이 있기에, RChain이 reflective higher-order language인 RhoLang (언어)를 통해 이 문제를 해결 하고자 함.
RChain 플랫폼의 중심에는 Rho Virtual Machine Execution Environment이 있다. Rho 가상 머신은 Turing-complete이며 플랫폼 계약의 컴파일 및 실행을 수행합니다. 이 환경에서 여러 Rho 가상 머신을 동시에 실행할 수 있습니다. 각 가상 시스템은 필요한 경우에만 독립적인 블록 체인 및 네트워크 집합에서 독립적인 일련의 스마트 계약을 실행합니다.
RChain 플랫폼은 블록체인 기술을 변형시키고, 업계 최초로 확장가능하고 안전한 블록체인을 사용자에게 제공하는 것을 목표로 한다.
RChain 특징
Casper / PoS (합의 프로토콜)
이더리움의 Casper와 유사한 Stake기반 합의 프로토콜을 사용하며, Validator(벨리데이터)의 역할이 매우 중요
계약을 한 상태에서 시작되고 많은 노드가 서명 된 트랜잭션을 수신 한 다음 해당 RhoVM 인스턴스가 해당 계약을 다음 상태로 실행
Rchain에서는 가상 주소 공간을 구별하기 위해 공개 키를 사용하는 대부분의 블록체인과 달리 RChain은 가상 주소 공간을 Namespace로 나눈다. (Namespace는 네트워크 리소스의 위치를 통신하는데 사용되는 Define 된 채널 집합)
Namespace를 사용하면 한 블록체인의 스마트 컨트랙트를 네트워크상의 시스템 컨트랙트에서 볼 수 있으며, namespace를 사용하는 이유는 프로그램이 복잡해질수록 식별자의 이름이 중복될 가능성이 많아 지기 때문에 식별자의 이름을 일정한 영역 안에 그룹화 시켜서 중복으로 인해 충돌이 발생하지 않도록 하기 위해서이다.
Validatior (벨리데이터)
블록체인 내에서 토큰을 일정량 이상 보유하고, 이를 지분으로 맡겨놓은 이들 중, 특정 인원을 벨리데이터로 선정하여 블록체인의 정보 확인(전송 내역, 왜곡 등)및 보안을 관리하는 역할
다중 프로세스의 동시 실행이 아닌 ‘병렬처리’ 의미하며, RChain은 Rholang과 RhoVM을 통해 병렬성과 동시성을 가질 수 있음
** 이더리움의 경우 가장 큰 이슈인 scalability 를 해결하기 위한 RChain의 주요 핵심 특징이 동시성이다. 즉, 순차적인 처리가 아닌 동시처리 가능한 시스템을 통해 확장 가능하고, 트랜잭션 처리 속도가 빠른 블록체인 솔루션(플랫폼)을 구현하려 함.
Rholang (언어)
Rholang은 완벽한 기능을 갖춘 범용적 튜링이 완벽한 프로그래밍 언어
RChain 플랫폼의 중심에는 Rho-Calculus 혁신을 기반으로 한 획기적인 스마트 계약 프로그래밍 언어인 Rholang가 있다.
객체 지향 및 기능 패러다임을 기반으로 하는 보다 일반적으로 사용되는 언어와 달리 이 언어는 내부 동시(concurrency) 프로그래밍을 지원한다. 즉, Smart 계약이 Rchain에서 동시에 검증됨을 의미하며, 이러한 계약은 RhoLang 언어로 작성되었으며 동시 실행 엔진인 Rho Virtual Machine에서 실행된다.
RhoVM을 사용하면 응용 프로그램이 전례 없는 속도와 확장성을 확보 할 수 있음
Rho Calculus는 공식적인 모델 및 형식 검증을 사용한 수학적 계산 모델로 RhoLang의 필수 요소.
r-eflective, h-igher o-rder 프로세서 언어이고, RChain의 공식 스마트 계약 언어로써 프로그램적인 동시성을 세분화 및 구체화 하는 것이 목적