[KYVE series] #01 Arweave와 KYVE의 개요 & Data availability

본 게시글은 Arweave를 사용한 데이터 영구 저장 검증 솔루션인 KYVE에 대해 분석합니다. KYVE 분석 글은 시리즈로 게시되었으며, 본 글(1편)에서는 Arweave와 KYVE에 대한 개괄적인 설명을 다루고 있습니다. 또한, Modular blockchain에서의 Data availabilty와 탈중앙화 스토리지 프로토콜에서의 Data availabilty의 다른 점을 살펴봅니다. 2편에서는 Arweave와 KYVE, Bundlr의 작동 원리와 로직에 대해서 분석합니다.

Author
신지훈(FB)
Seoul Nat’l Univ. Blockchain Academy Decipher(@decipher-media)
Reviewed By 정재환(Twitter)

[KYVE series]

  1. Arweave와 KYVE의 개요 & Data availabilty
  2. KYVE, Bundlr 로직 분석

목차

  1. Intro
  2. Arweave architecture
  3. KYVE architecture
  4. Data availabilty 비교
  5. Outro
  6. References

1. INTRO

인터넷 상의 정보 변조와 손실, 접근 장애는 빈번합니다. 2008년 이후 온라인에서 발행된 New York Times 기사의 43%가 접근이 불가능한 사례와 21년 12월에만 총 3번의 장애가 발생해 Coinbase와 Netflix 등 많은 기업에 피해를 끼친 Amazon Web Services와 같은 클라우드 컴퓨팅 기업의 사례에서 확인할 수 있습니다. 또는 2021년 홍콩의 민주화 운동과 2022년 우크라이나-러시아 전쟁에서의 국가 수준의 검열 사례를 통해서도 알 수 있습니다. 이렇듯 중앙화된 데이터 스토리지는 많은 문제에 노출되고 있습니다.

콘텐츠 검열과 변조, 장애 뿐만 아니라 블록체인 크기 문제에 대한 우려도 있습니다. Bitcoin의 블록체인 크기는 2020년 7월 290GB에서 2021년 7월 355GB, 2022년 7월 415GB로 연평균 20%씩 꾸준히 증가해왔습니다. Ethereum은 2020년 1월 235GB에서 2021년 1월 610GB, 2022년 1월 1140GB로 기하급수적으로 성장했다가 22년 2월 530GB로 감소했습니다. Ethereum이 Bitcoin보다 빠르게 블록체인 크기가 증가하는 이유는 Ethereum이 UTXO가 아닌 계정을 기반으로 상태를 정의하기 때문입니다. 더 많은 사용자들이 Mass adoption과 함께 이더리움 생태계에 참여하면 Ethereum의 블록체인 크기는 기하급수적으로 증가하게 됩니다. 이는 개인들의 풀노드 구축을 어렵게 만들어 중앙화라는 또 다른 문제를 야기합니다.

이렇게 블록체인 크기가 커져서 제한적이고 상호 운용과 확장이 어려운 스토리지를 가진 수많은 블록체인들이 가진 한계를 해결하기 위해 Filecoin과 Sia, STORJ, Arweave 등 여러 솔루션이 탄생했습니다. 앞선 문제를 Overlabs에서 Ethanos라는 프로젝트로 문제 해결을 시도하고 있기는 하지만, 이 중에서도 Arweave는 탈중앙화와 더불어 데이터 영속성에 초점을 맞춘 솔루션입니다.

데이터 영속성은 기존 데이터를 언제든지 복구할 수 있는 형태의 데이터로 저장하는 기능을 의미합니다. Messari논문에 따르면 모든 소셜미디어 링크의 1/3이 2년 내로 끊어질 수 있습니다. 이렇게 중앙화된 웹2.0 플랫폼의 결과물과 마찬가지로, Filecoin과 Sia, STORJ는 만약 사용자가 결제를 중단할 경우 데이터에 대한 접근성을 영구 보장하지 않습니다. 하지만 Arweave는 사용자가 결제를 중단해도 데이터에 대한 접근성을 영구 보장하는 데이터 영속성을 갖추고 있습니다.

2. Arweave architecture

Arweave는 데이터를 지속가능하고 단 한 번의 비용지불만으로도 영구적으로 저장할 수 있도록 해주는 프로토콜입니다. Yellow paper에 따르면 Arweave는 지속가능한 방식으로 확장성이 있고 영구적인 온체인 데이터 저장소를 제공하도록 설계되었습니다. 22년 6월 28일을 기준으로 데이터 1GB 저장에 0.28AR(=$2.8)의 비용이 책정되고 있습니다. 22년 3월 4일 CoinDesk의 Arweave co-founder Sam Williams 인터뷰에 따르면 Arweave에는 1천개 이상의 노드와 15만명 이상의 사용자, 1.5천억개 이상의 파일을 가지고 있고 매일 15억개 이상의 파일이 추가되고 있습니다.

Arweave는 하드 디스크 드라이브와 같은 비휘발적인 데이터 저장소에 여유가 있는 사용자와 데이터 저장 또는 콘텐츠 호스팅을 영구적으로 하고자 하는 사용자를 연결하는 것이 핵심입니다. 이 프로토콜에 참여하는 사용자는 더 많은 데이터 복제본을 만들도록 인센티브가 설계되었습니다. 이러한 인센티브는 Arweave만의 독창적인 Blockweave(블록체인 구조)와 자체 합의알고리즘인 Succinct Proof of Random Access(SPoRA), 지속가능한 기금(Endowment Pool)을 통해 블록을 생성하도록 합니다.

Blockweave는 하나의 블록이 가장 최근의 블록을 포함해 또 다른 블록과도 연결되어있는 구조입니다. 이때 연결된 또 다른 블록을 Recall block이라고 하며 다음과 같이 표현될 수 있습니다. Blockweave의 가장 큰 장점은 Miner가 모든 데이터를 다운로드할 필요가 없다는 것에 있습니다. 이처럼 총 두 개의 블록과 연결된 그래프 구조의 Blockweave에서 블록을 채굴할 확률은 Recall block을 가지고 있을 확률과 Recall block을 가진 노드 중 해시 파워 비중의 곱으로 구할 수 있습니다.

출처 : Arweave white paper
출처 : Sam Williams youtube

특별한 Blockweave의 구조는 Miner로 하여금 전체 데이터를 모두 저장할 동기로 작용했습니다. 이를 Proof of Access(PoA) 합의알고리즘이라고 합니다. PoA는 이전 블록 해시값과 Recall block의 전체 데이터, 후보 블록의 트랜잭션과 메타 데이터를 합쳐 새로운 블록을 만들어내고 이를 네트워크에 전파하는 방식을 채택했습니다. 하지만 PoA는 Miner가 스토리지가 저렴한 지역에서만 노드를 운영해 데이터 접근 속도가 느리다는 단점이 있었습니다. Miner의 데이터 접근 속도 동기를 고려하기 위해 Arweave는 21년 2월부터 PoA를 업데이트한 SPoRA 합의알고리즘을 적용했습니다. PoA와 가장 큰 차이는 논스값에 따라 달라지는 Challenge byte를 읽는 과정을 추가해 Miner의 데이터 접근 속도를 증가시키는 요인을 추가했다는 것입니다. SPoRA 합의알고리즘은 다음과 같이 작동합니다.

(1) 블록을 생성할 때 임의의 데이터를 읽을 노드를 위해 전체 네트워크의 10% 정도인 Network-wide search subspace를 선정합니다.
(2) 후보 블록의 메타데이터와 논스값은 RandomX 함수를 사용해 함께 해시됩니다.
(3) 이 해시의 결과로 나온 매우 큰 정수값을 Search space 크기에 맞춰 줄입니다. 이 숫자는 1단계에서 계산한 Search space에 추가되며, Miner가 채굴에 지속적으로 참여하기 위해 증명해야하는 Challenge byte로 사용됩니다.
(4) Miner는 Challenge byte가 포함된 데이터를 디스크에서 메모리로 읽으려고 시도합니다. Miner가 지정된 데이터의 복사본을 보유하고 있지 않으면, 2단계부터 채굴 절차를 다시 시작합니다.
(5) Miner는 데이터셋의 적절한 위치에서 주어진 Byte가 포함된 Merkle proof를 읽거나 재생성해야 합니다.
(6) 블록의 메타데이터와 Merkle proof, Challenge byte가 포함된 데이터, 논스값은 RandomX 함수를 사용해 함께 해시됩니다.
(7) 이 해시의 결과물로 출력된 숫자는 다음 네트워크의 현재 난이도로 검증되는데 사용됩니다. 네트워크에서 블록 생성 주기당 한 번의 시도를 제외한 모든 시도가 이 유효성 검사에 실패하면 Miner는 2단계부터 다시 시작합니다.
(8) 노드가 유효한 후보 블록에 대해 증명했다면, 블록 헤더가 전체 네트워크의 나머지 부분에 배포합니다.

현재 네트워크에 참여하는 사용자들이 데이터 저장을 그만두더라도, AR토큰과 지속가능한 기금을 통해 기존 참여자의 현상 유지와 새로운 사용자의 참여를 유도할 수 있습니다. 사용자는 지속가능한 기금에 제공하는 비용과 트랜잭션 리워드를 트랜잭션의 비용으로 지불합니다. 채굴자는 블록 보상(채굴한 블록에 있는 모든 트랜잭션의 리워드)과 인플레이션 리워드, 지속가능한 기금이 제공하는 리워드를 받습니다. 이때 채굴자가 수익성을 만족했다면 지속가능한 기금이 제공하는 리워드는 제공되지 않으며 이를 통해 지속가능한 기금은 미래를 위해 리워드를 모을 수 있습니다. 만약 채굴자가 데이터 저장에 대한 충분한 보상을 받지 못한다면, 지속가능한 기금을 통해 보상합니다. 기술의 발전에 따라 데이터 저장 비용이 계속 감소하고 있다는 부분은 Arweave의 토크노믹스가 앞으로도 유효할 수 있다고 판단할 수 있는 근거중에 하나로 볼 수 있습니다. 다음은 지속가능한 기금이 사용되는 전체 프로세스를 설명한 이미지입니다.

출처 : Delphi digital

지속가능한 기금은 프로토콜의 트랜잭션 비용을 통해 계산해볼 수 있습니다.

출처 : Arweave yellow paper

네트워크에 의해 전송된 어떠한 임의의 블록 보상도 Blockweave를 유지하는데 필요한 비용의 총합보다 커야하며, 블록 보상은 블록에 담긴 트랜잭션 비용과 블록의 인플레이션 보상, 지속가능한 기금에서 지불된 AR토큰의 총합으로 이루어집니다.

출처 : Arweave yellow paper

R(fees)는 블록에 담길 모든 트랜잭션 비용의 총합이고, R(inflation)은 매 블록마다 나오는 미리 정해진 보상입니다. R(endowment)는 지속가능한 기금에서 지불되는 토큰의 총합입니다. 여기서 Prop 함수는 지속가능한 기금의 기본 보상을 바탕으로 Arweave 네트워크에서의 블록 평균 크기에 비교해 새로운 블록을 채굴하는데 필요한 이전 블록의 크기와 비례하도록 합니다. 이를 바탕으로 다음 블록으로 전송될 지속가능한 기금은 아래와 같이 계산됩니다.

출처 : Arweave yellow paper

Arweave는 Arweave의 스마트 컨트랙트인 Smart Weave가 없다면 단순 탈중앙 저장소에 불과합니다. Layer 1으로서 Arweave의 생태계 위에서 작동하는 dApp(Decentralized Application)은 Smart Weave를 통해 동작합니다. 기존 Layer 1의 스마트 컨트랙트와 Smart Weave가 다른 점은 네트워크의 모든 노드가 모든 트랜잭션을 실행하는 것이 아니라는 것입니다. 바로 트랜잭션의 유효성 검증을 해당 스마트 컨트랙트를 사용하는 사용자에게 전가한 것입니다. 만약 사용자가 dApp을 사용하고자 한다면, 사용자는 아래와 같이 유효한 상태의 마지막 블록에 도달할 때 까지 이전의 모든 트랜잭션을 검증하고 최종적으로 바뀐 상태를 Arweave에 기록합니다. 이러한 Smart Weave의 장점은 Validator를 스마트 컨트랙트 검증 업무에서 해방시켜 결과적으로는 스마트 컨트랙트 작동을 위한 수수료를 지불할 필요가 없어지도록 한다는 부분입니다. 이를 통해 스마트 컨트랙트의 확장성이 높아져 복잡한 재무 모델링부터 GPU 렌더링, CNN(Convolutional Neural Network)까지 무거운 계산을 할 수 있게 합니다.

출처 : Arweave medium

Arweave의 궁극적인 비전인 PermaWeb은 Arweave와 Smart contract, Gateway, GraphQL을 통해 동작합니다. Arweave는 데이터 저장소로서 AR토큰과 지속가능한 기금을 통해 영구적인 데이터 접근을 보장하며 Smart Weave는 Arweave 위에서 작동하는 스마트 컨트랙트입니다. Gateway는 서버로서 콘텐츠를 전달하고자 하는 사용자에게 그들 스스로가 가장 적절한 메커니즘을 선택할 수 있도록 합니다. GraphQL은 이미 잘 알려진 것처럼 웹 애플리케이션이 데이터를 서버로부터 효율적으로 가져올 수 있는 쿼리 시스템입니다.

PermaWeb은 자체 이익 공유 커뮤니티(Profit Sharing Communities)를 통해 PermaWeb 위에서 실행되는 애플리케이션에서 창출된 수익을 제작자와 후원자, 사용자에게 나눠주는것 외에도 특정 커뮤니티로 하여금 애플리케이션 자체를 운영하고 조직할 수 있도록 합니다. 이를 통해 PermaWeb 위에서 실행되는 애플리케이션은 원래 개발자의 추가 유지보수 비용 투입없이 지속적으로 운영되고 검열저항성을 가질 수 있습니다.

데이터 영속성을 보장하는 Arweave의 특성으로 인해 Arweave 생태계 위에 다양한 프로토콜들이 출시되고 있습니다만, 아직 눈에 띄는 유즈케이스가 없어 성공을 확신할 수 없습니다. 생태계에는 Arweave가 AR토큰의 변동성에 안정적일 수 있을지와 기술의 발전과 그에 따라 기하급수적으로 증가하는 데이터 크기를 지속가능한 기금이 감당할 수 있을지에 대한 의견차이가 있습니다.

22년 4월 Arweave WIKI에 업로드된 Arweave의 저장 비용 안정화 메커니즘에 대한 아티클이 있습니다. 이 글에 따르면 저장 비용은 AR토큰 가격과 Fiat의 가격에 의존하는 것이 아니라 Miner가 지불하는 실제 비용에 의존합니다. 이는 아래 이미지와 같은 저장 비용 산출식을 통해 알 수 있습니다. 여기서 AR토큰의 가격에 영향을 끼치는 주요 요인은 Network difficulty와 Inflation rewards 입니다. Network difficulty가 증가할 수록 더 많은 Miner가 생태계에 참여한다는 의미(AR토큰 가격 상승)이며, Inflation rewards가 감소할 수록 채굴 비용을 맞추기 위해서 AR토큰의 가격이 상승해야 합니다.

Baseline : 특정 시점에서의 AR 토큰 가격

이를 바탕으로 아직 Arweave의 눈에 띄는 유즈케이스는 없지만, 적어도 Arweave가 AR토큰의 변동성에도 안정적이며 기하급수적으로 증가하는 데이터를 감당할 수 있도록 설계된 것을 알 수 있습니다.

3. KYVE architecture

Arweave가 영구적으로 데이터 접근을 보장하는 탈중앙 데이터 저장소를 통해 PermaWeb을 꿈꿨다면, KYVE는 Arweave에서의 데이터 검색 프로세스를 표준화한 쿼리 인터페이스를 제공해서 손쉽게 데이터를 Retrieve 할 수 있도록 합니다. 예를 들어 사용자들은 KYVE를 통해 Stacks와 Avalanche, Cosmos 등의 KYVE가 지원하는 L1 & L2의 모든 Raw 데이터에 접근할 수 있는 쿼리를 보낼 수 있습니다.

출처 : KYVE Docs

KYVE는 위 이미지와 같이 Chain Layer와 Protocol Layer 두가지로 구분되어있습니다. Chain Layer는 Cosmos SDK를 활용한 블록체인 개발 지원 도구인 Ignite를 통해 지분증명 방식으로 설계되었습니다. Chain node라고 부르는 독자적인 밸리데이터들이 블록체인 네트워크에 참여하며 거버넌스 토큰은 $KYVE 입니다. Protocol Layer는 Chain Layer의 위에서 스테이킹과 위임, Funding(KYVE만의 특별한 기능) 등 다양한 기능을 수행하며 KYVE의 활용 사례를 만들 수 있도록 합니다. Protocol node는 Pool에서의 데이터 업로드와 Validating을 담당하며 1 Pool당 50개의 밸리데이터가 한정적으로 참여할 수 있습니다.

출처 : KYVE Pool

Arweave 스마트 컨트랙트인 Smart weave를 통해 DAO 형태로 운영되는 Pool에는 데이터가 존재합니다. Pool에 참여하는 노드가 데이터를 받아서 계산하고 결과를 Arweave에 기록해 데이터 업로드와 Validating을 수행합니다. 모든 네트워크 참여자가 Pool을 자유롭게 Pool을 생성할 수 있고 어디서나 데이터를 가져올 수 있습니다. 각 Pool별로 특정 기준이 충족되면 Pool은 Uploader나 Validator와 같이 지정된 역할을 수행하는 노드에게 $KYVE를 지급합니다. 이때 Pool 생성자가 초기에 보상 수량을 결정하며, Pool에 참여해 특정 역할을 수행함으로써 보상을 받는 노드는 수행전에 일정량의 $KYVE를 스테이킹해야합니다. 이후 Uploader나 Validator가 언제든지 Pool의 목적에 반하면 Pool 참여자의 올바른 행동 유도를 위해 스테이킹된 $KYVE를 투표에 의해 슬래싱할 수 있습니다.

다시 말해 Uploader와 Validator로 이루어진 Pool 생태계에서 밸리데이터들은 각 Pool에 참가하기 위해 먼저 일정량의 $KYVE를 스테이킹해야합니다. Pool당 하나의 Uploader만 선택될 수 있으며, Uploader는 데이터 소스로부터 데이터를 가져와 Arweave에 기록합니다. Uploader는 아래 이미지의 특정 공식을 통해 선택됩니다.

출처 : KYVE Docs

Validator는 Uploader가 제출한 데이터가 있는 트랜잭션 ID를 확인해 업로드한 Raw 데이터를 다운로드해서 원본 JSON 포맷으로 분해한 다음 간단하게 해시값을 비교합니다. 다른 Validator가 만약 Uploader가 조건을 위반한 것이나 노드가 일정시간 이상 오프라인이 된 것을 발견하면 Uploader의 스테이킹된 $KYVE를 투표를 통해 슬래싱합니다. 이때 해당 Validator가 Uploader 역할을 대체합니다.

이렇게 Pool을 중심으로 이뤄지는 KYVE Protocol Layer에서 가장 중요한 로직은 Funding입니다. 모든 Pool은 아무에게나 Funding을 받을 수 있으며, 만약 Pool의 Fund가 떨어진다면 해당 Pool은 멈추게 됩니다. 어떤 사용자가 특정 Pool의 데이터를 사용하고 싶다면 Funding을 해야만 합니다. 그래야 밸리데이터가 Pool에 지속적으로 참여해 네트워크를 활성화할 수 있고, Funding한 사용자는 지속되는 Pool의 데이터를 통해 사업을 지속할 수 있기 때문입니다. Funding 슬롯은 각 Pool당 100개이며, 만약 100개가 다 찼다면 최저 Fund보다 더 많은 $KYVE를 제공해 경쟁을 하는 형태가 됩니다.

출저 : KYVE Docs

앞서 간략하게 설명했듯 KYVE Protocol Layer에서는 슬래싱이 주요한 거버넌스 의사결정 포인트입니다. 크게 업로드 슬래싱과 보트 슬래싱, 타임아웃 슬래싱 세 가지로 구분됩니다.

업로드 슬래싱은 네트워크 참여자(노드)가 제시한 프로포절에 대다수의 Validator가 반대하면 프로포절 제안자의 스테이킹 물량의 20%를 슬래싱하는 것입니다. 보트 슬래싱은 Validator가 데이터 검증을 부정확하게 진행했는데 투표율이 50% 이상인 경우 투표를 통해 Validator가 스테이킹한 물량의 10%를 슬래싱하는 것입니다. 타임아웃 슬래싱은 Uploader가 10분 이상 오프라인이어서 데이터를 업로드하지 못한 경우에 Uploader의 스테이킹 물량을 슬래싱하는 것입니다. 이때 오프라인 상태였음에도 불구하고 데이터 사용에 이상이 없었다면 프로포절을 제시한 다른 Validator가 1% 슬래싱을 당합니다.

4. Data availability 비교

KYVE의 Litepapaer에는 KYVE가 Arweave와 함께 확장성과 영속성, Data availability을 보장한다고 적혀있습니다. 대표적인 Modular blockchain(기능별로 블록체인 아키텍쳐를 분리해 별도의 레이어에 위임하는 형태로 Monolithic blockchain의 반대를 의미)의 예시인 Celestia의 홈페이지 FAQ에서도 Data availability를 노드가 다운로드할 수 있도록 트랜잭션 데이터를 제공하는 기능이라고 따로 정의하고 있습니다. 언뜻보면 데이터에 접근한다는 측면에서 두 생태계에서의 Data availability의 의미를 헷갈리기 쉽습니다. 이러한 사용자들을 위해 Celestia에서는 탈중앙화 스토리지 프로토콜과 Modular blockchain에서의 Data availability의 차이를 간단히 언급했습니다.

출처 : Celestia twitter

Celestia가 Data availability(노드가 다운로드할 수 있도록 트랜잭션 데이터를 제공하는 기능)에 초점을 맞춘 블록체인이라면, 탈중앙화 스토리지 프로토콜(Arweave, Filecoin)은 데이터 저장과 복구에 초점을 맞춘 블록체인이라고 설명하고 있습니다. 이 당시에는 아직 Arweave 생태계 위의 다른 프로토콜들이 활성화되지 않아서 이렇게 답변할 수 있지만 현재는 상황이 조금 달라졌다고 생각합니다. 오히려 오프체인에서 데이터를 취합해 Arweave에 업로드하고 Arweave에서의 데이터 검색 프로세스를 표준화한 쿼리 인터페이스를 제공해 사용자로 하여금 손쉽게 데이터를 복구할 수 있도록 하는 KYVE를 활용하면, Arweave도 단순 데이터 저장과 복구에서 더 나아가 Celestia가 언급하는 Data availability 기능을 수행할 수 있을 것으로 생각합니다. 뿐만 아니라 KYVE는 Stacks와 Avalanche, Cosmos 등 여러 L1 & L2 체인들을 지원해 해당 체인들의 모든 Raw 데이터에 접근할 수 있습니다. 오히려 Monolithic blockchain들의 Data availability를 해결한다고도 생각해볼 수 있을것 같습니다.

5. Outro

이처럼 Data availability에 대한 중요성이 커지면서 Layer 1으로서 Arweave의 생태계는 계속 확장되고 있습니다. 다만, 블록체인 생태계에서 발전하고 있는 탈중앙화 스토리지 프로토콜들을 사용한 유즈케이스가 나와야 지속가능성에 대한 의문이 해결될 것입니다. 어떤 프로토콜이 아니겠냐마는 거버넌스 토큰 그 자체가 효용을 가지는 프로젝트와는 다르게 Arweave와 KYVE는 비즈니스 참여자들이 데이터를 저장해서 그 데이터를 사용해야만 지속가능합니다. 구체적으로 다시 설명한다면 KYVE의 Pool에 Funding을 하는 네트워크 참여자인 비즈니스를 하는 기업 혹은 개인이 KYVE를 사용할 이유가 없다면 Funding할 이유가 없고 결국 KYVE는 지속가능하기 어렵습니다. 이는 다시금 블록체인 솔루션으로 해결가능한 문제를 찾아나가는 2019년의 블록체인 Mass adoption 문제로 회귀합니다.

하지만 블록체인 생태계에서 주목받는 아젠다 중 하나인 Monolithic과 Modular 중에서 어떤 시스템이 살아남을지에 대해서 의견이 나뉘는 상황에서 Arweave와 KYVE는 Monolithic blockchain 생태계에 Data availability의 관점으로 기여할 수 있을것이라 생각합니다. 즉, 탈중앙화 스토리지 프로토콜은 기능별로 블록체인을 분리해 별도의 레이어에 위임하는 Modular blockchain이 아닌 노드에서 모든 작업을 일괄적으로 처리하는 Monolithic blockchain에 탈중앙화를 훼손하지 않으면서 더 좋은 확장성을 제공할 수 있다고 생각합니다.

Arweave의 생태계에서는 지금도 다양한 애플리케이션이 온보딩하고 있으며, 래퍼 Jay Z의 NFT 프로젝트와 같은 유명한 실사례들이 생기고 있습니다. 이에 2편에서는 Arweave 생태계의 다른 프로토콜(KYVE와 Bundlr)이 구체적으로 어떻게 동작하는지 살펴보도록 하겠습니다.

6. References

--

--