StarkWare를 한 문장으로 이해하기: dYdX와 Immutable 뒤에 있는 L2 솔루션
저자: msfew, Foresight Ventures
StarkWare 소개
StarkWare는 블록체인의 확장성과 프라이버시 문제를 주로 해결합니다. StarkWare는 STARK 기술을 사용하여 zk-Rollups 및 Validium 모드로 구성된 Volition을 통해 계산 완전성 증명을 생성하고 검증하는 완전한 솔루션을 개발했습니다. StarkWare의 암호 증명은 제로 지식, 간결성, 투명성 및 후량자 보안을 달성할 수 있습니다. StarkWare가 개발한 제품으로는 StarkNet, StarkEx, Cairo가 있습니다.
주요 특징
- 확장성: StarkWare는 블록체인이 클라우드의 오프체인 증명자가 생성한 암호 증명에 의존하여 대규모로 확장할 수 있도록 허용하며, 이후 온체인 스마트 계약을 통해 검증합니다.
- 프라이버시: zk-STARK 증명은 입력된 개인 정보를 노출하지 않습니다. 다른 암호화 도구와 결합하여 zk-STARK는 사용자 데이터를 완전하고 검증 가능하게 보호할 수 있습니다.
- 사용자 경험: Immutable 및 dYdX의 사례를 통해 StarkWare가 제공하는 솔루션의 강력한 확장성을 경험할 수 있습니다. DiversiFi의 결제 TPS는 18k에 달하며, Immutable의 NFT 발행 비용은 단 0.2센트, dYdX의 거래 수수료는 1/50으로 줄어들었습니다. 초당 확인, 수수료는 거의 0에 가까워 뛰어난 사용자 경험을 제공합니다.
이정표
- 2018: STARK 백서 발표, 이더리움 재단 Grant
- 2019: 첫 번째 데모 발표 (이더리움 효율성 200배 확대), StarkEx Alpha 테스트넷 발표, 두 번째 데모 발표 (이더리움 효율성 700배 확대)
- 2020: DeversiFi (StarkEx 1.0) 메인넷 출시, VeeDo (Stark 기반 VDF) 메인넷 출시, StarkEx Rollup 메인넷 출시, ethSTARK 발표, Cairo (Turing 완전한 STARK 언어) 및 PlayGround 출시, Ziggy STARK (후량자 보안 서명) 발표, StarkEx 2.0 메인넷 출시
- 2021: StarkNet 발표, dYdX 및 Immutable X (모두 StarkWare의 고객) 프로젝트 메인넷 출시
Immutable과 StarkWare
iMMUTABLE은 첫 번째 Layer 2 NFT 거래 플랫폼입니다. Tik Tok은 9월에 Immutable과 협력하여 일련의 NFT를 발표했습니다.
이더리움의 기본 처리량 한도가 4 거래/초로, 확장을 원하는 DApp에 제한을 두고 있습니다. NFT의 경우, 처리량 병목 현상은 일반 토큰보다 더 큽니다: NFT를 사용할 경우, 천 개의 토큰은 실제로 단일 토큰보다 블록체인 자원을 천 배 더 소모합니다. Immutable은 이더리움의 보안, 개발 도구 및 네트워크 효과를 누리기 위해 이더리움 네이티브 솔루션을 사용하고자 하여 StarkWare가 제공하는 솔루션을 채택했습니다.
StarkWare가 제공하는 솔루션의 독특한 기능 중 하나는 여러 데이터 가용성 모드로 배포할 수 있다는 것입니다: zk-Rollups 또는 Validium. 두 가지 모두 유효성 증명에 기반하지만, zk-Rollups에서는 모든 데이터가 온체인에 제출되고, Validium에서는 데이터가 오프체인에 저장되며, 최신 상태의 제출 및 해당 상태의 유효성 증명의 온체인 제출만 이루어집니다. Immutable은 Validium 모드로 시작하여 더 낮은 가스 요금을 제공합니다. 정책 규정에 따라 데이터 가용성 위원회(DAC)는 사용자가 항상 자신의 데이터에 접근할 수 있도록 보장합니다. 따라서 Immutable은 Volition의 새로운 데이터 가용성 모드로 전환하여 사용자가 단일 거래 단위로 데이터 저장 위치를 선택할 수 있도록 허용합니다—온체인(zk-Rollups) 또는 오프체인(Validium). 이러한 접근 방식은 성능 확장을 극대화합니다.
Tik Tok과 Immutable의 협력 블로그 기사에서 Tik Tok은 StarkWare가 첫 번째 탄소 중립 L2 확장 솔루션이라고 특별히 언급했습니다. 전통적인 인터넷 회사의 관점에서 환경 보호는 매우 중요합니다. 환경을 고려하지 않으면 쉽게 비판받을 수 있으므로, L2의 높은 성능과 자원 절약 특성은 전통적인 인터넷 회사의 관심을 끌고, 그들이 암호화폐 분야에 합법적으로 진입할 수 있는 길을 열어줍니다.
StarkWare가 Immutable에 제공한 솔루션은 Tik Tok이라는 현재 가장 인기 있는 회사가 Immutable과 협력하게 만든 결과입니다. StarkWare가 제공하는 두 가지 배포 모드는 고객에게 데이터 저장 방식의 유연성을 제공하며, 규정을 준수할 뿐만 아니라 성능을 확장할 수 있게 합니다. 더 중요한 것은 성능의 확장이 이더리움의 논란이 되고 있는 에너지 소비 문제를 해결하게 되며, 이는 Layer 2의 승리이자 StarkWare의 승리입니다. 앞으로 우리는 더 많은 전통 기업들이 이더리움과 StarkWare의 방식을 통해 블록체인 분야에 진입하는 것을 보게 될 것입니다.
StarkWare 애플리케이션이 이렇게 높은 성능을 가지는 이유는 무엇인가요?
StarkWare의 Prover는 다양한 수학적 최적화 및 StarkWare가 처음 제안한 몇 가지 최적화 알고리즘을 가지고 있으며, 개발에 사용되는 Cairo 언어는 특별한 수학 관련 최적화를 포함하고 있습니다. 그 외에도, 상호 데이터는 Prover에 전달되기 전에 StarkEx 엔진을 통해 증명할 데이터와 배치 처리를 조정합니다. 전체 실행 프로세스는 전면적인 최적화를 이루었습니다. 구체적인 세부 사항은 후속 문서에서 자세히 논의될 것입니다.
StarkWare 애플리케이션의 탈중앙화 정도는?
StarkWare의 StarkNet에서의 합의는 zk-STARK입니다. zk-Rollups는 반드시 탈중앙화되거나 무제한 접근이 가능한 것은 아닙니다. 그러나 StarkWare가 사용하는 zk-STARK는 무제한 접근이 가능하며, 이더리움과 같은 퍼블릭 블록체인과 같습니다. StarkWare가 수행하는 애플리케이션의 중간 과정에서는 일부 중앙화된 서버가 서비스를 제공하는 경우가 있습니다. 그러나 이는 전체 애플리케이션 개발에서 필요하고 제거할 수 없는 부분입니다. 마치 uniswap이 중앙화된 도메인 이름과 프론트를 가져야 하는 것과 같습니다. 따라서 StarkWare가 만든 dYdX, StarkNet 등은 여전히 탈중앙화되어 있습니다.
zkSync와 StarkWare 비교
현재로서는 StarkWare가 성능이나 현재 운영 상태에서 zkSync보다 앞서 있습니다. zkSync와 StarkWare의 가장 큰 차이는 운영 철학입니다. zkSync의 프로젝트는 모두 오픈 소스이며, 팀은 자신이 대체되어도 상관없다고 말하며, 커뮤니티와 이더리움의 발전을 촉진할 수 있다면 좋다고 합니다. StarkWare 회사는 B2B 중심의 운영 방식을 가지고 있으며, STARK 증명기는 현재 StarkWare 회사만 사용할 수 있으며, Cairo 언어를 개발하는 것도 이더리움 생태계에 그렇게 유리한 방식은 아닙니다 (개발자 친화적인 방식은 zkSync나 Optimistic처럼 EVM 호환을 추구해야 합니다).
zk-Rollups와 STARK 증명
- StarkWare가 사용하는 기술에는 zk-Rollups와 zk-STARK가 포함됩니다. 이 둘은 동일한 것이 아닙니다. STARK는 zk-STARK의 약자로, 제로 지식 증명의 일종입니다.
- StarkWare는 자신의 솔루션을 Validity Rollups라고 부르는 경향이 있으며, 솔루션에 반드시 zk-Rollups를 사용하는 것은 아닙니다. Validity Rollups는 Validium과 zk-Rollups를 포함합니다. 이 두 가지의 차이는 사용자 데이터가 온체인에 있는지 여부입니다.
STARK는 개발자가 계산 및 저장을 체인 밖으로 이동할 수 있도록 하여 확장성을 높입니다. 오프체인 서비스는 STARK 증명을 생성하여 오프체인 계산의 완전성을 증명할 수 있습니다. 그런 다음 이러한 증거는 온체인으로 다시 돌아가 모든 이해관계자가 계산을 검증할 수 있도록 합니다. STARK를 사용하면 대부분의 계산 작업을 체인 밖으로 이동시켜 기존 블록체인 인프라가 기하급수적으로 확장할 수 있도록 하면서 계산의 완전성을 유지할 수 있습니다.
이더리움 데이터 온체인 대략적 프로세스: 1000개의 거래가 이더리움의 각 노드로 전송 → 각 노드가 1000개의 거래를 읽음 → 노드가 1000개의 거래를 업데이트함
zk-STARK 데이터 온체인 프로세스: 1000개의 거래가 zk-STARK로 전송 → zk-STARK가 증명자로서 1개의 증명 생성 (*생성 단계) → 노드가 검증자로서 증명을 읽고 업데이트함
- 생성 단계: 일반적으로 zk-STARK 증명은 다음 과정을 통해 생성됩니다. 검증자의 증명 과정은 두 단계로 나뉩니다: 첫 번째 단계는 계산 완전성 선언이 산술을 거쳐 대수 중간 코드 표현으로 생성되는 것이고, 두 번째 단계는 테스트를 거쳐 FRI (StarkWare 공동 창립자가 2017년에 저술한 논문에서 증명을 최적화하는 방법)로 생성된 후 암호 알고리즘을 거쳐 확장 가능한 공개 투명 지식 증거 (즉, STARK)를 출력하는 것입니다. 간단히 말해, 안전하고 신뢰할 수 있는 환경과 최적화 알고리즘을 통해 신뢰할 수 있고 고성능의 증명을 생성하는 것입니다.
zk-Rollups와 다른 L2 솔루션 비교
- 엄격한 정의에 따르면, StarkWare의 많은 문서에서 사용되는 용어 zk-Rollups는 반드시 제로 지식 증명을 사용하는 것은 아닙니다. 올바른 설명은 Validity Proofs입니다 (zk-Rollups와 Validium을 포함하며, StarkWare는 두 가지 모드를 제공합니다). 용어의 변동이 이해에 영향을 미치지 않도록 본 문서에서는 StarkWare의 문서에 따라 관련 설명을 zk-Rollups로 통일합니다.
사이드체인 (Polygon 또는 xDai)
- 장점: 사용자가 많은 거래를 수행하더라도, 메인 체인에서 발생하는 것은 두 개뿐입니다: 입금 및 출금. 사이드체인에서의 거래 비용이 이더리움 자체보다 낮기 때문에 확장성을 얻을 수 있습니다.
- 단점: 새로운 블록을 생성할 권한을 부여하면 블록 생성을 중단할 권한이 생깁니다. 사이드체인은 사용자가 자금을 인출하는 것을 막을 수 있는 권한을 가질 수 있습니다.
상태 채널
- 장점: 상태 채널의 한 예는 라이트닝 네트워크입니다. 참여자가 오랜 시간 동안 많은 상태 업데이트를 교환할 때 상태 채널이 매우 유용합니다. 프라이버시가 강하며, 상태는 채널 내에서만 발생합니다. 즉각적인 종료가 가능하며, 종료하면 즉시 종료됩니다.
- 단점: 상태 채널은 유효성에 매우 의존하며, 확정된 참여자 집합이 있는 애플리케이션에 적합합니다.
Plasma
- 장점: Plasma는 NFT 처리에 매우 적합합니다. 각 NFT는 고유한 ID를 가지고 있기 때문입니다. 사이드체인의 문제 중 하나는 합의 메커니즘이 블록 생성을 중단하거나 사용자의 자금을 잠글 수 있다는 것입니다; Plasma 사용자는 블록 루트를 호출할 수 있으므로, 합의 메커니즘이 블록 생성을 중단하더라도 사용자는 여전히 이더리움에 자금을 요청할 수 있습니다.
- 단점: 많은 사용자가 동시에 Plasma 체인을 탈퇴하면, 그들은 루트 체인을 압도하고 네트워크가 혼잡해질 수 있습니다. 사기 활동이나 네트워크 공격과 같은 일이 대규모 유출을 초래할 수 있습니다. 또 다른 단점은 복잡성이 부족하여 사용자가 사이드체인에서와 같은 복잡한 작업을 수행할 수 없고, 완전한 이더리움 환경을 시뮬레이션할 수 없다는 것입니다.
zk-Rollups
- 장점: 각 전송의 비용이 매우 낮습니다. Plasma 및 Optimistic Rollups보다 빠릅니다. 데이터 양이 적어 더 높은 처리량과 확장성을 제공합니다.
- 단점: 초기 설정이 탈중앙화되지 않음 (STARK에는 초기 설정이 없음), 양자 컴퓨팅이 미래의 해킹 위협이 될 수 있음 (STARK는 양자 컴퓨터에 저항할 수 있음)
각 L2 솔루션을 비교한 결과, zk-Rollups가 블록체인 업그레이드 확장에 가장 가까운 완벽한 솔루션일 수 있습니다. 동시에 zk-Rollup의 몇 가지 단점은 StarkWare가 채택한 zk-STARK에서 수정될 것입니다.
STARK와 다른 ZK 성능 비교
ZK 증명에는 주로 SNARK, STARK, Bulletproof의 세 가지가 있습니다. Bulletproofs와 STARK는 신뢰할 수 있는 설정이 필요 없으며, STARK는 공개적으로 검증 가능한 무작위성을 사용하여 신뢰할 수 없는 검증 가능한 계산 시스템을 생성합니다. 이 중 STARK는 다른 두 가지에 비해 증명 크기가 매우 크지만, 계산 시 크기와 증명 속도에서 큰 장점을 가지고 있습니다. 동시에 STARK의 보안성이 더 높아 양자 공격에 저항할 수 있습니다.
위 이미지는 StarkWare의 공동 창립자가 발표 중에 보여준 그림입니다. 그들이 테스트할 때 사용한 STARK 증명은 위의 서버 구성에서 실행되었으며, 다른 여러 가지 SNARK 알고리즘의 성능과 비교하여 훨씬 높은 성능을 보였습니다.
StarkNet
StarkNet Alpha는 11월에 이더리움 메인넷에上线됩니다. (블록체인 탐색기)
소개
StarkNet은 탈중앙화된, 허가 없이 참여할 수 있으며 검열 저항이 있는 L2 zk-Rollups로, 이더리움에서의 일반 계산을 지원합니다. 이는 Turing 완전한 Cairo 언어를 기반으로 합니다. 개발자는 애플리케이션을 구축하여 앱 비즈니스 로직을 구현하고 StarkNet에 배포할 수 있으며; 사용자는 이더리움에서 정상 거래와 동일한 방식으로 거래를 StarkNet으로 전송하여 실행할 수 있습니다. StarkNet 노드와 참여자는 네트워크가 효율적이고 공정하게 운영되도록 경제적 인센티브를 받습니다.
모든 StarkNet 거래는 정기적으로 배치 처리되며, 거래는 STARK 증명에서 증명되고 최종적으로 이더리움에서 검증됩니다. STARK 증명을 검증하는 데 필요한 계산 작업량은 이더리움 증명의 계산량에 비해 기하급수적으로 작기 때문에 StarkNet은 이더리움을 여러 배로 확장할 수 있습니다. 모든 StarkNet 상태 전환은 STARK 검증을 거치므로 이더리움은 최종적으로 유효한 상태 전환만을 수용합니다.
주요 특징: 성능 확장성, 개발 편리성, 이더리움 생태계에 대한 조합 가능성.
네트워크 생태계
- 프로그래밍 언어 Cairo: Cairo는 STARK 증명을 생성하는 데 사용할 수 있는 Turing 완전한 고급 프로그래밍 언어 및 프레임워크입니다. 개발자는 Cairo를 사용하여 모든 비즈니스 로직을 정의하고 거래를 Shared Prover Service에 보내어 로직을 오프체인에서 검증하고 온체인에서 검증합니다. Cairo는 메인넷에서 공식 프로젝트 개발에 적합하며 개발자가 사용할 수 있습니다.
- 오프체인 검증 서비스 Shared Prover Service: 거래가 온체인에 올라가기 전에 거래는 Sharp로 전송되어 애플리케이션 실행의 완전성을 판단하고, 증명 검증의 가스 비용을 계산합니다.
- 오픈 소스 증명기 ethSTARK: ethSTARK는 제로 지식 및 후량자 보안 서명을 제공합니다. ethSTARK는 메인넷에서 하나의 증명으로 30만 건의 거래를 처리하며, TPS는 3000에 도달했습니다. Rollup 가스 효율성은 세계 기록을 돌파하여 315 gas/tx에 달하며, 이는 이더리움 L1에서의 거래보다 몇 배 저렴합니다. 이 기술은 StarkNet의 탈중앙화 증명 층의 기초입니다.
- 제3자 프로젝트: 현재 주요 제3자 라이브러리로는 StarkNet.js가 있습니다. StarkNet.js는 Web3.js와 유사한 역할을 하며, 프론트엔드에서 계약 내용을 가져오는 데 사용됩니다. 이더리움 클라이언트 팀은 StarkNet의 전체 노드 구현을 진행하고 있습니다. 현재 StarkNet 네트워크 감사 소프트웨어에는 CryptoExperts와 LEAN proof가 포함되어 있습니다.
사용 사례
- DeversiFi: 거래 TPS 9k, 결제 TPS 18k.
- Immutable: NFT 발행 가스 0.2센트, 매일 L2 거래 > 매주 L1 거래.
- dYdX: 각 거래 수수료가 50배 감소했습니다.
StarkEx
소개
StarkEx는 STARK를 사용하는 애플리케이션을 지원하는 기본 엔진과 같은 역할을 합니다.
StarkEx는 2020년 6월부터 이더리움 메인넷에 배포된 L2 확장성 엔진으로, 생산 환경에서 사용할 수 있습니다. StarkEx는 STARK 기술을 활용하여 DeFi 및 게임과 같은 애플리케이션에 확장 가능한 자가 관리 거래를 제공합니다. StarkEx는 광범위한 사용 사례를 지원합니다: 현물 거래, 영구 거래, NFT 발행 및 거래. 메인넷 배포 이전에 5000만 건 이상의 StarkEx 거래가 공공 및 개인 이더리움 테스트넷에서 결제되었습니다.
StarkEx는 현재 ETH 토큰, ERC-20, ERC-721 토큰 및 합성 자산을 지원합니다. 또한 EVM 호환 블록체인에서의 토큰도 지원할 수 있습니다.
특징
- 확장성 및 계산 완전성: 애플리케이션은 StarkEx 및 기본 STARK 인프라에 의존하여 확장할 수 있으며, StarkEx는 계산 완전성을 보장합니다. SHARP(공유 증명기) 기술을 통해 가스 비용이 모든 StarkEx 기반 애플리케이션에서 분담됩니다.
- 다양한 배포 모드: StarkEx는 zk-Rollups 모드(온체인 데이터 게시) 또는 Validium 모드(사이드체인을 통해 데이터 가용성 검증)로 배포할 수 있습니다. 또한 곧 출시될 모드인 Volition은 사용자가 데이터 가용성 모드를 선택할 수 있도록 허용합니다.
- 지갑 통합: StarkWare는 Ledger, Authereum 및 WalletConnect를 통해 네이티브 지원을 제공합니다. StarkWare는 또한 Web3 호환 키 생성(다수의 다른 기존 지갑에 적합)을 통해 MetaMask 통합을 제공합니다.
아키텍처 및 비즈니스 로직
위 이미지는 StarkNet 및 StarkEx를 사용한 전형적인 애플리케이션의 아키텍처 다이어그램입니다. 이 애플리케이션이 Starkswap이라는 DEX라고 가정합니다.
- 가장 왼쪽 노란색 상자 내의 애플리케이션 ------ 전체 애플리케이션을 운영합니다: 이 오프체인 구성 요소는 사용자 거래를 수신하고 비즈니스 로직 및 실행 순서를 정의합니다. 거래를 StarkEx 서비스로 전달합니다. 이 구성 요소는 애플리케이션의 중앙 집중식 프론트엔드로, 일반적으로 웹 또는 클라이언트입니다.
- 연한 파란색 상자 내의 StarkEx 서비스 ------ 배치 처리 및 조정: 오프체인 구성 요소로, 일련의 작업을 배치 처리하고 작업에 따라 시스템 상태를 업데이트합니다. 각 배치에 대해 이 작업을 (Cairo 언어로 실행되며, 먼저 Solidity의 바이트코드를 Cairo 언어의 스마트 계약으로 변환한 후 Cairo 언어 환경에서 실행) SHARP에 보내 유효성을 증명합니다. 증명이 검증되면 체인에 새로운 상태가 게시됩니다. 상태는 머클 트리로 표현됩니다. 각 Vault의 구조와 내용은 구현된 특정 비즈니스 로직에 따라 다릅니다. 머클 트리 루트는 체인에 제출할 상태를 나타냅니다.
- SHARP ------ 공유 증명기 (StarkWare가 애플리케이션에 맞게 특별히 설계함): SHARP는 Cairo 언어의 공유 증명 서비스입니다. 다양한 애플리케이션으로부터 증명 요청을 수신하고 Cairo 코드 실행의 유효성을 증명하는 증명을 출력합니다. 출력된 증명은 여러 증명 요청 간에 공유될 수 있습니다. 이 구성 요소의 이전 이름은 Generic Prover Service였습니다. 따라서 이 구성 요소는 본질적으로 특정 서비스를 포함하는 백엔드 서버입니다. StarkWare의 중앙 집중식 서버에 배포된 것으로 추측됩니다.
- StarkEx 계약 (Verifier 계약) ------ 상태 업데이트, 입금 및 출금: 이 계약은 두 가지 주요 기능을 가지고 있습니다. 첫 번째 기능은 유효성 조건을 충족한 후 시스템 상태를 업데이트하는 것이고, 두 번째 기능은 비관리 방식으로 StarkEx로의 입금 및 출금을 관리하는 것입니다 (어떤 경우에도 사용자는 자신의 자금을 인출할 수 있습니다). 이 구성 요소는 이더리움의 스마트 계약입니다.
Starkswap의 비즈니스 로직은 다음과 같습니다:
- 요청 처리:
연한 파란색 상자 내의 StarkWare 애플리케이션은 고객 요청을 처리하고 이러한 거래를 증명 가능한 진술로 변환하여 깊은 파란색 상자 내의 SHARP로 보냅니다. 모든 요청 전송 및 처리는 그림의 첫 번째 단계 API와 두 번째 단계의 배치 문장을 통해 이루어집니다 (하나의 배치에서 여러 요청을 컴파일할 수 있습니다).
- SHARP 증명:
깊은 파란색 SHARP가 증명을 구성합니다.
- 증명 등록:
SHARP는 증명을 분홍색 상자 내의 세 번째 단계의 온체인 검증자 스마트 계약으로 전송합니다.
- 상태 전환 등록:
네 번째 단계에서 StarkWare 애플리케이션은 Starkswap 스마트 계약에서 애플리케이션 상태 전환을 수행합니다.
다섯 번째 단계에서 전환의 유효성을 보장하기 위해 (SHARP의 검증), Starkswap의 스마트 계약은 전환 문장이 Verifier 스마트 계약에 등록되었음을 확인합니다.
기능 및 암호 알고리즘
https://docs.starkware.co/starkex-v3/crypto/stark-curve
기능 세부 사항:
- 오프체인 상태: 잔액 트리 및 순서 트리. 머클 트리를 통해 자금 상태의 안전성과 신뢰성을 보장하며, 이중 지출 문제를 피합니다.
- 흐름 설명:
- 온체인 계좌 (계좌의 잔액은 체인 외부에 저장 및 관리되며, 자금이 온체인 계좌로 이동하지 않는 한. L1의 관점에서 이들 계좌의 자금은 StarkEx 스마트 계약 하에 저장됩니다.)
- 오프체인 계좌 (모든 잔액 지시는 L1 거래로 도착합니다. 온체인 계좌의 특별한 속성은 개인 키가 필요 없다는 것입니다 (stark의 개인 키), 따라서 스마트 계약이 이러한 계좌의 "소유자"가 됩니다. 따라서 L1 사용자와 애플리케이션은 StarkEx를 통해 거래하고 모든 주문과 일치시킬 수 있습니다. 온체인 거래 모드는 StarkEx 애플리케이션과 L1 애플리케이션 간의 상호 운용성을 구현하여 DeFi 풀링 또는 유동성 집합체가 사용할 수 있습니다).
- StarkEx 특정 개념: StarkEx에는 많은 개념이 있습니다 이더리움과 다르므로 개발자는 추가 학습이 필요합니다.
- 그 외에도 StarkEx는 정보 암호화, 배치 라이트닝 대출, DeFi 풀링 등의 특정 작업을 수행합니다.
- 암호 알고리즘: STARK 타원 곡선, 페더슨 해시 함수, KDF. 위의 암호 알고리즘과 참조 예제를 사용하여 제3자 지갑이 StarkEx를 통합할 수 있습니다.
Cairo
소개
Cairo는 STARK 증명을 생성하는 최초의 생산급 플랫폼입니다. 이는 Turing 완전하며 매우 효율적입니다. StarkNet에 고성능 및 낮은 가스 비용의 Layer 2 애플리케이션 구성 요소를 배포하려면 Cairo를 사용하여 애플리케이션을 작성해야 합니다. Cairo 언어는 전문 계약 언어가 아니지만, 계약과 유사한 내용을 작성하는 데 사용될 수 있으며 주로 그렇게 사용됩니다.
zk-Rollups의 현재 단점은 일반 계산입니다: 스마트 계약 로직을 롤업에 직접 이식하는 것이 더 도전적이므로, 제한된 기능만 사용할 수 있습니다. 그러나 Cairo는 이 공백을 메우며, 스마트 계약 로직을 롤업에 직접 이식할 수 있습니다. zkSync와 Optimistic의 접근 방식은 각각 롤업이 EVM 호환 및 EVM 동등성을 달성하도록 하는 것입니다 (보다 포괄적이고 더 나아간 EVM 호환).
특징
1. 계산 완전성
계산 완전성은 규제가 없는 상황에서도 계산의 공정성을 보장할 수 있음을 나타냅니다. 계산 완전성을 보장하는 방법에는 다섯 가지가 있습니다: 은행 위임 책임 (신뢰 기반, 감사 등), 계산 재현 가능성 (예: 비트코인 및 기타 L1이 모든 거래를 공개), 신뢰할 수 있는 실행 환경 (예: 인텔의 SGX), 사기 증명 (Optimistic 롤업, 위임 책임과 계산 재현 가능성 사이), 암호학적 증명 (zk-STARK). Cairo 언어는 여러 논문과 수학적 증명의 검증을 거쳐 zk-STARK의 증명을 안전하고 신뢰할 수 있게 생성하여 계산 완전성을 보장할 수 있습니다.
2. AIR (대수 중간 코드 표현)
STARK 증명 과정에서 많은 대수 증명 연산 및 기호가 필요하며, Cairo는 컴파일러를 통해 프로그래밍 언어를 Cairo 바이트 코드로 변환하여 모든 수학적 증명 단계를 포함하는 AIR를 생성하고 최종 결과를 생성합니다. Cairo 언어에는 증명 세부 사항을 확인할 수 있는 AIR 시각화 도구가 있습니다.
3. 언어 설계
Cairo 언어의 설계는 Minimal Variable Language 원칙을 따르며, 적절함을 강조합니다. 동시에 언어의 표현성 (개발자가 읽기 쉬움)과 STARK 증명의 생성 효율성을 달성했습니다. Cairo 언어의 설계는 복잡하지 않으며, 세 개의 레지스터 (PC, 할당 포인터, 프레임 포인터)와 간결한 명령어 집합만을 가지고 있습니다. Cairo 언어는 함수, 재귀, 분기, 판단 등과 같은 몇 가지 필수 기능도 지원합니다. Cairo 언어의 설계는 수학적 증명의 논리에 더 부합하며, 더 정돈된 느낌을 줍니다.
4. 도구 체인
컴파일러, 가상 머신, 코드 편집 환경 플러그인 (VSCode의 코드 제안 플러그인), 추적 프로그램, 코드 예제.
언어 생태계
현재 Cairo 언어의 생태계는 매우 포괄적이지만 젊습니다. 도구 체인 측면에서 모든 것이 갖춰져 있으며, 이러한 도구의 GitHub 별 수를 통해 큰 주목을 받지 못했음을 알 수 있지만, 저장소의 개발자는 지속적으로 업데이트하고 있으며, 기본적으로 1~2주 내에 새로운 커밋이 이루어집니다. 앞으로 Cairo 언어는 더욱 개방적이 될 것이며, 더 많은 개발자를 양성한 후 StarkEx 엔진에서 Cairo 코드를 작성하는 작업은 StarkWare에서 오픈 소스 개발자에게 이전될 가능성이 높습니다. 이는 StarkWare 애플리케이션의 탈중앙화에 큰 의미를 가질 것입니다.
더 중요한 것은 OpenZeppelin이 Cairo 언어의 ERC-20, ERC-721 등 기본 템플릿의 구현을 진행하고 있다는 것입니다. 이 구현의 의미는 개발자가 이를 기반으로 개발할 수 있도록 편리하게 하여, 개발자가 안심하고 대담하게 이 구현을 복사하고 신속하게 개발하며 보안성에 대해 과도하게 걱정할 필요가 없도록 하는 것입니다. 저장소의 커밋을 보면, OpenZeppelin은 현재 Cairo 언어에 대한 지원을 위해 전담 인력을 두고 있으며, StarkWare 생태계에 대한 OpenZeppelin의 중요성을 입증합니다.
요약
Layer 2 솔루션 제공업체로서 StarkWare는 dYdX와 Immutable과 같은 인기 제품을 만들어냈습니다. 다양한 솔루션 중에서 StarkWare의 zk-STARK 기술은 Layer 2에서 가장 많은 거래 수를 지원합니다. Prover의 수학적 최적화, Cairo 언어의 수학적 최적화, StarkEx 엔진의 증명 조정까지, StarkNet은 탈중앙화된 zk-STARK 네트워크로서 매우 높은 성능을 제공하며, 전체 운영 프로세스의 최적화를 이루었습니다. StarkWare는 최첨단 기술과 완전한 기술 서비스를 통해 Layer 2 애플리케이션의 방대한 거래량을 지원하며, 미래에는 오픈 소스를 수용하고 더욱 탈중앙화되어 이더리움 2.0의 구축에 기여할 것입니다.