블록체인 vs. 분산 원장 기술 Part2: 지배 역학 (3)
블록체인 vs. 분산 원장 기술 Part2: 지배 역학
이더리움(Ethereum), 하이퍼레져 페브릭(Hyperledger Fabric), R3 코다(Rc Corda)에 대한 아키텍쳐 고려사항
원문 Blockchain vs. Distributed Ledger Technologies Part 2: Governing Dynamics
번역 @partykim
기획 @krexchange
by 브랜트 수(Breant xu)-ConsenSys, 프로토콜 비지니스 설계자, 벌컨 리서치 (Vulkan Research) CRO : 덴드로비움 프로젝트(Dendrobium Project)
컨센시스 미디어(ConsenSys Media)의 블록체인 vs 분산화 원장 기술 Part1을 읽으세요.
Part2 연재
II. 트랜잭션(Transactions)
이더리움은 글로벌 트랜잭션 상태가 블록에 저장되는 트랜잭션 기반의 머신 생태계 시스템입니다. 트랜잭션이 발생하면, 상태 변환은 시스템의 새로운 상태가 됩니다. 이 프로세스는 패트리샤 머클트리 데이터 구조 환경내에서 상태로 이어지는 트랜잭션 뿐만아니라 상태를 상징하는 시스템 완전성을 위해 빠른 데이터베이스 트래잭션 처리 속도를 희생합니다.
여기에는 두가지의 유형의 트랜잭션이 있습니다.
- 메세지 콜(Message calls.)
- 컨트랙트 작성(Contraction Creations.)
트랜잭션에는 내부 가치전달 메커니즘이 포함됩니다. 컨트랙트 계정에서 가치의 이동은 상태 변환을 초래합니다. 이 시스템은 트랜잭션 실행 이벤트 사이에 존재하는 스마트 계약 간의 가치 전달을 기반으로 하기 때문에, 다양한 구획화된 상태를 사용하여 높은 충실도의 비즈니스 로직과 계약을 인스턴스화합니다.
논평(Commentray)
이더리움의 주요 특징은 트랜잭션이 이더리움의 블록 체인 환경 내에서 프로세스의 개별 단위로 사용되며, 그리고 이러한 구성을 통해 시스템 내의 트랜잭션 상태를 영구적으로 기록한다는 것입니다. 이더리움은 기존의 분산 원장 데이터베이스 관련 기술적 능력 뿐만아니라 요구되는 신뢰를 디지털 가치와 결합(Coupling)을 모두 가능하게 합니다. 이더리움의 블록체인으로 부터 파생된 기술은 트랜잭션과 비지니스 로직을 블록체인의 블록에 그룹화 할 수 있습니다. 이 설정에서 파생 된 비즈니스 기능은 다음과 같습니다.
- 진정한 디지털 경제
- 조직적/독점적 인센티브가 아닌 경제적 인센티브에 의해 통제되는 디지털 자산과 상품들
- 퍼블릭 디지털 이코노미와 민간 기관 사이의 상호작용 인터페이스.
이더리움의 아키텍처는 제휴된 플랫폼에 크립토이코노미 인센티브 계층(Layer)을 시스템에 인스턴스화하는 것을 가능하게 합니다. 이는 기존 소프트웨어 설계에서 제공하는 중앙 집중식 서비스에 의존하는 대신, 전체 네트워크를 보호하기 위해 다양한 인센티브 계층과 메커니즘 디자인을 생성할 수 있음을 의미한다. 이러한 크립토이코노미 인센티브 계층은 디지털 상품 경제 뿐만 아니라 프라이빗과 퍼블릭 버전의 블록체인 플랫폼의 인터페이스 계층에도 적용될 수 있습니다.
IBM Fabric
모든 트랜잭션은 패브릭 다중 채널 아키텍처 내에서 실행되어 신뢰할 수 있는 환경 내에서 높은 트랜잭션 처리량을 보장합니다. 트랜잭션은 런타임 환경에있는 공유 원장에 추가됩니다. 패브릭은 이 아키텍처를 통해 소프트웨어 환경에 대한 읽기/쓰기 액세스와 편의성을 제공하여 메인 프레임과 같은 기능과 사용 편의성을 제공합니다. SQL 데이터베이스는 현재 사용 가능한 블록 체인보다 몇 배 이상 성능이 뛰어나며 패브릭 구성은 기존 데이터베이스 도구에 사용 된 패러다임을 많이 사용하여 뛰어난 트랜잭션 처리량을 제공합니다.
트랜잭션에는 다음과 같은 두가지유형이 있습니다.
새로운 체인코드를 만드는 전개 트랜잭션. 소프트웨어 개발 환경에 체인코드를 설치합니다.
이전에 만든 체인과 해당 기능을 호출하는 호출 트랜잭션. 이 작업이 성공적으로 실행되면 체인 코드가 기능을 수행하고 상태에 변화를 일으킵니다.
호출(Invoke) 함수는 'get'또는 'set'트랜잭션을 발생시킵니다.
효율적인 데이터 프로세싱과 뛰어난 속도를 위해 블롭(Blob)라고 불리는 개별 트랜잭션은 아파치 카프카 오더링 서비스(Apache Kafka Ordering Service)에 의해 일괄(Batch)되고 이벤트 전달을 통해 "블록"으로 출력 됩니다. 트랜잭션(blob)은 아파치 카프카 오더링 서비스에 의해 정렬되고 카프카 파티션에 추가됩니다. 이것이 의미하는 바는 패브릭 아키텍처가 진정한 블록 체인 시스템의 완전성 및 데이터 충실도를 희생하여 아파치 카프카 오더링 서비스의 사용에서 명백한 것처럼 신뢰할 수있는 데이터 스트리밍 환경에서 보다 빠른 트랜잭션 처리 및 처리량을 얻을 수 있다는 것입니다.
논평(Commentary)
이 시스템은 블록 체인에 해당하는 용어를 사용하지만, 패트리샤 머클 트리 데이터 구조에 상태 및 상호보완하는 트랜잭션이 보존되지 않는다는 점에서 전통적인 의미의 블록 체인은 아닙니다. IBM Fabric은 DLT이며 블록 체인이 아닙니다. 패브릭의 아키텍처는 데이터 블롭을 카프카 데이터 스트리밍 오더링 서비스에 추가하는 것에서 볼 수 있듯이 뛰어난 트랜잭션 처리를 위해 설계되었습니다. 이 작업은 신뢰할 수 있는 환경에서 수행되므로 시스템에서 실행이 자유롭게 일어날 수 있습니다. 가치 전달 시스템에서 이 구성을 사용하는 것은 모든 신뢰가 공유 생태계나 프로토콜이 아닌 하나의 단일 개체에서 한 소프트웨어 아키텍처로 직접 전달되어야 한다는 점을 고려할 때 이상적이 아닙니다. 기술 문서에서 볼 수 있듯이 패브릭은 블록 체인 플랫폼에서 달성한 데이터 완전성과 보안을 구조적으로 포기하여 트랜잭션 구성 요소 간에 뛰어난 처리 능력을 확보합니다.
R3 Corda
R3Corda에서 트랜잭션은 데이터베이스 Vault를 업데이트하기 위한 제안으로 간주되며, 이는 원장이라고 할 수 있습니다. 트랜잭션은 이중지불이 아니며, 필요한 파티들에 의해 서명된 것인지 공증인이 확인할 수 있는 환경에서 실행되어야 합니다. 이는 신뢰할 수 있는 시스템을 통해 이중지불을 피해야 하지만, 비트코인 생태계에서 사용되는 개념과 유사합니다.
트랜잭션에는 두가지 기본 유형이 있습니다.
공증 변경 트랜잭션-이것은 시스템의 공증을 통해 순환하기 위해 실행됩니다. 공증은 이중지출을 방지하고 트랜잭션을 검증할 수 있습니다.
고유한 컨센서스를 제공합니다.
모든 것에 사용되는 보편적인 트랜잭션
트랜잭션은 데이터베이스 환경의 상태에 대한 제안 된 업데이트로, 시스템 내의 다른 v파티들로부터 서명을 검증 받아야 합니다. 거래가 유효하려면 다음 조건을 충족해야합니다.
- 관련 파티들로 부터 서명을 받아야 합니다.
- 트랜잭션을 결정하는 컨트랙트 코드로 검증을 받아야 합니다.
공유 데이터베이스 환경에서 UTXO와 유사한 모델을 사용하면 Corda 플랫폼은 변환 뿐만 아니라 상태도 제어할 수 있습니다. 네트워크 구성에서 Notary와 Flow 및 Cordapp 사이의 다양한 상호작용을 사용하면 상태가 시스템 아키텍처에 통합된 데이터 형식으로 보존되는 공유 분산 환경을 보여 줍니다. 노드로 프로그래밍된 Cordapp 뿐만 아니라 Flow사이의 노드 기반 환경내에서 상태 인스턴스화를 탐색하기 위해 트랜잭션을 이용하면 상태를 원장으로 변경하는 실행을 위한 가능한 수단이 됩니다.
논평(Commentary)
디지털 자산의 형성을 위해 사용자와 카운터파티들은(Counterparties) 전반적으로 Corda 플랫폼의 신뢰에 의존합니다. 이 시스템은 중요한 재무 데이터를 보관하기 위한 신뢰할 수 있는 강력한 공유 분산 원장 시스템의 역할을 하면서도 은행 생태계에 존재하는 다양한 기준에 따라 작동합니다. 이 플랫폼은 다음과 같은 기능을 제공합니다.
비공개 재무데이터의 뛰어난 저장
신뢰할 수 없는 금융 기관을 위한 신뢰할 수 있는 설정
비지니스 상호작용의 고급 보관(Vaulting)
노드간의 플로우(Flow)와 런타임(Runtime) 환경이 포함된 아키텍처 다이어그램은 Corda가 Corda의 컨소시엄 플랫폼의 신뢰된 멤버들간의 분할 접근을 위해 설계되었다는 것을 보여줍니다. R3 Corda는 유용한 특정 부분을 수행할 수는 있지만, 퍼블릭 디지털 자산 환경은 물론 크립토이코노미 인센티브 계층(Layer)이 없기 때문에 경제적, 사회적 및 정치적 가치 이동을 위한 보편적인 기반이 될 수 있는 내재된 기능을 갖추고 있지 않습니다. 시스템이 폐쇄되어 있기 때문에 주변에 경제적 인센티브를 유발하는 생태계를 구축하기위한 필수적인 레일(Rail)과 기술 특성이 부족합니다. R3 Corda는 디지털 자산을 생성할수는 없지만 기존의 뱅킹 인프라스트럭처의 특정 부분에 사용하기에는 가장 적합합니다.
*본 번역은 스티미언들의 후원으로 이루어졌습니다.
*후원해 주시면 더 많은 글을 번역하고 게시할 수 있습니다.
