개체에 관한 모든 것

Sui 의 고유한 기능을 이해하려면 먼저 Sui의 객체 중심 데이터 모델을 이해하는 것이 중요합니다.

개체에 관한 모든 것

Sui 는 처음부터 디지털 자산 소유의 가능성을 재정의하기 위해 설계되었습니다. 재설계의 근본적인 부분이며, 따라서 Sui 와 다른 레이어 1 블록체인의 중요한 차이점은 객체 중심 데이터 모델입니다.

다른 L1이 자산 소유권을 처리하는 방법

대부분의 블록체인에서 데이터 저장의 기본 단위는 계정입니다. 대체 불가능한 토큰이나 토큰과 같은 디지털 자산은 개인("사용자") 계정 또는 스마트 컨트랙트 계정에 저장됩니다. NFT는 실제로 이를 생성하고 관리하는 스마트 컨트랙트 안에 존재합니다. 소유자는 자신의 자산에 대한 액세스를 제어할 수 없으며, 이러한 자산은 다른 계약에서 대여, 저장 또는 사용할 수 없습니다. 이러한 스마트 콘트랙트에는 내부에 있는 대체 불가능한 토큰에 대한 많은 정보가 포함되어 있지 않고, 세부 정보에서 오프체인 저장소를 가리키고 있습니다. 따라서 디지털 자산이 큰 효용성을 갖기 어렵습니다.

다른 L1에서 트랜잭션을 처리하려면 자산이 서로 독립적인지 미리 확인할 방법이 없으므로 모든 트랜잭션이 순차적으로 처리되어야 합니다. 검증자는 모든 블록에 대해 체인의 전체 상태를 업데이트해야 하므로 한 트랜잭션에서 취한 조치가 다른 트랜잭션과 충돌하지 않는지 확인해야 합니다. 이 과정에서 병목 현상이 발생하여 지연 시간이 길어지고 체인 처리량이 감소할 수 있습니다.

Sui 에서 자산 소유권을 처리하는 방법

Sui 에서 개체는 데이터 저장의 기본 단위입니다. 개발자는 사용자 수준 자산을 나타내는 이러한 프로그래밍 가능한 개체를 정의, 생성, 관리합니다. 오브젝트에는 소유권을 포함한 고유한 속성이 있으며, 오브젝트를 생성한 스마트 컨트랙트의 관리 논리에 따라 값을 업데이트할 수 있습니다. 그러나 스마트 콘트랙트가 개체를 생성하더라도 개체를 저장하지는 않습니다. 오브젝트와 해당 속성은 사용자 계정에 직접 온체인에 저장되며, 소유자가 직접 액세스하고 제어할 수 있습니다.

입력된 개체

각 Sui 개체는 다음 두 가지 특성(키 및 UID 포함)을 가져야 하며 탐색기에서 볼 때 5가지 특성(소유자, 개체 ID, 유형, 버전, 마지막 트랜잭션 다이제스트 블록)을 볼 수 있습니다. 빌더는 다른 필드를 포함하여 개체를 사용자 지정할 수 있습니다.

시간이 지남에 따라 필드에 정보를 추가, 제거, 보강할 수 있는 기능을 통해 Sui 의 디지털 자산은 다른 블록체인에서처럼 정적이 아닌 동적일 수 있습니다. 자산에 대한 정보는 시간이 지남에 따라 축적되어 가치, 컨텍스트 및 유용성을 더할 수 있습니다.

개체 소유권

Sui 에 있는 대부분의 자산은 단일 주소로 소유되며, 이 주소는 개체에 대한 데이터 값으로 기록됩니다. 이를 "소유된 개체"라고 합니다. 일부 자산은 소유권을 공유하므로 여러 계정이 해당 자산과 관련된 데이터 값을 변경하는 트랜잭션을 인증해야 합니다. 오브젝트는 다른 오브젝트가 소유할 수도 있으며, 기본적으로 컴포저블 에셋이라고 하는 새로운 고유 에셋으로 결합할 수 있습니다. 마지막으로, 잠겨서 변경할 수 없는 불변 오브젝트가 있습니다.

거래 처리

모든 것이 객체일 때 어떤 트랜잭션이 관련되어 있는지 정확히 알 수 있습니다. 시스템은 트랜잭션을 세분화하거나 그룹화하는 방법을 알고 있으며 모든 그룹을 병렬로 처리할 수 있습니다.

결제나 자산 이전과 같은 간단한 트랜잭션은 한 소유 대상의 가치 변동이 다른 소유 대상의 가치 변동에 영향을 미치지 않기 때문에 모두 함께 그룹화하여 병렬로 처리할 수 있습니다. 이러한 트랜잭션은 전체 체인의 기록 보관에 영향을 미치지 않고 어떤 순서로든 발생할 수 있으므로 합의가 필요하지 않습니다. 이는 트랜잭션을 처리하는 데 필요한 시간과 에너지를 줄여주기 때문에 지연 시간을 개선합니다.

공유 객체와 관련된 트랜잭션은 복잡한 것으로 간주되며 합의를 통해 유효성을 검사해야 합니다. 그러나 각 공유 개체는 여전히 다른 개체와 독립적이며 관련 트랜잭션을 함께 그룹화하여 다른 개체와 관련된 트랜잭션과 병렬로 처리할 수 있습니다.

객체 프로그래밍 시작

Sui 를 구축하기 위한 첫 번째 단계는 객체를 가지고 놀아보는 것입니다. 시작하려면 객체 프로그래밍에 대한 Sui의 문서를 참조하세요.