거래 처리에 관한 모든 것

Sui의 고유한 트랜잭션 처리 방식은 공유 객체에 대해서만 합의가 필요하기 때문에 빠른 성능을 제공합니다.

거래 처리에 관한 모든 것

Sui 는 트랜잭션 처리에 대한 하이브리드 접근 방식을 통해 다른 블록체인보다 더 빠르고 효율적인 성능을 제공합니다. 이 접근 방식은 초당 최대 297,000건의 트랜잭션을 처리하는 것으로 테스트되었습니다. 실제로 Sui 사용자는 앱과 게임에서 거의 즉각적인 응답을 경험할 수 있습니다.

블록체인 세계에서 트랜잭션은 앱의 작동 방식을 뒷받침하며, 앱의 많은 작업은 네트워크를 구성하는 검증자와 노드를 포함하는 프로세스를 시작하기 때문입니다. Sui 의 오브젝트 데이터 모델을 사용하면 이러한 트랜잭션에는 개별 오브젝트에 대한 변경이 포함됩니다. 이러한 변경은 단순히 소유권 이전을 의미하기도 하고, 때로는 객체의 외관을 변경하는 등 근본적인 변화를 수반할 수도 있습니다.

대부분의 블록체인은 모든 트랜잭션이 검증자의 합의에 의해 승인되어야 합니다. Sui 그러나 탈중앙화 블록체인은 특정 객체에 대해서만 검증인의 승인을 받도록 하여 이 프로세스를 보다 효율적으로 만듭니다. 이러한 검증자 승인 프로세스는 네트워크 전체에서 일관된 글로벌 데이터 상태를 유지하는 블록체인의 핵심 기능입니다.

탈중앙화 네트워크 거래

사설 네트워크는 암묵적으로 서로를 신뢰하는 내부 서버에서 트랜잭션을 처리합니다. 예를 들어 넷플릭스와 넷플릭스가 관리하는 모든 동영상 파일을 생각해 보세요. 넷플릭스의 인프라는 사용자 계정 기록을 관리하고 어떤 계정이 각기 다른 파일을 볼 수 있는지 권한을 부여합니다. 넷플릭스 데이터 센터의 다양한 서버는 다른 서버가 자신에게 전달하는 계정 및 동영상 파일 데이터의 정확성을 신뢰합니다.

독립적인 운영자가 인프라를 지원하는 서버를 운영하는 탈중앙화 네트워크에서는 트랜잭션을 승인하고 네트워크 전체에 데이터 변경 사항을 전파해야 합니다. Sui 에서 모든 검증자와 노드는 글로벌 데이터 상태를 공유합니다.

넷플릭스의 예로 돌아가서, 누군가 Sui 에서 동영상 파일을 대체 불가능한 토큰으로 발행한 후 네트워크의 다른 사람에게 준다면, 네트워크의 모든 서버는 해당 소유권 변경 기록을 유지하게 됩니다. 넷플릭스의 서버가 각 동영상을 볼 수 있는 사용자를 등록하는 것처럼 Sui 역시 비슷한 글로벌 상태를 유지합니다. 그러나 Sui 모델에서는 누구도 파일의 상태를 임의로 변경할 수 없습니다. 독립적으로 운영되는 서버는 각 파일의 소유권 및 기타 매개변수에 대해 합의합니다.

Sui의 합의 메커니즘

Sui 는 공유와 단일 소유자라는 두 가지 객체 유형을 정의함으로써 다른 블록체인과 차별화됩니다. 공유 객체는 여러 사람이 변경할 수 있지만 단일 소유자 객체는 객체 소유자만 변경할 수 있습니다. Sui 는 불변 객체와 객체 소유 객체라는 두 가지 다른 객체 유형을 지원하지만 트랜잭션을 이해하기 위해 앞의 두 가지에 집중하겠습니다.

공유 개체는 여러 사람이 해당 개체의 상태에 영향을 미치는 멀티플레이어 게임이나 상점일 수 있습니다. 예를 들어, 체스 게임 앱은 게임을 공유 객체로 표현하여 각 플레이어가 차례대로 객체의 상태에 영향을 줄 수 있도록 합니다. 플레이어가 차례가 바뀔 때마다 네트워크에서 트랜잭션이 시작되며, 네트워크 검증자는 네트워크의 글로벌 상태의 무결성을 유지하기 위해 이를 승인해야 합니다.

검증자가 트랜잭션을 승인하는 이 과정을 컨센서스라고 합니다. 반면, 넷플릭스 예시와 같은 사설 네트워크에서는 모든 트랜잭션이 합법적인 것으로 추정됩니다. 누구나 검증자를 실행하여 네트워크를 지원할 수 있는 Sui 에서 합의 시스템은 무결성을 보장하기 위해 트랜잭션의 적법성을 보장해야 합니다.

각 공유 오브젝트 트랜잭션이 네트워크에 들어올 때마다 검증자는 트랜잭션의 승인 여부를 평가하는 프로세스를 거치게 되며, 기본적으로 해당 트랜잭션에 대해 예 또는 아니오 투표를 합니다. 위에서 언급한 체스 게임의 예에서, 플레이어가 체스 게임 오브젝트에 대한 합법적인 변경인지 여부에 대해 네트워크 검증자가 투표합니다. 충분한 수의 검증인이 찬성하면 트랜잭션이 승인되고 상대 플레이어가 이동할 수 있게 됩니다.

이 과정이 번거롭게 들릴 수 있지만 실제로는 밀리초 단위로 발생합니다. 체스 게임 플레이어는 일반적인 인터넷 지연보다 훨씬 적은 지연을 경험할 수 있습니다.

Sui 는 공유 객체 트랜잭션만 합의를 거치면 되기 때문에, 모든 트랜잭션이 합의를 거쳐야 하는 다른 블록체인에 비해 합의 메커니즘에 대한 부하가 훨씬 적습니다.

테스트된 성능

Sui 개발팀은 기존 블록체인보다 더 높은 성능을 발휘하도록 아키텍처를 설계했습니다. 하이브리드 트랜잭션 처리 시스템은 필요한 곳에 리소스를 할당하여 처리량을 최적화합니다.

초기 개념 증명으로, 2022년 팀은 8코어 M1 맥북 프로에서 실행되는 검증자가 최대 트래픽에서 초당 120,000건의 트랜잭션을 처리하는 방법을 시연했습니다.

초기 수치도 인상적이었지만, 원래 팀과 커뮤니티에서 Sui 에 대한 추가 작업과 개선을 통해 훨씬 더 나은 성능을 제공했습니다. 현재 배포된 Sui 메인넷과 유사하게 지리적으로 분산된 100개의 검증자가 있는 예제 네트워크를 사용하여 팀은 256GB 메모리를 갖춘 24코어 AMD 컴퓨터를 사용하여 초당 최대 297,000건의 트랜잭션을 처리했습니다.

효율성을 위한 설계

Sui의 오리지널 설계자들은 다른 블록체인의 아키텍처와 기능을 평가하여 더 나은 성능의 네트워크를 만들기 위해 이 작업을 어떻게 개선할 수 있을지 고민했습니다. 다른 블록체인은 모든 트랜잭션에 대해 합의를 달성해야 하기 때문에 합의 메커니즘을 개선하는 데 특히 중점을 두었습니다.

하지만 이 합의 메커니즘은 Sui 의 객체 지향 데이터 모델 없이는 작동할 수 없습니다. 이 객체 모델은 다양한 유형의 객체를 허용하며 개발자가 앱에 적합한 객체 유형을 자유롭게 선택할 수 있도록 해줍니다.

튜토리얼 시리즈에서 공유 객체를 프로그래밍하는 방법을 Sui 에서 확인하세요. 또한 트랜잭션을 처리하는 대용량 멤풀과 합의 엔진인 일각고래와 불샤크를 포함한 Sui 의 합의 메커니즘에 대해 자세히 알아보세요.