본문으로 건너뛰기

Nautilus 커뮤니티 developer tool

다음은 Nautilus workflow를 개선하기 위해 community가 제공하는 developer tool이다.

주의

이 tool들은 Sui community member가 개발하고 유지 관리한다. Production environment에서 사용하기로 결정했다면 security, performance, 기타 guarantee에 대해 직접 due diligence를 수행한다.

Dockerized Nautilus app을 Marlin에 deploy하기

Marlin Oyster는 Nautilus framework와 통합되어 enclave infrastructure 관리의 operational overhead를 제거한다.

Nautilus를 사용하려면 AWS Nitro Enclaves를 직접 관리하거나 Marlin Oyster를 사용할 수 있다. Enclave를 직접 관리하는 경우 AWS account, networking configuration, enclave image, attestation infrastructure를 관리해야 한다.

Marlin Oyster는 deterministic enclave build, provisioning, attestation을 처리한다. Docker image, Oyster CLI, Sui만으로 enclave-powered app을 deploy할 수 있다. AWS와 직접 상호작용할 필요가 없다. Marlin Oyster는 hardware-backed Nitro security, reproducible enclave measurement(Platform Configuration Registers (PCRs)), trust-minimized execution을 포함한 모든 cryptographic guarantee를 보존한다.

이는 Trusted Execution Environment (TEE) access를 transparent하고 decentralized된 marketplace로 전환한다. Abstracted Sui Move contract를 사용하면 job을 submit하고 stablecoin으로 pay하며 workload를 Oyster operator에게 expose할 수 있다. Build는 deterministic하므로 enclave integrity와 identity를 완전히 verify할 수 있다.

Marlin Oyster와 Nautilus에 대한 자세한 내용은 Marlin docs에서 확인할 수 있다.

작동 방식

Marlin Oyster는 다음 workflow를 사용한다:

  1. Application을 build하고 Docker image로 package한다.
  2. Docker image를 Oyster marketplace의 job으로 deploy한다. Job 비용은 stablecoin으로 지불한다.
  3. Oyster operator가 job submission을 claim하고 Nitro Enclave를 provision한 뒤 workload를 실행한다. Oyster operator는 application logic을 변경할 수 없다.
  4. Enclave는 application code의 cryptographic verification 역할을 하는 PCR measurement를 생성한다. Sui Move contract는 이 PCR measurement를 on chain에서 verify할 수 있다.

이 workflow는 self-managed Nautilus deployment와 동일한 cryptographic guarantee를 제공한다.

Custom PCR verification

Sui는 custom PCR verification을 지원한다. AWS Nitro Enclaves는 PCR verification을 사용해 isolated environment에서 실행되는 code가 authentic하고 unmodified임을 확인한다. Nautilus는 custom PCR verification을 사용해 trust assumption 없는 verifiable confidential compute를 제공하고, confidential app이 자신의 code가 TEE에서 실행 중이며 tamper되지 않았음을 증명할 수 있는 use case를 가능하게 한다.

예시

Sui Oyster demo application을 reference implementation으로 사용해 build를 시작할 수 있다. 이 example application은 Oyster enclave를 사용해 decentralized price oracle을 만들고 deploy한다. Example에서는 data를 secure하게 fetch하고 Nitro Enclave로 sign한 뒤 PCR attestation을 사용해 on chain에서 signature를 verify한다.

Project README에서 자세한 내용을 확인할 수 있다.

Nautilus-Ops

Nautilus-Ops는 enclave image를 build 및 deploy하고, enclave를 on chain에 register하며, enclave signature를 verify하는 데 사용할 수 있는 command-line tool이다.

Project GitHub에서 자세히 보기.

nautilus-ts

nautilus-ts는 @mysten/sui@mysten/seal 같은 SDK를 사용해 AWS Nitro Enclaves 안에서 Nautilus app을 build하기 위한 TypeScript framework이다. 이 framework는 VSOCK networking, NSM attestation, traffic forwarding, key management를 처리한다.

Project GitHub에서 자세히 보기.