1. Borderless 시스템에 대한 기술 지원
1) 효율적이고 확장 가능한 성능
Borderless 시스템은 초당 100,000개 이상의 일괄 전송을 달성합니다.
암호화폐 및 스마트 계약 플랫폼에는 고성능 블록체인 기술이 필요하며, 기존 금융 플랫폼을 대체할 수 있는 솔루션을 업계에 제공할 수 있습니다. VISA와 MasterCard가 초당 거래 수를 처리할 수 있는 것보다 더 빠른 속도를 달성하기 위해 Unbounded는 처음부터 다시 설계되었습니다. Unbounded Network는 공유 승인 증명 메커니즘을 통해 평균 1초 내에 100,000건 이상의 이체 거래를 확인할 수 있습니다.
경계 없는 시스템 아키텍처 개요
Wujie는 업계 최고의 성능을 달성하기 위해 LMAX 교환 경험을 활용합니다. 이 LMAX 교환은 초당 최대 600만 건의 거래를 처리할 수 있습니다. Wujie 기술의 핵심은 다음과 같습니다.
a) 모든 것을 메모리에 담습니다.
b) 핵심 비즈니스 로직을 단일 스레드에 담습니다.
c) 핵심 비즈니스 로직 외부에 암호화 알고리즘 작업(해시 및 서명)을 배치합니다.
d) 확인 작업을 상태 독립적 검사와 상태 의존적 검사로 나눕니다.
e ) 객체 지향 데이터를 사용합니다. 모델
Unbounded는 이러한 간단한 규칙을 준수함으로써 방해가 되는 최적화 작업 없이 초당 100,000개의 전송을 처리하는 효율적인 성능을 달성했습니다. 추가 최적화 작업이 있는 경우 Unbounded는 LMAX 트랜잭션과 유사한 성능(즉, 초당 600만 트랜잭션)을 달성할 수 있습니다. 이러한 성능을 달성하는 Unbounded의 능력은 호환되는 트랜잭션 프로토콜 중 하나에 크게 의존한다는 점에 유의해야 합니다. 암호화 알고리즘 작업을 수행하고 해시 식별자를 사용하여 모든 개체를 호출하는 가상 머신에서 비즈니스 논리를 실행하려는 경우 동일한 수준의 성능을 달성하는 것은 불가능합니다. 블록체인은 본질적으로 단일 스레드이며, 단일 코어 CPU의 성능은 다양한 리소스 중에서 가장 부족하고 확장하기 어렵습니다. 무제한의 기술 논리를 사용하면 이 단일 스레드 실행을 최대한 효율적으로 만들 수 있습니다.
국경 없는 시스템 핵심 비즈니스 보증
블록체인은 공유된 글로벌 상태 트랜잭션의 수정을 확인하는 글로벌 원장입니다. 이러한 트랜잭션에는 다른 트랜잭션의 유효성을 변경할 수 있는 명령이 포함되어 있습니다. 예를 들어, 수표가 입금되기 전에는 은행 계좌에서 돈을 인출할 수 없습니다. 특정 계정에 영향을 미칠 수 있는 모든 이전 거래가 처리될 때까지는 거래가 유효한지 여부를 알 수 없습니다. 관련되지 않은 두 계정이 공통 종속성을 공유하지 않는 경우 이론적으로 두 계정의 거래가 동시에 처리될 수 있습니다. 실제로 중재된 스마트 계약에 의해 구동되는 원장에 어떤 트랜잭션이 실제로 독립적인지 식별하는 것은 까다롭습니다. 두 거래가 진정으로 독립적임을 보장하는 유일한 방법은 완전히 별도의 원장을 유지 관리한 다음 정기적으로 두 거래 간에 가치를 전송하는 것입니다. 이러한 성능 균형 관계를 비유로 사용하려면 비균일 메모리 액세스 아키텍처(Non-Uniform Memory Access, NUMA)와 일관된 메모리 액세스 아키텍처(Uniform Memory Access, UMA) 간의 관계와 비슷할 수 있습니다. 실제로 일관된 메모리 액세스 아키텍처는 개발자가 설계하기 쉽고 비용도 저렴합니다. 균일하지 않은 메모리 액세스 아키텍처는 슈퍼컴퓨터와 대규모 컴퓨터 클러스터를 구축할 때 최후의 수단으로 채택되는 경우가 많습니다. 컴퓨터 업계는 병렬컴퓨팅을 통한 성능 확장이 초기만큼 쉽지 않다는 것을 점차 깨달았다. 결국 당시 가장 중요한 일은 프로세서의 주파수를 높이는 일이었다.
이러한 이유로 프로세서 설계자는 성능 향상을 위해 멀티 스레드 설정을 사용하기 전에 단일 스레드 성능 향상에 필사적으로 노력하고 있습니다. 멀티스레딩만으로는 충분하지 않은 경우에만 클러스터 컴퓨팅을 고려합니다.
암호화폐 업계의 많은 사람들은 컴퓨터의 단일 코어가 기술적으로 무엇을 달성할 수 있는지 탐구하기 전에 클러스터 컴퓨팅 솔루션을 사용하여 확장성 문제를 해결하려고 노력해 왔습니다.
2) LMAX Disruptor 분해기 기술
LMAX 분해기는 단일 스레드에서 어떤 성능을 달성할 수 있는지에 대한 학습 예제를 제공합니다. LMAX는 세계에서 가장 빠른 거래소가 되는 것을 목표로 하는 최종 고객을 위한 거래 플랫폼입니다. 그들은 자신들이 배운 것을 관대하게 출판했습니다.
LMAX 아키텍처에 대한 높은 수준의 개요:
비즈니스 로직 프로세서는 모든 순차적 거래와 주문 매칭이 이루어지는 곳입니다. 초당 수백만 건의 주문을 처리할 수 있는 단일 스레드입니다. 이 아키텍처는 암호화폐 및 블록체인 설계 분야에서 쉽게 사용될 수 있습니다. 입력 분해기의 역할은 다양한 소스의 많은 사용자로부터 주문을 수집하고 이를 특정 주문에 할당하는 것입니다. 시퀀스가 할당된 후에는 많은 중복 비즈니스 로직 프로세서에 복사, 기록 및 브로드캐스트됩니다. 입력 분해기는 병렬성이 높으며 컴퓨터 클러스터 시스템에 쉽게 패키징될 수 있습니다. 비즈니스 로직 프로세서가 입력을 처리한 후 출력 분해자는 결과에 관심이 있는 사람들에게 이를 알릴 책임이 있습니다. 이것은 또한 매우 병렬적인 작업입니다. 궁극적으로 LMAX는 비즈니스 로직 프로세서에서 단일 스레드 샘플 프로세서와 Java 가상 머신을 사용하여 초당 600만 개의 트랜잭션을 실행할 수 있습니다. LMAX가 이 결과를 달성할 수 있다면 암호화폐 및 스마트 계약 플랫폼은 초당 트랜잭션이 10개 미만일 때 클러스터 네트워크 솔루션을 고려할 필요가 없습니다. 고성능 블록체인
고성능 블록체인을 구축하려면 LMAX와 동일한 기술을 사용해야 합니다. 구현해야 할 몇 가지 사항은 다음과 같습니다. 모든 것을 메모리에 유지하고, 동기화 기본 요소(잠금, 원자적 작업)를 피하고, 비즈니스 논리 프로세서에서 불필요한 계산을 피합니다. 메모리는 고도로 병렬화되도록 설계되었기 때문에 점점 더 저렴해졌습니다. 인터넷상의 모든 사람의 계정 잔액과 권한을 추적하는 데 필요한 데이터 양은 1TB 미만의 RAM에 적합하고 15,000달러 미만으로 구입할 수 있으며 마더보드의 상용(고급) 서버에 설치할 수 있습니다. . 30억 명의 사람들이 이 시스템을 채택하기 전에는 이러한 유형의 하드웨어가 일반 데스크탑 컴퓨터에서 발견되었습니다. 실제 병목 현상은 메모리 용량 요구 사항이 아니라 대역폭 요구 사항입니다. 초당 100만 개의 트랜잭션과 트랜잭션당 256바이트의 경우 네트워크에는 초당 256MB의 데이터 또는 1Gbit/s의 대역폭이 필요합니다. 이러한 종류의 대역폭은 일반 데스크톱 컴퓨터에서는 일반적이지 않습니다. 그러나 이 대역폭은 2세대 인터넷의 100Gbit/s 대역폭의 일부에 불과합니다. 이 2세대 인터넷은 210개 이상의 미국 교육 기관, 70개 기업, 45개 비영리 및 정부 기관에 공급됩니다.
즉, 블록체인 기술은 모든 것을 메모리에 쉽게 보관할 수 있으며, 올바르게 설계하면 초당 수백만 건의 전송을 지원하도록 확장될 수 있습니다.
3) ID 할당 및 해시 계산 방지
단일 스레드 시스템에서 프로세서 주기는 예약해야 하는 희소한 리소스입니다. 전통적인 블록체인 설계는 암호화 알고리즘을 기반으로 한 해시 계산을 사용하여 전 세계적으로 고유한 ID 시스템을 생성하여 충돌이 없다는 통계적 보장을 달성합니다. 이러한 해시 계산을 수행할 때의 문제점은 점점 더 많은 메모리와 프로세서 주기를 소비한다는 것입니다. 직접 배열 인덱스에 비해 이 접근 방식은 계정 레코드를 조회하는 데 훨씬 더 많은 프로세서 시간이 소요됩니다. 예를 들어, 64비트 정수는 160비트 이상의 ID보다 비교 및 연산이 더 간단합니다.
해시 ID 메커니즘이 클수록 CPU 캐시 공간이 줄어들고 메모리가 더 많이 필요합니다. 최신 운영 체제에서는 자주 액세스되지 않는 임의 액세스 메모리가 압축되지만 해시 식별자는 압축할 수 없는 임의의 숫자입니다. 모델 블록체인은 서로 충돌하지 않는 고유 ID를 전역적으로 할당할 수 있는 방법을 제공하므로 계정, 잔액 또는 권한을 참조하기 위해 비트코인 주소와 같은 해시 기반 식별자를 사용할 필요가 전혀 없습니다.
4) 비즈니스 로직 프로세서에서 서명 확인 제거
암호화폐 네트워크의 모든 거래는 암호화 알고리즘 서명을 사용하여 권한을 확인합니다. 대부분의 경우 요청된 권한은 다른 트랜잭션의 결과로 변경될 수 있습니다. 이는 비즈니스 논리 프로세서 내에서 암호화 알고리즘 계산과 관계없이 권한을 정의해야 함을 의미합니다.
이를 달성하려면 모든 공개 키에 고유하고 대체할 수 없는 ID가 할당되어야 합니다. ID가 할당되면 입력 확인자는 제공된 서명이 지정된 ID와 일치하는지 확인할 수 있습니다. 트랜잭션이 비즈니스 로직 프로세서에 도달하면 ID만 확인하면 됩니다.
이 동일한 기술을 사용하여 대체할 수 없는 정적 ID가 있는 개체에 대한 전제 조건 확인을 제거할 수 있습니다.
5) 정적 검증을 위한 트랜잭션 설계
트랜잭션의 경우 현재 전역 상태를 참조하지 않고 정적으로 확인할 수 있는 많은 기능이 있습니다. 이러한 검사에는 매개변수 범위 검사, 입력 중복 제거, 배열 정렬이 포함됩니다. 일반적으로 트랜잭션에 전역 상태로 "가정"되는 데이터가 포함되어 있는 경우 수행할 수 있는 검사가 많이 있습니다. 이러한 검사가 수행된 후 비즈니스 로직 프로세서가 해야 할 일은 이러한 가정이 여전히 올바른지 확인하는 것입니다. 이 프로세스는 트랜잭션 서명 시간과 관련된 개체 참조의 수정 타임스탬프를 확인하는 것으로 요약됩니다.
6) 스마트 계약
많은 블록체인은 모든 작업을 정의하기 위해 공통 스크립트 언어를 통합하고 있습니다. 이러한 설계는 궁극적으로 비즈니스 로직 프로세서를 가상 머신으로 정의하고 모든 트랜잭션은 이 가상 머신에서 실행되는 스크립트로 정의됩니다. 이 솔루션은 실제 프로세서에서 단일 스레드 성능 제한이 있으며, 모든 것이 가상 프로세서를 통해 실행되도록 하면 문제가 더욱 악화됩니다. 가상 프로세서는 JIT 기술을 사용하더라도 실제 프로세서보다 항상 느리지만 "모든 것이 스크립트입니다" 접근 방식의 유일한 문제는 계산 속도만이 아닙니다. 트랜잭션이 이렇게 낮은 수준에서 정의되면 정적 검사와 암호화 알고리즘 작업이 여전히 비즈니스 논리 처리에 포함되어 전체 처리량도 감소한다는 의미입니다. 스크립팅 엔진은 이 요청이 기본 메커니즘을 통해 구현되더라도 암호화 알고리즘 서명 확인을 수행하도록 요청해서는 안 됩니다.
LMAX에서 배운 교훈을 바탕으로 우리는 블록체인용으로 설계된 가상 머신이 단일 스레드 성능을 고려해야 한다는 것을 알고 있습니다. 이는 구현이 처음부터 컴파일되고 최적화되어야 하며, 가장 일반적으로 사용되는 스마트 계약은 기본적으로 블록체인에서 지원되어야 하며, 덜 일반적으로 사용되는 맞춤형 계약만 가상 머신에서 실행된다는 것을 의미합니다. 이러한 사용자 지정 계약은 성능을 염두에 두고 설계되었습니다. 즉, 가상 머신이 액세스할 수 있는 메모리 범위를 프로세서 캐시에 배치할 수 있는 수준으로 제한해야 함을 의미합니다.
7) 객체 지향 데이터 패턴
모든 것을 메모리에 보관하는 것의 이점 중 하나는 소프트웨어가 실제 세계의 데이터 간의 관계를 모방하도록 설계할 수 있다는 것입니다. 이는 비즈니스 로직 프로세서가 비용이 많이 드는 데이터베이스 쿼리 작업을 수행하지 않고 메모리의 포인터를 기반으로 데이터를 신속하게 찾을 수 있음을 의미합니다. 즉, 복사하지 않고도 데이터에 액세스할 수 있고 현장에서 수정할 수 있습니다. 이 최적화는 데이터베이스 기반 솔루션보다 훨씬 더 높은 성능을 제공합니다.
Borderless 무제한 시스템의 효율적인 성능을 성공적으로 구현하려면 핵심 비즈니스 로직에서 중요도, 주문 종속성 및 평가와 관련 없는 컴퓨팅 작업을 제거하고 이러한 문제를 최적화하는 데 도움이 될 수 있는 프로토콜을 설계하는 것이 기반입니다. 이것이 Unbounded가 하는 일입니다.
국경 없는 운영팀과 기술팀은 세계 최고 수준의 인재로, 최고의 기술과 인재를 보유하고 있다. 국경 없는 통화는 확실히 상상할 수 없을 만큼 큰 잠재력을 갖고 있으며 인정받을 가치가 있습니다. 아직도 기다리고 지켜보고 있나요? 기회는 놓쳐서는 안 되며 다시는 돌아오지 않습니다. 행동은 심장 박동보다 나쁩니다.