"바이프로스트"의 두 판 사이의 차이
잔글 (→부트스트래핑) |
(→참고자료) |
||
(사용자 6명의 중간 판 17개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
+ | [[파일:바이프로스트 로고.png|썸네일|200픽셀|'''바이프로스트'''(BIFROST)]] | ||
+ | [[파일:바이프로스트 글자.png|썸네일|300픽셀|'''바이프로스트'''(BIFROST)]] | ||
+ | [[파일:박도현.jpg|썸네일|200픽셀|'''[[박도현]]''' ]] | ||
+ | |||
'''바이프로스트'''(BIFROST)는 블록체인 프로토콜과 디앱을 연결하는 [[미들웨어]] 플랫폼이다. 바이프로스트는 블록체인 기술기업 '''[[파이랩]]'''이 추진하는 블록체인 프로젝트이다. [[박도현]], [[이종협]], [[유창현]]이 공동 창업했다. 대표이사는 '''[[박도현]]'''이다. | '''바이프로스트'''(BIFROST)는 블록체인 프로토콜과 디앱을 연결하는 [[미들웨어]] 플랫폼이다. 바이프로스트는 블록체인 기술기업 '''[[파이랩]]'''이 추진하는 블록체인 프로젝트이다. [[박도현]], [[이종협]], [[유창현]]이 공동 창업했다. 대표이사는 '''[[박도현]]'''이다. | ||
11번째 줄: | 15번째 줄: | ||
== 특징 == | == 특징 == | ||
=== 링커&BFC 시스템 === | === 링커&BFC 시스템 === | ||
− | 바이프로스트는 두 개의 기존 블록체인 시스템을 결합하여 분할된 컴포넌트가 단일 디앱처럼 작동하도록 한다. §3에서 듀얼 컴포넌트 디앱을 작성한 후, 바이프로스트 링커는 두 컴포넌트의 상호작용을 담당한다. 링커는 릴레이 | + | 바이프로스트는 두 개의 기존 블록체인 시스템을 결합하여 분할된 컴포넌트가 단일 디앱처럼 작동하도록 한다. §3에서 듀얼 컴포넌트 디앱을 작성한 후, 바이프로스트 링커는 두 컴포넌트의 상호작용을 담당한다. 링커는 릴레이 프락시 역할을 하며, 컴포넌트 간의 공유 정보를 유지하고, 교차 기능 연결을 지원한다. 디앱의 스마트 계약은 일반적인 컴퓨팅 환경과 다른 모델을 가지고 있기 때문에, 상호 운용 방식도 다른 접근 방식을 가지고 있다. 링커스의 하위 목표는 다음과 같다. |
* 투명한 상호작용 : 레시피(Recipe) 언어로 된 디앱의 두 컴포넌트는 추가 작업 없이 링커를 통해 상호작용해야 한다. | * 투명한 상호작용 : 레시피(Recipe) 언어로 된 디앱의 두 컴포넌트는 추가 작업 없이 링커를 통해 상호작용해야 한다. | ||
* 플랫폼 전반의 유니파이트 코인(토큰) 시스템 : 바이프로스트의 디앱은 블록체인의 모든 조합에서 통일된 코인(또는 토큰) 시스템에 의해 지원되어야 한다. | * 플랫폼 전반의 유니파이트 코인(토큰) 시스템 : 바이프로스트의 디앱은 블록체인의 모든 조합에서 통일된 코인(또는 토큰) 시스템에 의해 지원되어야 한다. | ||
33번째 줄: | 37번째 줄: | ||
* 디앱와이즈 링커(DApp-wise Linker) : 각 디앱에 대해 생성되며, 지정된 디앱의 상호작용을 담당한다. 전개 단계에서 바이프로스트는 디앱 분할 프로세스 중에 생성되는 링커 설명을 기반으로 디앱와이즈 링커를 구성한다. | * 디앱와이즈 링커(DApp-wise Linker) : 각 디앱에 대해 생성되며, 지정된 디앱의 상호작용을 담당한다. 전개 단계에서 바이프로스트는 디앱 분할 프로세스 중에 생성되는 링커 설명을 기반으로 디앱와이즈 링커를 구성한다. | ||
* 컨테이너와이즈 링커(Container-wise Linker) : 컨테이너의 디앱와이즈 링커를 제어한다. 디앱와이즈 링커를 생성(복제)하고 제거하는 기능을 한다. 컨테이너와이즈 링커는 디앱와이즈 링커가 프라이빗 컴포넌트의 교차 기능 호출을 중계할 때 퍼블릭 컴포넌트를 실행하기 위해 필요한 퍼블릭 네이티브 코인 잔액을 관리한다. | * 컨테이너와이즈 링커(Container-wise Linker) : 컨테이너의 디앱와이즈 링커를 제어한다. 디앱와이즈 링커를 생성(복제)하고 제거하는 기능을 한다. 컨테이너와이즈 링커는 디앱와이즈 링커가 프라이빗 컴포넌트의 교차 기능 호출을 중계할 때 퍼블릭 컴포넌트를 실행하기 위해 필요한 퍼블릭 네이티브 코인 잔액을 관리한다. | ||
− | 디앱 프라이빗 컴포넌트는 변수와 프라이빗 네이티브 코인의 잔액을 유지한다. 마찬가지로, 디앱 퍼블릭 컴포넌트는 퍼블릭 블록체인과 퍼블릭 네이티브 코인 잔액에 저장된 변수를 보유한다. 링커는 디앱에 대한 변수를 유지하지 않지만 BFC와 퍼블릭 코인 잔액을 가지고 있다. 디앱와이즈 링커의 BFC 잔액(주소)은 수신된 BFC를 프라이빗 컴포넌트의 프라이빗 네이티브 코인으로 변환하는 데 사용된다. 디앱와이즈 링커의 퍼블릭 네이티브 코인 잔액은 교차 기능 통화 중에 새로운 거래를 창출하는 퍼블릭 컴포넌트의 스마트 계약을 실행하는 데 사용된다. 컨테이너와이즈 링커에는 두 가지 유형의 잔액도 있다. 그 자체로는 거래가 발생하지 않지만 잔액은 디앱와이즈 링커의 공금 잔액을 재충전하는 데 사용된다. | + | 디앱 프라이빗 컴포넌트는 변수와 프라이빗 네이티브 코인의 잔액을 유지한다. 마찬가지로, 디앱 퍼블릭 컴포넌트는 퍼블릭 블록체인과 퍼블릭 네이티브 코인 잔액에 저장된 변수를 보유한다. 링커는 디앱에 대한 변수를 유지하지 않지만, BFC와 퍼블릭 코인 잔액을 가지고 있다. 디앱와이즈 링커의 BFC 잔액(주소)은 수신된 BFC를 프라이빗 컴포넌트의 프라이빗 네이티브 코인으로 변환하는 데 사용된다. 디앱와이즈 링커의 퍼블릭 네이티브 코인 잔액은 교차 기능 통화 중에 새로운 거래를 창출하는 퍼블릭 컴포넌트의 스마트 계약을 실행하는 데 사용된다. 컨테이너와이즈 링커에는 두 가지 유형의 잔액도 있다. 그 자체로는 거래가 발생하지 않지만, 잔액은 디앱와이즈 링커의 공금 잔액을 재충전하는 데 사용된다. |
==== 교차 변수의 릴레이 상태 ==== | ==== 교차 변수의 릴레이 상태 ==== | ||
− | 컴포넌트 사이의 교차 변수에 대해 일관된 상태를 유지하기 위해 바이프로스트는 업데이트를 동기화하거나 변수 액세스를 교차 기능 호출로 변환한다. 두 접근방식 모두 레시피 분할 프로세스에 | + | 컴포넌트 사이의 교차 변수에 대해 일관된 상태를 유지하기 위해 바이프로스트는 업데이트를 동기화하거나 변수 액세스를 교차 기능 호출로 변환한다. 두 접근방식 모두 레시피 분할 프로세스에 스탑 코드를 추가하고 디앱와이즈 링커의 개입을 요구한다. 첫 번째 접근방식에서 바이프로스트는 전개 단계에서 두 컴포넌트에 동일한 교차 변수를 배치하고 정의(할당) 문구를 설정자 기능 호출로 대체한다. 설정기 함수는 교차 변수가 과도 상태임을 표시하고 업데이트의 디앱와이즈 링커에 통지한다. 그런 다음 디앱와이즈 링커는 다른 컴포넌트의 세터(Setter) 기능을 호출하여 업데이트를 릴레이한다. 두 번째 접근방식에서, 바이프로스트는 컴포넌트 측면에서 교차 변수를 찾고 다른 컴포넌트의 변수에 대한 모든 접근을 게터 및 세터 기능으로 대체한다. 이 옵션은 여러 기능 간 통화에 대한 상태 업데이트 프로세스를 줄인다. 따라서 교차 변수를 주로 컴포넌트에만 사용할 경우 더 유리하다. |
+ | |||
==== 링커 가용성 ==== | ==== 링커 가용성 ==== | ||
− | 디앱와이즈 링커는 각 블록체인의 계정을 통해 컴포넌트와 상호작용한다. 그러나 디앱와이즈 링커의 작업은 컨테이너에서 수행된다. 바이프로스트에서 여러 개의 컨테이너가 물리적으로 또는 논리적으로 분리된 프라이빗/퍼블릭 블록체인 네트워크를 형성한다. 컨테이너가 생성될 때마다 기존 컨테이너에서 링커 설명을 포함한 모든 정보를 복제한다. 따라서, 링커의 가용성은 블록체인의 공유 계정을 통해 | + | 디앱와이즈 링커는 각 블록체인의 계정을 통해 컴포넌트와 상호작용한다. 그러나 디앱와이즈 링커의 작업은 컨테이너에서 수행된다. 바이프로스트에서 여러 개의 컨테이너가 물리적으로 또는 논리적으로 분리된 프라이빗/퍼블릭 블록체인 네트워크를 형성한다. 컨테이너가 생성될 때마다 기존 컨테이너에서 링커 설명을 포함한 모든 정보를 복제한다. 따라서, 링커의 가용성은 블록체인의 공유 계정을 통해 멀티플렉싱 되는 바이프로스트 컨테이너의 병렬적이고 중복적인 작동에 의해 제공된다. |
+ | |||
==== 여러 기능 간 통화 릴레이 ==== | ==== 여러 기능 간 통화 릴레이 ==== | ||
− | 디앱와이즈 링커는 컴포넌트에서 다른 컴포넌트의 교차 기능으로 호출을 전달한다. 레시피 분할 프로세스에서 바이프로스트는 교차 기능 호출을 링커에게 통화 요청을 통지하는 스텁 코드로 대체한다. 블록체인 시스템이 이더리움과 같은 이벤트 시스템을 지원하는 겨웅, 디앱와이즈 링커는 이벤트에 가입하여 통화 요청을 통지할 수 있다. 그렇지 않으면, 그것은 통화 요청을 포착하기 위해 컴포넌트의 주소에 대한 거래를 감시한다. 디앱와이즈 링커는 컴포넌트 간에 디앱 내 교차 기능 호출을 중계할 수 | + | 디앱와이즈 링커는 컴포넌트에서 다른 컴포넌트의 교차 기능으로 호출을 전달한다. 레시피 분할 프로세스에서 바이프로스트는 교차 기능 호출을 링커에게 통화 요청을 통지하는 스텁 코드로 대체한다. 블록체인 시스템이 이더리움과 같은 이벤트 시스템을 지원하는 겨웅, 디앱와이즈 링커는 이벤트에 가입하여 통화 요청을 통지할 수 있다. 그렇지 않으면, 그것은 통화 요청을 포착하기 위해 컴포넌트의 주소에 대한 거래를 감시한다. 디앱와이즈 링커는 컴포넌트 간에 디앱 내 교차 기능 호출을 중계할 수 있다. 외부 스마트 계약이 교차 기능을 호출하는 디앱 간 호출을 처리하기 위해 바이프로스트는 교차 기능과 동일한 기능 서명을 갖는 더미 기능도 추가한다. 더미 기능은 호출 요청의 링크자에게 통지한다. 디앱 개발자는 바이프로스트에서 교차 기능을 비동기적으로 실행할 수 있다고 가정할 필요가 있다. 그러므로, 레시피 프로그램은 교차 기능 호출의 결과에 대한 콜백 핸들러를 지원한다. |
+ | |||
==== 릴레잉 코인 ==== | ==== 릴레잉 코인 ==== | ||
플랫폼 전체 코인으로 BFC는 바이프로스트 어디에서나 사용할 수 있다. 그러나, 그것은 디앱에서 사용하기에 적합한 형태로 바뀌어야 한다. 자산을 외부 시스템으로 이전할 때, 원자 스왑의 몇 가지 방법을 사용한다. 바이프로스트는 이중 블록체인에서 BFC를 이동시킨다. 단, 바이프로스트의 변환은 간단한 경우로서, 컨테이너 오퍼레이터 지원 디앱와이즈 링커는 자동으로 수신된 모든 BFC를 네이티브 코인으로 변환하여 프라이빗 컴포넌트의 사전 정의된 주소로 전송한다. 따라서 링커와의 해시 타임록 계약을 통해 BFC를 안전하게 전달할 수 있다. 공공 잔액은 디앱에 의해 관리되며 링커 잔액은 거래에 대한 전환이나 지불에만 사용된다. | 플랫폼 전체 코인으로 BFC는 바이프로스트 어디에서나 사용할 수 있다. 그러나, 그것은 디앱에서 사용하기에 적합한 형태로 바뀌어야 한다. 자산을 외부 시스템으로 이전할 때, 원자 스왑의 몇 가지 방법을 사용한다. 바이프로스트는 이중 블록체인에서 BFC를 이동시킨다. 단, 바이프로스트의 변환은 간단한 경우로서, 컨테이너 오퍼레이터 지원 디앱와이즈 링커는 자동으로 수신된 모든 BFC를 네이티브 코인으로 변환하여 프라이빗 컴포넌트의 사전 정의된 주소로 전송한다. 따라서 링커와의 해시 타임록 계약을 통해 BFC를 안전하게 전달할 수 있다. 공공 잔액은 디앱에 의해 관리되며 링커 잔액은 거래에 대한 전환이나 지불에만 사용된다. | ||
==== 링커 디스크립션 ==== | ==== 링커 디스크립션 ==== | ||
링커 디스크립션(Linker Description)은 레시피 분할 프로세스에서 자동으로 생성된다. 링커 설명에는 교차 변수와 교차 함수의 서명이 포함되어 있다. 또한, 최종 교차 변수와 기능에 대한 처리기 기능도 보유한다. 특히 블록체인 간의 서로 다른 피날리티 유형을 관리하기 위해 최종 결과의 조건도 추가된다. 예를 들어, PoW 기반 블록체인의 컴포넌트에 대해, 이 조건은 결과가 확정되기 전에 얼마나 많은 확인을 얻어야 하는지 알려준다. | 링커 디스크립션(Linker Description)은 레시피 분할 프로세스에서 자동으로 생성된다. 링커 설명에는 교차 변수와 교차 함수의 서명이 포함되어 있다. 또한, 최종 교차 변수와 기능에 대한 처리기 기능도 보유한다. 특히 블록체인 간의 서로 다른 피날리티 유형을 관리하기 위해 최종 결과의 조건도 추가된다. 예를 들어, PoW 기반 블록체인의 컴포넌트에 대해, 이 조건은 결과가 확정되기 전에 얼마나 많은 확인을 얻어야 하는지 알려준다. | ||
+ | |||
=== 컨테이너 === | === 컨테이너 === | ||
==== 다중 컨테이너 ==== | ==== 다중 컨테이너 ==== | ||
바이프로스트에서는 이중 프라이빗 및 퍼블릭 블록체인 시스템을 구축하기 위한 다음과 같은 조건을 고려한다. | 바이프로스트에서는 이중 프라이빗 및 퍼블릭 블록체인 시스템을 구축하기 위한 다음과 같은 조건을 고려한다. | ||
* 사설 블록체인 네트워크의 근본적인 보안과 가용성을 확보하기 위해서는 복수의 노드 구성이 필요하다. | * 사설 블록체인 네트워크의 근본적인 보안과 가용성을 확보하기 위해서는 복수의 노드 구성이 필요하다. | ||
− | * 여러 기관이 연방으로서 사설 블록체인 네트워크에 참여하는 | + | * 여러 기관이 연방으로서 사설 블록체인 네트워크에 참여하는 경우, 노드는 연방의 요구사항을 지원할 수 있도록 유연하게 구성되어야 한다. |
* 링커스(Linkers)와 같은 바이프로스트가 제공하는 서비스의 가용성은 블록체인 네트워크의 가용성과 마찬가지로 중요하다. | * 링커스(Linkers)와 같은 바이프로스트가 제공하는 서비스의 가용성은 블록체인 네트워크의 가용성과 마찬가지로 중요하다. | ||
− | 우리는 프라이빗 블록체인 | + | 우리는 프라이빗 블록체인 서브 시스템과 바이프로스트 모듈 모두 이중화에 의한 가용성이 필요하다는 생각에 기초하여 컨테이너 구조를 고안한다. 따라서 프라이빗 블록체인 서브 시스템과 바이프로스트 의 지원 모듈을 컨테이너에 결합한다. 동일한 프라이빗 블록체인 네트워크를 형성하는 바이프로스트 컨테이너는 동일한 작업을 동시에 수행한다. 컨테이너 관리자는 바람직한 가용성과 성능을 유지하기 위해 컨테이너를 통제한다. |
==== 컨테이너 관리자 ==== | ==== 컨테이너 관리자 ==== | ||
바이프로스트가 프라이빗 블록체인 네트워크에 노드를 추가하거나 새로운 독립형 네트워크를 시작하기 위해 새 컨테이너를 만들 때 컨테이너 관리자가 프로세스를 처리한다. 컨테이너의 네트워크 구성을 조정함으로써 컨테이너 관리자는 컨테이너 연방을 만들 수 있으며, 컨테이너 자체는 독립적이다. 격리된 프라이빗 블록체인에 대해 새로운 독립형 컨테이너 관리자를 설정할 수도 있다. | 바이프로스트가 프라이빗 블록체인 네트워크에 노드를 추가하거나 새로운 독립형 네트워크를 시작하기 위해 새 컨테이너를 만들 때 컨테이너 관리자가 프로세스를 처리한다. 컨테이너의 네트워크 구성을 조정함으로써 컨테이너 관리자는 컨테이너 연방을 만들 수 있으며, 컨테이너 자체는 독립적이다. 격리된 프라이빗 블록체인에 대해 새로운 독립형 컨테이너 관리자를 설정할 수도 있다. | ||
− | * ''' | + | * '''복제 별 생성''' |
: 컨테이너를 연방 네트워크에 추가하면 블록체인의 고유한 특성 때문에 프라이빗 블록체인 시스템이 자동으로 복제된다. 컨테이너 관리자는 새로 생성된 컨테이너에 바이프로스트 모듈을 추가로 복제한다. 구체적으로는 기존 컨테이너에서 새로운 컨테이너로 링커 설명과 링커 계정 정보를 복사한다. | : 컨테이너를 연방 네트워크에 추가하면 블록체인의 고유한 특성 때문에 프라이빗 블록체인 시스템이 자동으로 복제된다. 컨테이너 관리자는 새로 생성된 컨테이너에 바이프로스트 모듈을 추가로 복제한다. 구체적으로는 기존 컨테이너에서 새로운 컨테이너로 링커 설명과 링커 계정 정보를 복사한다. | ||
==== 컨테이너/노드 오퍼레이터 ==== | ==== 컨테이너/노드 오퍼레이터 ==== | ||
− | 오퍼레이터는 컨테이너의 서비스 프로바이더로, 디앱 프로바이더/개발자에게 바이프로스트 플랫폼 서비스를 제공한다. 바이프로스트는 각 컨테이너에 대한 자율성을 보장하므로, | + | 오퍼레이터는 컨테이너의 서비스 프로바이더로, 디앱 프로바이더/개발자에게 바이프로스트 플랫폼 서비스를 제공한다. 바이프로스트는 각 컨테이너에 대한 자율성을 보장하므로, 제삼자 컨테이너는 독립적인 방식으로 또는 연방에서 컨테이너 서비스를 실행할 수 있다. 그러므로 컨테이너 운영자는 디앱에 대한 자체 가격 정책을 사용하여 서로 다른 사설 및 퍼블릭 블록체인의 조합을 사용할 수 있다. |
=== 생태계 === | === 생태계 === | ||
66번째 줄: | 74번째 줄: | ||
* 바이프로스트 오퍼레이터들은 바이프로스트 플랫폼 서비스에 대한 비용을 지불하는 디앱 프로바이더들에게 합리적인 운영비를 요구한다. | * 바이프로스트 오퍼레이터들은 바이프로스트 플랫폼 서비스에 대한 비용을 지불하는 디앱 프로바이더들에게 합리적인 운영비를 요구한다. | ||
* 바이프로스트 오퍼레이터는 디앱 프로바이더에게 합의된 서비스 플랜을 제공한다. | * 바이프로스트 오퍼레이터는 디앱 프로바이더에게 합의된 서비스 플랜을 제공한다. | ||
− | * 바이프로스트는 디앱을 위한 최적의 서비스를 보장하기 위해 컨테이너 간에 디앱 공급자의 마이그레이션을 촉진한다. 또한, 오퍼레이터가 | + | * 바이프로스트는 디앱을 위한 최적의 서비스를 보장하기 위해 컨테이너 간에 디앱 공급자의 마이그레이션을 촉진한다. 또한, 오퍼레이터가 경쟁을 통해 서비스를 개발하고 업그레이드하도록 안내한다. |
− | * 바이프로스트 생태계가 성숙함에 따라, 모든 | + | * 바이프로스트 생태계가 성숙함에 따라, 모든 참여자는 규모와 시스템 지속가능성의 경제로부터 이익을 얻는다. |
바이프로스트 생태계를 유지하기 위해 BFC라는 통일된 화폐 시스템을 설계했다. BFC는 다양한 블록체인을 결합하는 바이프로스트의 특성을 고려하여 플랫폼 전체에서 사용할 수 있다. BFC는 디앱 제공자와 운영자 간의 거래 및 참여자를 위한 인센티브 도구로 사용된다. | 바이프로스트 생태계를 유지하기 위해 BFC라는 통일된 화폐 시스템을 설계했다. BFC는 다양한 블록체인을 결합하는 바이프로스트의 특성을 고려하여 플랫폼 전체에서 사용할 수 있다. BFC는 디앱 제공자와 운영자 간의 거래 및 참여자를 위한 인센티브 도구로 사용된다. | ||
+ | |||
==== 메커니즘 ==== | ==== 메커니즘 ==== | ||
− | 바이프로스트 오퍼레이터는 서비스 제공에 대한 디앱 제공업체로부터 수수료를 받기 때문에, 신뢰성 있는 시스템 운영과 공정한 요금에 대한 책임이 있다. 또한, 디앱 프로바이더는 합리적인 요금을 부과하고 고품질 서비스를 제공하는 더 나은 오퍼레이터와 바이프로스트 생태계에서는 BFC를 활용한 정보 비대칭화를 통해 자신의 목표를 가진 모든 참가자가 공정한 | + | 바이프로스트 오퍼레이터는 서비스 제공에 대한 디앱 제공업체로부터 수수료를 받기 때문에, 신뢰성 있는 시스템 운영과 공정한 요금에 대한 책임이 있다. 또한, 디앱 프로바이더는 합리적인 요금을 부과하고 고품질 서비스를 제공하는 더 나은 오퍼레이터와 바이프로스트 생태계에서는 BFC를 활용한 정보 비대칭화를 통해 자신의 목표를 가진 모든 참가자가 공정한 경쟁 시장을 만드는 등의 작업을 수행하려고 시도한다. |
* '''메인 프로세스''' | * '''메인 프로세스''' | ||
− | : 오퍼레이터는 저렴한 요금과 컨테이너의 강도를 | + | : 오퍼레이터는 저렴한 요금과 컨테이너의 강도를 부각해 서비스 계획을 홍보하고, 디앱 프로바이더는 신중한 검토 과정을 거쳐 최적의 오퍼레이터를 선정한다. 각 오퍼레이터에 저장된 BFC의 양은 디앱 공급업체의 선택 현황을 보여준다. 바이프로스트는 오퍼레이터 간의 마이그레이션을 용이하게 하므로, 디앱 프로바이더는 보안 또는 성능 결함이 있을 때마다 다른 오퍼레이터를 선택할 수 있다. 따라서 디앱 제공자의 BFC 보관 정보는 오퍼레이터의 신뢰성에 대한 지표로 간주할 수 있다. 이 정보를 '오퍼레이터 신용'이라고 부른다. BFC는 공개 블록체인에 상주하므로, 오퍼레이터 크레딧의 상태에 대한 정보를 쉽게 확인할 수 있다. 바이프로스트는 이러한 종류의 정보를 쉽게 확인할 수 있는 도구를 제공하여 정보 대칭을 보장한다. |
− | * ''' | + | * '''서비스 계획 개시''' |
: 바이프로스트 오퍼레이터는 서비스 계획 및 내용을 다음과 같이 홍보한다. | : 바이프로스트 오퍼레이터는 서비스 계획 및 내용을 다음과 같이 홍보한다. | ||
− | :* 기본 운영자 정보 : 컨테이너 및 | + | :* 기본 운영자 정보 : 컨테이너 및 결합한 블록체인의 구조를 통해 서비스에 대한 자세한 정보를 제공한다. |
− | :* 가격 기능 : 디앱 사용료 메커니즘을 보여준다. 오퍼레이터는 | + | :* 가격 기능 : 디앱 사용료 메커니즘을 보여준다. 오퍼레이터는 디앱 프로바이더의 사용 빈도에 따라 BFC를 충전하고 보관 시 사전 정의된 BFC 양을 요청할 수 있다. 가격 함수를 정의하기 위해서는 거래의 복잡성, 서비스를 이용하기 위한 BFC의 축적량 등을 매개변수로 삼아야 한다. 오퍼레이터는 정의된 매개변수를 사용하여 가격 결정 기능을 제공해야 한다. |
− | :* 디앱 당 BFC 보관 : 오퍼레이터의 악의적인 행동을 방지하기 위해 오퍼레이터는 컨테이너에 있는 활성 디앱의 수에 비례하여 BFC를 점유해야 한다. 이는 디앱 프로바이더가 오퍼레이터로부터 적절한 서비스를 받지 | + | :* 디앱 당 BFC 보관 : 오퍼레이터의 악의적인 행동을 방지하기 위해 오퍼레이터는 컨테이너에 있는 활성 디앱의 수에 비례하여 BFC를 점유해야 한다. 이는 디앱 프로바이더가 오퍼레이터로부터 적절한 서비스를 받지 못하면 책임 프로세스를 통해 청구할 수 있도록 하는 일종의 보안 보증금이다. 디앱 프로바이더는 오퍼레이터가 판촉하는 BFC의 양을 확인함으로써 얼마나 많은 디앱이 활성화되어 있는지, 그리고 컨테이너에 남아 있는 사용 가능한 슬롯을 확인할 수 있다. |
* '''최상의 오퍼레이터 선택''' | * '''최상의 오퍼레이터 선택''' | ||
: 바이프로스트에 있는 오퍼레이터의 모든 상태는 서비스 플랜과 함께 제공된다. 디앱 프로바이더가 오퍼레이터를 선택할 때 서비스 플랜에 요청된 BFC 금액을 보관해야 하며, 실제 수수료는 가격 책정 기능에 따라 청구된다. 디앱 프로바이더의 선택은 오퍼레이터가 얻은 BFC의 양으로 확인할 수 있다. 외상 시절 오퍼레이터 신용은 컨테이너의 신뢰성에 대한 지표일 수 있다. 따라서 오퍼레이터들은 더 나은 서비스를 위해 더 많은 BFC를 요구할 수 있다. | : 바이프로스트에 있는 오퍼레이터의 모든 상태는 서비스 플랜과 함께 제공된다. 디앱 프로바이더가 오퍼레이터를 선택할 때 서비스 플랜에 요청된 BFC 금액을 보관해야 하며, 실제 수수료는 가격 책정 기능에 따라 청구된다. 디앱 프로바이더의 선택은 오퍼레이터가 얻은 BFC의 양으로 확인할 수 있다. 외상 시절 오퍼레이터 신용은 컨테이너의 신뢰성에 대한 지표일 수 있다. 따라서 오퍼레이터들은 더 나은 서비스를 위해 더 많은 BFC를 요구할 수 있다. | ||
* '''처벌과 비난''' | * '''처벌과 비난''' | ||
− | : 오퍼레이터는 디앱 프로바이더의 책임 절차를 통해 부적절한 서비스 운영 시 벌금을 부과할 수 있다. 오퍼레이터는 서비스 계획의 매개변수에 따라 서비스 수준 계약에 서명한다. 디앱 프로바이더가 계약을 위반할 경우, 해당 디앱에 대한 보관된 BFC는 스마트 계약에 의해 자동으로 상환된다. 보완적 조치로서, 오퍼레이터 위원회의 투표에 근거한 처벌을 고려할 수 있다. 모든 오퍼레이터는 자동으로 오퍼레이터 위원회의 구성원이 되며, 오퍼레이터의 신용에 비례하는 의결권을 갖는다. 디앱 제공자가 BFC를 보관하여 오퍼레이터 위원회에 특정 오퍼레이터에 대한 책임 보고서를 작성하는 경우, | + | : 오퍼레이터는 디앱 프로바이더의 책임 절차를 통해 부적절한 서비스 운영 시 벌금을 부과할 수 있다. 오퍼레이터는 서비스 계획의 매개변수에 따라 서비스 수준 계약에 서명한다. 디앱 프로바이더가 계약을 위반할 경우, 해당 디앱에 대한 보관된 BFC는 스마트 계약에 의해 자동으로 상환된다. 보완적 조치로서, 오퍼레이터 위원회의 투표에 근거한 처벌을 고려할 수 있다. 모든 오퍼레이터는 자동으로 오퍼레이터 위원회의 구성원이 되며, 오퍼레이터의 신용에 비례하는 의결권을 갖는다. 디앱 제공자가 BFC를 보관하여 오퍼레이터 위원회에 특정 오퍼레이터에 대한 책임 보고서를 작성하는 경우, 오퍼레이터 위원회의 구성원은 정해진 기간 내에 이를 수용하거나 거부해야 한다. 책임보고서가 받아들여질 경우, 해당 디앱에 대한 보관된 BFC는 변제된다. |
+ | |||
==== 부트스트래핑 ==== | ==== 부트스트래핑 ==== | ||
바이프로스트 생태계는 네트워크 효과를 가지고 있다. 즉, 참가자가 증가함에 따라 바이프로스트 플랫폼이 안정되고 효율적인 상태가 된다. 컨테이너 수와 제공 서비스의 품질에 대한 비례적 효과를 고려하면, 생태계 효과는 네트워크 효과뿐만 아니라 지원되는 메인넷 프로토콜의 유형과 다양성 측면에서 명백하다. 또한, 시장이 커질수록 디앱 프로바이더와 오퍼레이터가 함께 번창하는 양면 시장이다. 그러므로 네트워크 효과를 촉발하기 위한 초기 노력이 필요하다. 바이프로스트는 단계별 접근법을 다음과 같이 설계했다. | 바이프로스트 생태계는 네트워크 효과를 가지고 있다. 즉, 참가자가 증가함에 따라 바이프로스트 플랫폼이 안정되고 효율적인 상태가 된다. 컨테이너 수와 제공 서비스의 품질에 대한 비례적 효과를 고려하면, 생태계 효과는 네트워크 효과뿐만 아니라 지원되는 메인넷 프로토콜의 유형과 다양성 측면에서 명백하다. 또한, 시장이 커질수록 디앱 프로바이더와 오퍼레이터가 함께 번창하는 양면 시장이다. 그러므로 네트워크 효과를 촉발하기 위한 초기 노력이 필요하다. 바이프로스트는 단계별 접근법을 다음과 같이 설계했다. | ||
96번째 줄: | 106번째 줄: | ||
* 2020년 3분기 : 바이프로스트 1.0 메인넷 배포 | * 2020년 3분기 : 바이프로스트 1.0 메인넷 배포 | ||
* 2021년 1분기 : 테스트넷 2.0 출시 | * 2021년 1분기 : 테스트넷 2.0 출시 | ||
− | * | + | * 2021년 2분기 : 바이프로스트 2.0 메인넷 배포 |
{{각주}} | {{각주}} | ||
== 참고자료 == | == 참고자료 == | ||
− | * 바이프로스트 공식 홈페이지 - https://thebifrost.io/#/ | + | * 바이프로스트 공식 홈페이지 - https://thebifrost.io/#/\ |
+ | * 바이프로스트 공지 채널 - https://t.me/Bifrostnotice | ||
* 이종협 로켓펀치 - https://www.rocketpunch.com/@jonghyup | * 이종협 로켓펀치 - https://www.rocketpunch.com/@jonghyup | ||
* 유창현 로켓펀치 - https://www.rocketpunch.com/@changhyun | * 유창현 로켓펀치 - https://www.rocketpunch.com/@changhyun | ||
113번째 줄: | 124번째 줄: | ||
* [[유창현]] | * [[유창현]] | ||
− | |||
{{블록체인 솔루션|검토 필요}} | {{블록체인 솔루션|검토 필요}} |
2022년 1월 10일 (월) 13:34 기준 최신판
바이프로스트(BIFROST)는 블록체인 프로토콜과 디앱을 연결하는 미들웨어 플랫폼이다. 바이프로스트는 블록체인 기술기업 파이랩이 추진하는 블록체인 프로젝트이다. 박도현, 이종협, 유창현이 공동 창업했다. 대표이사는 박도현이다.
목차
개요[편집]
현재 가장 많은 디앱을 보유한 블록체인 플랫폼은 이더리움이다. 전체 디앱 중 63%가 넘는다. 하지만 대중적인 디앱은 없다. 여러 이유가 있지만, 느린 속도와 높은 비용이 주요 원인으로 꼽힌다. 한 번의 행동을 할 때마다 몇 초에서 몇 분을 기다려야 한다. 게다가 트랜잭션이 발생할 때마다 비용을 지불해야 한다. 횟수가 쌓이면 큰 부담이다. 이래서는 디앱을 쓸 수가 없어, 이러한 문제를 해결하기 위해 나온 프로젝트이다. 바이프로스트는 퍼블릭 블록체인과 프라이빗 블록체인, 디앱을 연결하는 솔루션을 제시했다. 개발 코드를 퍼블릭 블록체인이 필요한 부분과 프라이빗 블록체인으로 구현해도 괜찮은 부분으로 나눈 것이다. 보안이나 데이터 신뢰성을 확보하기 위해 필요한 부분만 퍼블릭 블록체인에 기록하고 기본적인 데이터 처리는 프라이빗 블록체인을 통해 해결하도록 한다. 이를 통해 수수료 부담을 줄이고 속도는 높일 수 있다.[1]
주요 인물[편집]
- 박도현 : 바이프로스트의 공동창업자 겸 대표이사이다. 박도현은 교수 출신 대표이사로 이종협 대표와 의기투합해 파이랩을 설립했다. 법인 설립 직후 다양한 국내외 기관들과 협업을 진행하는 등 기술을 검증받았다.
- 이종협 : 바이프로스트의 공동창업자 겸 최고기술책임자이다. 파이랩(PiLab) 공동창업자이자 최고기술책임자이기도 하며, 가천대학교의 부교수 자리도 맡고 있다. 주로 블록체인의 스마트 컨트랙트 공학과 소프트웨어 보안 분야의 연구 및 개발을 진행하고 있다.
- 유창현 : 바이프로스트의 공동창업자 겸 최고운영책임자이다.
특징[편집]
링커&BFC 시스템[편집]
바이프로스트는 두 개의 기존 블록체인 시스템을 결합하여 분할된 컴포넌트가 단일 디앱처럼 작동하도록 한다. §3에서 듀얼 컴포넌트 디앱을 작성한 후, 바이프로스트 링커는 두 컴포넌트의 상호작용을 담당한다. 링커는 릴레이 프락시 역할을 하며, 컴포넌트 간의 공유 정보를 유지하고, 교차 기능 연결을 지원한다. 디앱의 스마트 계약은 일반적인 컴퓨팅 환경과 다른 모델을 가지고 있기 때문에, 상호 운용 방식도 다른 접근 방식을 가지고 있다. 링커스의 하위 목표는 다음과 같다.
- 투명한 상호작용 : 레시피(Recipe) 언어로 된 디앱의 두 컴포넌트는 추가 작업 없이 링커를 통해 상호작용해야 한다.
- 플랫폼 전반의 유니파이트 코인(토큰) 시스템 : 바이프로스트의 디앱은 블록체인의 모든 조합에서 통일된 코인(또는 토큰) 시스템에 의해 지원되어야 한다.
- 조정 가능한 최종성 : 합의 메커니즘은 블록체인 시스템의 최종성에 대한 특성을 결정한다. 예를 들어, PoW 기반 블록체인 시스템은 확률론적 유한성을 가지며, PoS 기반 블록체인 시스템은 일반적으로 순간적 유한성을 갖는다. 따라서 바이프로스트가 서로 다른 유형의 두 블록체인 시스템을 결합할 때, 링커는 다른 최종화 조건의 업데이트를 관리해야 한다. 하위 목표를 달성하기 위해 플랫폼 전체의 토큰 시스템인 BFC를 도입하고, 디앱의 데이터와 제어 부분에 대한 바이프로스트 링커스의 상호 운용 메커니즘을 제시한다. 링커 가용성을 위해 바이프로스트는 병렬로 실행되는 링커의 논리적, 물리적 이중화를 제공한다. 또한, 바이프로스트는 링커 설명의 최종성 옵션에 기초한 조정 가능한 최종성을 지원하는 데 도움이 된다.
링커스를 통한 상호작용[편집]
- BFC 운영
- BFC는 토큰 시스템으로 퍼블릭 블록체인에 상주한다. 따라서 디앱의 퍼블릭 컴포넌트는 BFC를 직접 사용할 수 있다. 프라이빗 컴포넌트의 경우, BFC는 링커스에 의해 블록체인 전용 네트워크의 네이티브 코인으로 변환된다. 링커는 사설망에서 네이티브 코인 사이의 퍼블릭 블록체인에서 BFC의 1대1 교환을 수행한다. 따라서 디앱의 프라이빗 컴포넌트는 BFC에서 변환된 기본 코인을 사용하여 실행 비용을 지불하거나 코인 기반 서비스를 구축할 수 있다. 즉, 퍼블릭 블록체인 시스템의 관점에서 디앱의 퍼블릭 공개 컴포넌트와 링커스는 이들 중 BFC를 이전한다. 바이프로스트 컨테이너 내부의 프라이빗 블록체인 시스템의 관점에서 BFC는 토종 코인으로 표현된다. BFC는 바이프로스트의 플랫폼 전체 토큰으로 바이프로스트의 모든 디앱이 이를 사용할 수 있다. 그러나, 디앱은 공공 블록체인 시스템에 자체적인 토큰 시스템을 가질 수 있다. 디앱은 퍼블릭 컴포넌트를 통해 토큰 시스템의 모든 기능을 사용할 수 있다.
- 상태
- 바이프로스트에서 링커는 다음 상태를 처리한다.
- 교차변수 : 스마트 계약의 영구 저장은 블록체인 시스템의 저수준 코드에서 다르게 구현된다. 단, 솔리디티(Solidity)와 같은 고도의 프로그래밍 언어에서는 변수로 추상화된다. 따라서, 링커는 컴포넌트들 사이의 모든 교차 상태 정보를 변수로 식별한다.
- 프라이빗 네이티브 코인 잔액 : 프라이빗 네이티브 코인의 프라이빗 컴포넌트 잔액(프라이빗 블록체인 시스템의 네이티브 코인)
- 퍼블릭 네이티브 코인 잔액 : 퍼블릭 네이티브 코인의 퍼블릭 컴포넌트 잔액
- 컴포넌트 주소 : 배포된 블록체인 시스템의 디앱 컴포넌트 주소
- BFC 잔액 : BFC 토큰 시스템은 퍼블릭 블록체인에 위치하므로, 디앱의 퍼블릭 컴포넌트에 대한 BFC 잔액은 디앱의 퍼블릭 컴포넌트에 대해 정의된다.
- 행동
- 링커는 컴포넌트 간에 다음과 같은 작용을 연결한다.
- 교차 기능 통화 : 어떤 컴포넌트의 함수가 다른 컴포넌트의 다른 함수를 호출할 때, 링커는 컴포넌트 간에 함수 호출을 중계한다.
- 크로스 상태 업데이트 : 교차 변수의 변경이 발생하면 링커는 다른 컴포넌트의 변수를 업데이트한다.
디앱 및 컨테이너 와이즈 링커[편집]
링커는 두 가지 유형으로 분류할 수 있다.
- 디앱와이즈 링커(DApp-wise Linker) : 각 디앱에 대해 생성되며, 지정된 디앱의 상호작용을 담당한다. 전개 단계에서 바이프로스트는 디앱 분할 프로세스 중에 생성되는 링커 설명을 기반으로 디앱와이즈 링커를 구성한다.
- 컨테이너와이즈 링커(Container-wise Linker) : 컨테이너의 디앱와이즈 링커를 제어한다. 디앱와이즈 링커를 생성(복제)하고 제거하는 기능을 한다. 컨테이너와이즈 링커는 디앱와이즈 링커가 프라이빗 컴포넌트의 교차 기능 호출을 중계할 때 퍼블릭 컴포넌트를 실행하기 위해 필요한 퍼블릭 네이티브 코인 잔액을 관리한다.
디앱 프라이빗 컴포넌트는 변수와 프라이빗 네이티브 코인의 잔액을 유지한다. 마찬가지로, 디앱 퍼블릭 컴포넌트는 퍼블릭 블록체인과 퍼블릭 네이티브 코인 잔액에 저장된 변수를 보유한다. 링커는 디앱에 대한 변수를 유지하지 않지만, BFC와 퍼블릭 코인 잔액을 가지고 있다. 디앱와이즈 링커의 BFC 잔액(주소)은 수신된 BFC를 프라이빗 컴포넌트의 프라이빗 네이티브 코인으로 변환하는 데 사용된다. 디앱와이즈 링커의 퍼블릭 네이티브 코인 잔액은 교차 기능 통화 중에 새로운 거래를 창출하는 퍼블릭 컴포넌트의 스마트 계약을 실행하는 데 사용된다. 컨테이너와이즈 링커에는 두 가지 유형의 잔액도 있다. 그 자체로는 거래가 발생하지 않지만, 잔액은 디앱와이즈 링커의 공금 잔액을 재충전하는 데 사용된다.
교차 변수의 릴레이 상태[편집]
컴포넌트 사이의 교차 변수에 대해 일관된 상태를 유지하기 위해 바이프로스트는 업데이트를 동기화하거나 변수 액세스를 교차 기능 호출로 변환한다. 두 접근방식 모두 레시피 분할 프로세스에 스탑 코드를 추가하고 디앱와이즈 링커의 개입을 요구한다. 첫 번째 접근방식에서 바이프로스트는 전개 단계에서 두 컴포넌트에 동일한 교차 변수를 배치하고 정의(할당) 문구를 설정자 기능 호출로 대체한다. 설정기 함수는 교차 변수가 과도 상태임을 표시하고 업데이트의 디앱와이즈 링커에 통지한다. 그런 다음 디앱와이즈 링커는 다른 컴포넌트의 세터(Setter) 기능을 호출하여 업데이트를 릴레이한다. 두 번째 접근방식에서, 바이프로스트는 컴포넌트 측면에서 교차 변수를 찾고 다른 컴포넌트의 변수에 대한 모든 접근을 게터 및 세터 기능으로 대체한다. 이 옵션은 여러 기능 간 통화에 대한 상태 업데이트 프로세스를 줄인다. 따라서 교차 변수를 주로 컴포넌트에만 사용할 경우 더 유리하다.
링커 가용성[편집]
디앱와이즈 링커는 각 블록체인의 계정을 통해 컴포넌트와 상호작용한다. 그러나 디앱와이즈 링커의 작업은 컨테이너에서 수행된다. 바이프로스트에서 여러 개의 컨테이너가 물리적으로 또는 논리적으로 분리된 프라이빗/퍼블릭 블록체인 네트워크를 형성한다. 컨테이너가 생성될 때마다 기존 컨테이너에서 링커 설명을 포함한 모든 정보를 복제한다. 따라서, 링커의 가용성은 블록체인의 공유 계정을 통해 멀티플렉싱 되는 바이프로스트 컨테이너의 병렬적이고 중복적인 작동에 의해 제공된다.
여러 기능 간 통화 릴레이[편집]
디앱와이즈 링커는 컴포넌트에서 다른 컴포넌트의 교차 기능으로 호출을 전달한다. 레시피 분할 프로세스에서 바이프로스트는 교차 기능 호출을 링커에게 통화 요청을 통지하는 스텁 코드로 대체한다. 블록체인 시스템이 이더리움과 같은 이벤트 시스템을 지원하는 겨웅, 디앱와이즈 링커는 이벤트에 가입하여 통화 요청을 통지할 수 있다. 그렇지 않으면, 그것은 통화 요청을 포착하기 위해 컴포넌트의 주소에 대한 거래를 감시한다. 디앱와이즈 링커는 컴포넌트 간에 디앱 내 교차 기능 호출을 중계할 수 있다. 외부 스마트 계약이 교차 기능을 호출하는 디앱 간 호출을 처리하기 위해 바이프로스트는 교차 기능과 동일한 기능 서명을 갖는 더미 기능도 추가한다. 더미 기능은 호출 요청의 링크자에게 통지한다. 디앱 개발자는 바이프로스트에서 교차 기능을 비동기적으로 실행할 수 있다고 가정할 필요가 있다. 그러므로, 레시피 프로그램은 교차 기능 호출의 결과에 대한 콜백 핸들러를 지원한다.
릴레잉 코인[편집]
플랫폼 전체 코인으로 BFC는 바이프로스트 어디에서나 사용할 수 있다. 그러나, 그것은 디앱에서 사용하기에 적합한 형태로 바뀌어야 한다. 자산을 외부 시스템으로 이전할 때, 원자 스왑의 몇 가지 방법을 사용한다. 바이프로스트는 이중 블록체인에서 BFC를 이동시킨다. 단, 바이프로스트의 변환은 간단한 경우로서, 컨테이너 오퍼레이터 지원 디앱와이즈 링커는 자동으로 수신된 모든 BFC를 네이티브 코인으로 변환하여 프라이빗 컴포넌트의 사전 정의된 주소로 전송한다. 따라서 링커와의 해시 타임록 계약을 통해 BFC를 안전하게 전달할 수 있다. 공공 잔액은 디앱에 의해 관리되며 링커 잔액은 거래에 대한 전환이나 지불에만 사용된다.
링커 디스크립션[편집]
링커 디스크립션(Linker Description)은 레시피 분할 프로세스에서 자동으로 생성된다. 링커 설명에는 교차 변수와 교차 함수의 서명이 포함되어 있다. 또한, 최종 교차 변수와 기능에 대한 처리기 기능도 보유한다. 특히 블록체인 간의 서로 다른 피날리티 유형을 관리하기 위해 최종 결과의 조건도 추가된다. 예를 들어, PoW 기반 블록체인의 컴포넌트에 대해, 이 조건은 결과가 확정되기 전에 얼마나 많은 확인을 얻어야 하는지 알려준다.
컨테이너[편집]
다중 컨테이너[편집]
바이프로스트에서는 이중 프라이빗 및 퍼블릭 블록체인 시스템을 구축하기 위한 다음과 같은 조건을 고려한다.
- 사설 블록체인 네트워크의 근본적인 보안과 가용성을 확보하기 위해서는 복수의 노드 구성이 필요하다.
- 여러 기관이 연방으로서 사설 블록체인 네트워크에 참여하는 경우, 노드는 연방의 요구사항을 지원할 수 있도록 유연하게 구성되어야 한다.
- 링커스(Linkers)와 같은 바이프로스트가 제공하는 서비스의 가용성은 블록체인 네트워크의 가용성과 마찬가지로 중요하다.
우리는 프라이빗 블록체인 서브 시스템과 바이프로스트 모듈 모두 이중화에 의한 가용성이 필요하다는 생각에 기초하여 컨테이너 구조를 고안한다. 따라서 프라이빗 블록체인 서브 시스템과 바이프로스트 의 지원 모듈을 컨테이너에 결합한다. 동일한 프라이빗 블록체인 네트워크를 형성하는 바이프로스트 컨테이너는 동일한 작업을 동시에 수행한다. 컨테이너 관리자는 바람직한 가용성과 성능을 유지하기 위해 컨테이너를 통제한다.
컨테이너 관리자[편집]
바이프로스트가 프라이빗 블록체인 네트워크에 노드를 추가하거나 새로운 독립형 네트워크를 시작하기 위해 새 컨테이너를 만들 때 컨테이너 관리자가 프로세스를 처리한다. 컨테이너의 네트워크 구성을 조정함으로써 컨테이너 관리자는 컨테이너 연방을 만들 수 있으며, 컨테이너 자체는 독립적이다. 격리된 프라이빗 블록체인에 대해 새로운 독립형 컨테이너 관리자를 설정할 수도 있다.
- 복제 별 생성
- 컨테이너를 연방 네트워크에 추가하면 블록체인의 고유한 특성 때문에 프라이빗 블록체인 시스템이 자동으로 복제된다. 컨테이너 관리자는 새로 생성된 컨테이너에 바이프로스트 모듈을 추가로 복제한다. 구체적으로는 기존 컨테이너에서 새로운 컨테이너로 링커 설명과 링커 계정 정보를 복사한다.
컨테이너/노드 오퍼레이터[편집]
오퍼레이터는 컨테이너의 서비스 프로바이더로, 디앱 프로바이더/개발자에게 바이프로스트 플랫폼 서비스를 제공한다. 바이프로스트는 각 컨테이너에 대한 자율성을 보장하므로, 제삼자 컨테이너는 독립적인 방식으로 또는 연방에서 컨테이너 서비스를 실행할 수 있다. 그러므로 컨테이너 운영자는 디앱에 대한 자체 가격 정책을 사용하여 서로 다른 사설 및 퍼블릭 블록체인의 조합을 사용할 수 있다.
생태계[편집]
생태계 개요[편집]
바이프로스트 플랫폼에서 새로운 디앱 서비스를 늘리고 다양화하기 위해서는 참가자들이 서로 협력하는 생태계가 필요하다. 바이프로스트는 참가자들 사이의 분산된 지배구조와 잘 정의된 인센티브 시스템을 갖춘 지속 가능한 디앱 생태계를 구축하는 것을 목표로 한다. 바이프로스트의 주요 참가자는 다음과 같이 정의할 수 있다.
- 오퍼레이터 : 특정 퍼블릭 블록체인에 대해 하나 이상의 컨테이너가 포함하는 하나 또는 하나의 프라이빗 블록체인 연합체를 운영하고 디앱 제공 업체에 서비스 제공
- 프로바이더 : 바이프로스트 오퍼레이터를 선택해 자체 디앱 실행
바이프로스트의 생태계 목표는 다음과 같다.
- 바이프로스트 오퍼레이터들은 바이프로스트 플랫폼 서비스에 대한 비용을 지불하는 디앱 프로바이더들에게 합리적인 운영비를 요구한다.
- 바이프로스트 오퍼레이터는 디앱 프로바이더에게 합의된 서비스 플랜을 제공한다.
- 바이프로스트는 디앱을 위한 최적의 서비스를 보장하기 위해 컨테이너 간에 디앱 공급자의 마이그레이션을 촉진한다. 또한, 오퍼레이터가 경쟁을 통해 서비스를 개발하고 업그레이드하도록 안내한다.
- 바이프로스트 생태계가 성숙함에 따라, 모든 참여자는 규모와 시스템 지속가능성의 경제로부터 이익을 얻는다.
바이프로스트 생태계를 유지하기 위해 BFC라는 통일된 화폐 시스템을 설계했다. BFC는 다양한 블록체인을 결합하는 바이프로스트의 특성을 고려하여 플랫폼 전체에서 사용할 수 있다. BFC는 디앱 제공자와 운영자 간의 거래 및 참여자를 위한 인센티브 도구로 사용된다.
메커니즘[편집]
바이프로스트 오퍼레이터는 서비스 제공에 대한 디앱 제공업체로부터 수수료를 받기 때문에, 신뢰성 있는 시스템 운영과 공정한 요금에 대한 책임이 있다. 또한, 디앱 프로바이더는 합리적인 요금을 부과하고 고품질 서비스를 제공하는 더 나은 오퍼레이터와 바이프로스트 생태계에서는 BFC를 활용한 정보 비대칭화를 통해 자신의 목표를 가진 모든 참가자가 공정한 경쟁 시장을 만드는 등의 작업을 수행하려고 시도한다.
- 메인 프로세스
- 오퍼레이터는 저렴한 요금과 컨테이너의 강도를 부각해 서비스 계획을 홍보하고, 디앱 프로바이더는 신중한 검토 과정을 거쳐 최적의 오퍼레이터를 선정한다. 각 오퍼레이터에 저장된 BFC의 양은 디앱 공급업체의 선택 현황을 보여준다. 바이프로스트는 오퍼레이터 간의 마이그레이션을 용이하게 하므로, 디앱 프로바이더는 보안 또는 성능 결함이 있을 때마다 다른 오퍼레이터를 선택할 수 있다. 따라서 디앱 제공자의 BFC 보관 정보는 오퍼레이터의 신뢰성에 대한 지표로 간주할 수 있다. 이 정보를 '오퍼레이터 신용'이라고 부른다. BFC는 공개 블록체인에 상주하므로, 오퍼레이터 크레딧의 상태에 대한 정보를 쉽게 확인할 수 있다. 바이프로스트는 이러한 종류의 정보를 쉽게 확인할 수 있는 도구를 제공하여 정보 대칭을 보장한다.
- 서비스 계획 개시
- 바이프로스트 오퍼레이터는 서비스 계획 및 내용을 다음과 같이 홍보한다.
- 기본 운영자 정보 : 컨테이너 및 결합한 블록체인의 구조를 통해 서비스에 대한 자세한 정보를 제공한다.
- 가격 기능 : 디앱 사용료 메커니즘을 보여준다. 오퍼레이터는 디앱 프로바이더의 사용 빈도에 따라 BFC를 충전하고 보관 시 사전 정의된 BFC 양을 요청할 수 있다. 가격 함수를 정의하기 위해서는 거래의 복잡성, 서비스를 이용하기 위한 BFC의 축적량 등을 매개변수로 삼아야 한다. 오퍼레이터는 정의된 매개변수를 사용하여 가격 결정 기능을 제공해야 한다.
- 디앱 당 BFC 보관 : 오퍼레이터의 악의적인 행동을 방지하기 위해 오퍼레이터는 컨테이너에 있는 활성 디앱의 수에 비례하여 BFC를 점유해야 한다. 이는 디앱 프로바이더가 오퍼레이터로부터 적절한 서비스를 받지 못하면 책임 프로세스를 통해 청구할 수 있도록 하는 일종의 보안 보증금이다. 디앱 프로바이더는 오퍼레이터가 판촉하는 BFC의 양을 확인함으로써 얼마나 많은 디앱이 활성화되어 있는지, 그리고 컨테이너에 남아 있는 사용 가능한 슬롯을 확인할 수 있다.
- 최상의 오퍼레이터 선택
- 바이프로스트에 있는 오퍼레이터의 모든 상태는 서비스 플랜과 함께 제공된다. 디앱 프로바이더가 오퍼레이터를 선택할 때 서비스 플랜에 요청된 BFC 금액을 보관해야 하며, 실제 수수료는 가격 책정 기능에 따라 청구된다. 디앱 프로바이더의 선택은 오퍼레이터가 얻은 BFC의 양으로 확인할 수 있다. 외상 시절 오퍼레이터 신용은 컨테이너의 신뢰성에 대한 지표일 수 있다. 따라서 오퍼레이터들은 더 나은 서비스를 위해 더 많은 BFC를 요구할 수 있다.
- 처벌과 비난
- 오퍼레이터는 디앱 프로바이더의 책임 절차를 통해 부적절한 서비스 운영 시 벌금을 부과할 수 있다. 오퍼레이터는 서비스 계획의 매개변수에 따라 서비스 수준 계약에 서명한다. 디앱 프로바이더가 계약을 위반할 경우, 해당 디앱에 대한 보관된 BFC는 스마트 계약에 의해 자동으로 상환된다. 보완적 조치로서, 오퍼레이터 위원회의 투표에 근거한 처벌을 고려할 수 있다. 모든 오퍼레이터는 자동으로 오퍼레이터 위원회의 구성원이 되며, 오퍼레이터의 신용에 비례하는 의결권을 갖는다. 디앱 제공자가 BFC를 보관하여 오퍼레이터 위원회에 특정 오퍼레이터에 대한 책임 보고서를 작성하는 경우, 오퍼레이터 위원회의 구성원은 정해진 기간 내에 이를 수용하거나 거부해야 한다. 책임보고서가 받아들여질 경우, 해당 디앱에 대한 보관된 BFC는 변제된다.
부트스트래핑[편집]
바이프로스트 생태계는 네트워크 효과를 가지고 있다. 즉, 참가자가 증가함에 따라 바이프로스트 플랫폼이 안정되고 효율적인 상태가 된다. 컨테이너 수와 제공 서비스의 품질에 대한 비례적 효과를 고려하면, 생태계 효과는 네트워크 효과뿐만 아니라 지원되는 메인넷 프로토콜의 유형과 다양성 측면에서 명백하다. 또한, 시장이 커질수록 디앱 프로바이더와 오퍼레이터가 함께 번창하는 양면 시장이다. 그러므로 네트워크 효과를 촉발하기 위한 초기 노력이 필요하다. 바이프로스트는 단계별 접근법을 다음과 같이 설계했다.
- 초기 단계에서 바이프로스트가 컨테이너 작동의 선두에서 컨테이너 운영의 기반이 될 수 있는 가격 설정 기능과 초기 모델에 대해 지원을 한다.
- 바이프로스트 파트너 조직은 추가 오퍼레이터로 컨테이너를 운영하여 오퍼레이터 수를 확대하기 위해 다양한 프로모션을 관리한다.
- 바이프로스트 생태계가 성숙함에 따라, 그들은 자유 경쟁으로 시장 경제하에서 더 나은 서비스를 보장하기 위해 오퍼레이터 자격을 개방한다.
바이프로스트의 토큰인 BFC는 처음에는 일정 금액으로 발행되며, 후속 채굴은 없다. 디앱이 바이프로스트의 목적에 끌리고 생태계가 구축되면 초기 단계 제고에 필요한 BFC 외에 컨테이너 운영자에게 제공되는 수수료형 BFC에 대한 수요도 증가할 것이다. 바이프로스트의 네트워크 효과는 전체적인 플랫폼 안정성과 서비스 제공의 개선을 보장하고 BFC의 가치를 보장한다.
로드맵[편집]
- 2019년 1분기 : 바이프로스트 PoC
- 2019년 2분기 : 디앱 얼라이언스
- 2019년 4분기 : 바이프로스트의 디앱
- 2020년 1분기 : 테스트넷 출시
- 2020년 3분기 : 바이프로스트 1.0 메인넷 배포
- 2021년 1분기 : 테스트넷 2.0 출시
- 2021년 2분기 : 바이프로스트 2.0 메인넷 배포
각주[편집]
- ↑ 김도윤 기자, 〈바이프로스트 “세계적 기술력으로 디앱 구동 비용 낮추고 속도 높인다”〉, 《매일경제》, 2019-07-15
참고자료[편집]
- 바이프로스트 공식 홈페이지 - https://thebifrost.io/#/\
- 바이프로스트 공지 채널 - https://t.me/Bifrostnotice
- 이종협 로켓펀치 - https://www.rocketpunch.com/@jonghyup
- 유창현 로켓펀치 - https://www.rocketpunch.com/@changhyun
- 김대영 기자, 〈박도현 파이랩 대표 "IEO로 영토확장 노크"〉, 《더벨》, 2019-05-08
- 김도윤 기자, 〈바이프로스트 “세계적 기술력으로 디앱 구동 비용 낮추고 속도 높인다”〉, 《매일경제》, 2019-07-15
같이 보기[편집]
|