Sui 설립자의 손글씨: Sui의 성능 이점을 설명하기 위해 "대중 교통 압박"을 예로 들었습니다.
了了
2022-09-13 05:36
本文约1968字,阅读全文需要约8分钟
병렬 효율성.

역자: 오데일리 아즈마

역자: 오데일리 아즈마

지난 기간 동안 시장에서 Sui를 분석하는 기사가 있었지만 대부분의 기사는 가장 중요한 혁신 중 하나인 Sui의 데이터 모델 및 트랜잭션 처리 채널을 놓쳤습니다. 다음 트윗에서 세 부분으로 설명하겠습니다.

Part1: 기존 블록체인의 트랜잭션 처리 채널

Part2: Sui의 트랜잭션 처리 채널

Part3: Sui의 장점

블록체인 작동의 논리는 시간이 지남에 따라 유효성 검사기가 집합적으로 새 블록을 체인에 추가한다는 것입니다. 트랜잭션 처리 채널은 "빌딩 블록-합의-실행-머클 트리 업데이트" 프로세스의 최전선에 있으며 모든 트랜잭션은 프로세스의 다운스트림을 진행하기 전에 처리되어야 합니다. 그리고 새로운 블록이 생성되기 시작하면 트랜잭션 처리도 중단됩니다.

다음은 트랜잭션 처리 채널과 기존 블록체인의 문제점에 대한 개략도입니다. 우리는 다양한 방식으로 이러한 문제를 해결하려는 많은 프로젝트를 보았습니다.

Sui의 접근 방식은 "개체"를 통해 데이터를 구분하고 구성하는 것입니다. 특정 NFT, 특정 토큰 잔액 및 특정 스마트 계약은 모두 다른 개체(유형으로 이해할 수 있음)이며, 이는 Sui 체인의 트랜잭션을 다른 개체에 따라 그룹화하고 처리할 수 있음을 의미합니다.

아래 다이어그램은 3개의 그룹으로 나눌 수 있는 5개의 서로 다른 트랜잭션을 나타내는 간단한 예입니다(나중에 특정 개체 및 공유 개체에 대해 다시 설명하겠습니다). 이 세 가지 트랜잭션 그룹은 병렬로 처리될 수 있습니다.

다른 기존 블록체인에서는 단일 블록 내의 모든 관련 없는 트랜잭션을 순차적으로 처리해야 합니다. 예를 들어 Bob은 Bruce에게 BAYC NFT를 보냈고 Alice는 Punk NFT를 Alex에게 보냈고 Jane은 특정 DEX를 사용했습니다.

비유하자면 버스를 타는 것과 같습니다.기존 블록체인에서는 모든 승객이 버스에 탑승하기 위해 줄을 서야(합의)하고, 각 승객은 출발 전에 티켓을 확인(실행)한 다음 동일한 장소에서 하차해야 합니다(메르켈 트리 업데이트). 차가 다시 비워진 후에야 새로운 승객을 계속 수용할 수 있고 체인은 계속 앞으로 달릴 수 있습니다. 승객은 병렬로 확인된 다음 서로 다른 차량이 병렬로 목적지로 보내집니다.

Sui의 혁신은 트랜잭션의 병렬 처리에 있을 뿐만 아니라(이에 대해서는 앞으로 더 많이 공유할 예정입니다) 트랜잭션 결과도 실행 후 개체에 제출됩니다(예: 잔액이 10인 토큰, 5개 전송) , 5) 잔액에 남아 있으면 향후 트랜잭션의 입력으로 즉시 사용할 수 있습니다. Sui는 일련의 관련 트랜잭션이 완료될 때까지 기록되지 않는 새 블록에 대한 체크포인트의 일부로 Merkle 트리를 사용합니다.

또한 이전 사례에서 일부 트랜잭션은 특정 개체에만 해당한다는 점에 유의해야 합니다. 예를 들어 Bob만이 자신이 소유한 BAYC NFT에서 트랜잭션을 시작할 수 있습니다. 소유자가 트랜잭션의 순서를 확인할 수 있기 때문에 특정 개체 클래스의 트랜잭션은 합의를 건너뛸 수 있습니다(비잔틴 합의 브로드캐스트만 필요함).

다른 유형의 거래인 소위 공유 객체 거래(예: DEX 스마트 계약)의 경우 주문을 결정할 단일 소유자가 없기 때문에 합의되어야 합니다. 이것이 우리의 Narwhal & Bullshark 합의가 들어오는 곳입니다.

간단히 말해서,특정 객체형 트랜잭션은 병렬로 실행될 수 있고, 공유 객체형 트랜잭션도 서로 병렬로 실행될 수 있지만 각 공유 객체는 순차적으로 실행되어야 합니다(여기에는 다른 정적/동적 기술이 적용됨).

대체로 다음과 같이 이해할 수 있습니다.

  • 일반 블록체인의 경우 모든 트랜잭션을 집합적으로 정렬한 다음 실행해야 합니다.

  • Sui의 경우 모든 트랜잭션은 특정 논리에 따라 구별, 정렬 및 정렬된 다음 실행됩니다. 데이터 모델은 서로 다른 트랜잭션 간의 종속성을 보다 명확하게 만들 수 있으며 공유 개체의 트랜잭션만 일괄적으로 정렬하면 되며 특정 개체의 트랜잭션은 이러한 합의 협상 프로세스가 필요하지 않습니다.

그렇다면 이 Sui의 아키텍처는 어떤 제품 문제를 해결할 수 있습니까? 계속합시다.

첫 번째는 수평 확장 기능입니다.Sui 위에서 각 트랜잭션 그룹은 병렬로 처리됩니다. 위에서 언급한 것처럼 각 그룹의 승객은 다른 차를 타므로 승객 그룹(트랜잭션)이 더 많은 경우 Sui는 더 많은 자동차. 이와 관련하여 Sui는 내부 유효성 검사기를 통해 샤딩 및 확장될 수 있습니다. 더 많은 작업자가 더 많은 트랜잭션을 처리합니다.

수평 확장 기능이 중요한 이유는 무엇입니까? 하위 계층을 고려할 때 일부 대규모 프로젝트의 요구 사항을 고려하십시오. 하위 계층이 지속적으로 규모를 확장할 수 있도록 보장해야 합니다. 성능 상한이 있는 블록체인은 이러한 프로젝트가 정착하는 데 장애가 됩니다. Sui는 이 피크 수요를 처리하도록 설계되었습니다.

두 번째는 구성 가능성입니다.Sui에서는 가능하지만 다른 스마트 계약 플랫폼에서는 불가능한 것은 무엇입니까? 예를 들어 함수에서 자산을 반환하거나 자산을 데이터 구조에 저장하거나 다른 자산에 직접 저장하는 것과 같이 자산을 매개 변수로 함수에 전달합니다.

다소 복잡한 주제이기 때문에 향후 구성 가능성에 대한 또 다른 트윗을 작성할 것입니다. Sui는 계약 수준과 자산 수준 모두에서 구성 가능성을 크게 향상시킨다고 말하는 것으로 충분합니다(여러 유형의 개체가 다른 개체 내에 중첩될 수 있음).

그런 다음부분 재생 기능. 블록체인은 모든 거래 내역을 제공하여 과거 정보 확인에 도움이 됩니다. 그러나 제품이 일부 온체인 데이터를 관리해야 하는 경우 읽기 비용이 매우 비쌀 수 있습니다. Sui의 아키텍처를 통해 이러한 프로젝트는 관심 있는 개체의 진화, 즉 부분 재생에만 집중할 수 있습니다.

예를 들어 모든 캐릭터를 Sui에 배치하는 RPG 게임은 단순히 해당 캐릭터를 나타내는 개체를 볼 수 있습니다. Merkle 트리 데이터 구조에서 모든 데이터를 마이닝할 필요가 없습니다.

마지막으로온체인 스토리지. 게임 레이스, 레벨, 경험치 등 다양한 자산 데이터를 Sui 객체에 저장할 수 있습니다. Sui는 전통적인 방법을 사용하여 온체인 스토리지를 확장할 수 있으며 이제 온체인 자산을 업데이트하는 것이 훨씬 저렴합니다.

관련 읽기

관련 읽기

Sui 생태학에서 20개의 주목할만한 프로젝트 목록, 그 중 8개는 테스트 단계에 진입했습니다.

了了
作者文库