요약: 온체인 데이터는 블록체인 내에 직접 저장되므로 영구적이고 투명하며, 누구나 검증할 수 있습니다. 오프체인 데이터는 블록체인 외부, 주로 기존 서버나 IPFS와 같은 분산형 스토리지 네트워크, 또는 사설 데이터베이스에 저장됩니다. 대부분의 실제 애플리케이션은 두 가지를 함께 사용하며, 중요한 상태 정보는 온체인에 보관하고, 용량이 크거나 덜 중요한 데이터는 비용 절감과 성능 향상을 위해 오프체인에 저장합니다.
간단한 설명
모든 블록체인은 저장 공간이 제한되어 있습니다. 온체인에 데이터를 저장한다는 것은 해당 데이터를 트랜잭션이나 스마트 계약 상태에 기록하여 네트워크 내 모든 노드에 영구적으로 저장되는 것을 의미합니다. 이를 통해 데이터는 변조 방지 기능이 보장되고 누구나 접근할 수 있게 되지만, 그에 따른 비용이 발생합니다. 이더리움의 경우, 가스 요금에 따라 단 32바이트의 데이터를 저장하는 데만도 수 달러의 비용이 들 수 있습니다. 이미지나 문서 전체를 온체인에 저장하는 것은 비용이 너무 많이 들어 사실상 불가능합니다.
이때 오프체인 데이터가 활용됩니다. 개발자는 전체 이미지를 블록체인에 저장하는 대신, IPFS(분산형 파일 저장 네트워크)에 이미지를 저장하고 블록체인에는 IPFS 콘텐츠 해시만 저장할 수 있습니다. 블록체인 기록은 데이터의 내용을 증명하고, 오프체인 저장소는 실제로 데이터를 보관합니다. 이러한 하이브리드 방식은 블록체인의 검증 가능성과 기존 또는 분산형 저장 시스템의 확장성을 모두 제공합니다.
이를 부동산 등기증과 비교해 생각해 보세요. 등기증 자체(소규모이지만 매우 중요한 소유권 증명서)는 카운티 등기소에 등재됩니다. 하지만 실제 주택, 설계도, 검사 보고서, 사진 등은 모두 다른 곳에 존재합니다. 등기증은 해당 부동산을 가리키는 역할을 합니다. 블록체인도 같은 방식으로 작동합니다. 즉, 중요한 증거와 참조 정보를 저장하는 반면, 더 방대한 데이터 세트는 오프체인에 존재합니다.
온체인 데이터로 간주되는 것
온체인 데이터에는 블록체인의 상태나 거래 내역에 영구적으로 기록된 모든 내용이 포함됩니다. 여기에는 거래 기록(보내는 사람, 받는 사람, 금액, 타임스탬프), 스마트 계약 코드 및 상태 변수(토큰 잔액, 소유권 기록, 거버넌스 투표), 스마트 계약에서 생성된 이벤트 로그, 그리고 타임스탬프 및 검증자 정보와 같은 블록 메타데이터가 포함됩니다.
사용자가 탈중앙화 거래소에서 토큰을 교환하면, 거래 금액, 관련된 주소, 그로 인한 상태 변경 등을 포함한 전체 거래 내역이 온체인에 기록됩니다. NFT가 발행되면 토큰 ID, 소유자의 주소, 메타데이터 URI가 모두 스마트 계약의 온체인 상태에 저장됩니다. 이 데이터는 일단 확인되면 변경할 수 없으며, 이는 누구도 사후에 이를 수정할 수 없음을 의미합니다.
온체인 데이터는 블록체인의 핵심 가치인 ‘신뢰 없는 검증’을 가능하게 합니다. 노드를 운영하거나 RPC 엔드포인트에 쿼리를 보내는 사람은 누구나 제3자에 의존하지 않고 온체인 데이터의 어떤 부분이라도 독립적으로 검증할 수 있습니다. 이는 네트워크의 유일한 신뢰할 수 있는 정보원입니다.
오프체인 데이터로 간주되는 것
오프체인 데이터란 블록체인 외부에 존재하지만 온체인 활동에서 참조되거나 이와 관련된 모든 데이터를 말합니다. 여기에는 IPFS나 중앙 집중식 서버에 저장된 NFT 이미지 및 메타데이터 파일, dApp에서 사용하는 대규모 데이터 세트(사용자 프로필, 주문 내역, 분석 데이터), 현실 세계의 정보(가격, 날씨, 스포츠 경기 결과)를 블록체인에 제공하는 오라클 데이터 피드, 레이어 1에서 일괄 처리 및 결제가 이루어지기 전의 레이어 2 거래 데이터, 그리고 스마트 계약과 상호작용하는 애플리케이션 프론트엔드 및 API 등이 포함됩니다.
가장 일반적인 방식은 오프체인 데이터를 가리키는 콘텐츠 해시나 URI를 온체인에 저장하는 것입니다. 예를 들어, 대부분의 NFT 스마트 계약은 IPFS나 웹 서버에 호스팅된 JSON 메타데이터 파일을 가리키는 tokenURI를 저장합니다. 해당 JSON 파일에는 이미지 URL, 설명, 속성 등이 포함되어 있습니다. 블록체인은 이 포인터를 알고 있으며, 오프체인 시스템은 실제 데이터를 보관합니다.
체인링크(Chainlink)와 같은 오라클은 온체인 세계와 오프체인 세계를 연결하는 핵심적인 가교 역할을 합니다. 스마트 계약은 기본적으로 외부 데이터에 직접 접근할 수 없습니다. 주가 확인, 기상 상황 검증, 실제 배송 현황 확인 등의 작업을 수행할 수 없습니다. 오라클은 이러한 오프체인 데이터를 수집하여 검증 가능한 방식으로 온체인으로 전달함으로써, 스마트 계약이 실제 세계의 사건에 반응할 수 있도록 합니다.
상충 관계
온체인에 저장할지 오프체인에 저장할지 결정하는 데는 비용, 속도, 영속성, 신뢰 요건이 핵심 요소로 작용합니다. 온체인 저장은 비용이 많이 들지만 영구적이며 신뢰가 필요하지 않습니다. 오프체인 저장은 저렴하고 빠르지만 외부 시스템에 대한 의존성을 수반합니다. NFT의 이미지가 중앙 집중식 서버에 저장되어 있는데 해당 서버가 다운되면, NFT는 온체인에 여전히 존재하지만 그 NFT가 나타내는 예술 작품에는 접근할 수 없게 됩니다. 이미지가 IPFS에 저장되어 있고 아무도 이를 고정(pinning)하지 않는 경우에도 같은 상황이 발생할 수 있습니다.
IPFS나 Arweave와 같은 분산형 스토리지 프로토콜은 단일 서버에 의존하는 대신 노드 네트워크 전반에 파일을 분산시켜 이 문제를 해결하고자 합니다. IPFS는 콘텐츠 주소 지정 방식(CAS)을 사용하는데, 이는 파일이 서버 위치가 아닌 암호화 해시 값으로 참조된다는 것을 의미합니다. 네트워크상의 노드 중 적어도 하나가 해당 파일을 고정해 두는 한, 해당 파일은 계속 접근 가능합니다. Arweave는 일회성 수수료 모델을 통해 영구 저장에 대한 인센티브를 제공함으로써 이를 한 단계 더 발전시켰습니다.
실전용 애플리케이션을 개발하는 개발자들의 경우, 일반적으로 아키텍처는 재무적으로 중요한 모든 상태(잔액, 소유권, 승인)를 온체인에 유지하고, 대용량 자산은 IPFS와 같은 분산형 저장소에 저장하며, 성능을 위해 자주 액세스되는 데이터는 오프체인 데이터베이스에 캐싱하고, 인덱서와 데이터 파이프라인을 활용하여 온체인 데이터를 쿼리할 수 있도록 구성합니다.
온체인 데이터와 오프체인 데이터의 차이점은 무엇인가요?
온체인 데이터와 오프체인 데이터는 저장 위치와 보장되는 사항에서 차이가 있습니다. 온체인 데이터는 블록체인의 원장에 기록되며 모든 노드에 의해 검증되는 반면, 오프체인 데이터는 체인이 단지 참조만 하는 외부 시스템에 저장됩니다. 아래 표는 두 데이터를 가장 중요한 속성별로 비교한 것입니다.
속성
온체인 데이터
오프체인 데이터
위치
블록 및 계약 상태에 저장됨
서버, IPFS 또는 데이터베이스
비용
높음, 바이트당 가스로 지급
저렴한 표준 스토리지 가격
속도
블록 시간의 제약
빠르고, 거의 즉각적인 읽기 및 쓰기 성능
영속성
확인되면 변경 불가
고정되거나 보관되지 않은 경우 변경 가능
투명성
누구나 열람할 수 있고 검증 가능함
비공개 또는 접근 제한
신뢰 모델
신뢰가 필요 없으며, 합의에 의해 보안이 보장됨
호스트나 스토리지 네트워크에 따라 다릅니다.
다음에 가장 적합합니다
잔액, 소유권, 증명
이미지, 대용량 파일, 캐시된 분석 데이터
어떤 경우에 데이터를 온체인에 저장해야 하고, 어떤 경우에 오프체인에 저장해야 할까요?
일반적인 원칙은 간단합니다. 신뢰가 필요 없고, 최종적이며, 공개적으로 검증 가능해야 하는 모든 것은 온체인에 유지하고, 그 외의 모든 것은 비용 절감과 속도 향상을 위해 오프체인으로 옮기면 됩니다. 아래 표는 일반적인 데이터 유형을 일반적으로 가장 적합한 저장 계층과 매칭한 것입니다.
데이터 유형
추천 장소
왜
토큰 잔액 및 소유권
온체인
신뢰가 필요 없어야 하며, 결과가 확정적이어야 한다
스마트 계약 로직
온체인
실행 여부는 검증 가능해야 한다
NFT 미디어 및 메타데이터
오프체인 (IPFS)
온체인에 저장하기에는 너무 크고 비용이 많이 든다
분석 및 검색 인덱스
오프체인
빠른 쿼리가 필요하며, 체인 데이터를 기반으로 재구축됨
실제 데이터 피드
오라클을 통한 오프체인 처리
체인에서는 외부 데이터를 가져올 수 없습니다
이러한 규칙을 적용하는 로직은 스마트 계약에 구현되어 있으며, 오프체인 측에서는 대개 블록체인 인덱싱을 통해 원시 온체인 이벤트를 검색이 용이한 기록으로 변환합니다. 대규모 환경에서 상태를 어떻게 읽을지 결정하고 있다면, 각 팀이 블록체인 데이터 쿼리를 어떻게 처리하는지 살펴보세요.
레이어 2 및 롤업 거래는 온체인에서 이루어지나요, 아니면 오프체인에서 이루어지나요?
레이어 2 거래는 오프체인에서 시작되어 결제가 완료되면 온체인으로 전환됩니다. 레이어 2 블록체인은 속도를 높이기 위해 별도의 레이어에서 거래를 실행한 다음, 롤업이 이를 묶어 압축된 데이터와 증명을 레이어 1로 전송합니다. 따라서 실행은 오프체인에서 이루어지지만, 최종 데이터와 보안은 온체인을 기반으로 합니다. 두 가지 주요 설계 방식인 낙관적 롤업(optimistic rollup) 과 ZK 롤업은 묶인 오프체인 작업의 유효성을 입증하는 방식에서 차이가 있습니다.
오라클은 오프체인 데이터를 블록체인과 어떻게 연결하나요?
스마트 계약은 자체적으로 인터넷에 접속할 수 없기 때문에, 오프체인 정보를 온체인으로 가져오기 위해 오라클에 의존합니다. 오라클 네트워크는 자산 가격이나 이벤트 결과와 같은 외부 데이터를 수집하고, 그 값에 대해 합의를 도출한 뒤, 다른 계약들이 읽을 수 있도록 해당 계약에 기록합니다. 이를 통해 DeFi 프로토콜은 시장 가격에 반응하고, 보험 계약은 현실 세계의 이벤트에 대응할 수 있으며, 동시에 최종적으로 적용된 값을 온체인에 유지하여 검증 가능하게 합니다.
자주 묻는 질문
오프체인 데이터는 안전한가요?
그럴 수도 있지만, 보장 방식은 다릅니다. 오프체인 데이터는 저장된 위치의 보안 수준을 그대로 따르기 때문에, 중앙 집중식 서버는 단일 장애 지점이 되는 반면, IPFS나 Arweave와 같은 콘텐츠 주소 지정 네트워크는 복사본을 여러 노드에 분산시켜 저장합니다. 오프체인 데이터의 암호학적 해시를 온체인에 저장하면, 누구나 오프체인 페이로드가 변조되지 않았음을 확인할 수 있습니다.
NFT의 오프체인 이미지가 접속이 끊기면 어떻게 되나요?
토큰 자체는 여전히 온체인에 존재하지만, 호스트가 사라지고 아무도 해당 파일을 고정하지 않으면 토큰이 가리키는 아트워크에 접근할 수 없게 될 수 있습니다. 그렇기 때문에 신뢰할 수 있는 프로젝트들은 NFT 미디어를 IPFS나 Arweave에 저장하고, 불안정한 웹 URL 대신 콘텐츠 해시를 온체인에 보관합니다.
스마트 계약이 오프체인 데이터를 직접 읽을 수 있나요?
아닙니다. 스마트 계약은 결정론적이며 외부 세계와 격리되어 있으므로 네트워크 호출을 수행할 수 없습니다. 스마트 계약은 오라클을 통해 오프체인 데이터를 검증 가능한 형태로 온체인에 전달받은 후에야 이를 활용할 수 있습니다.
IPFS는 온체인인가요, 오프체인인가요?
IPFS는 오프체인입니다. 이는 블록체인이 아닌 외부에서 파일을 저장하는 분산형 스토리지 네트워크이며, 블록체인은 일반적으로 해당 파일을 가리키는 IPFS 콘텐츠 해시만 저장합니다.
온체인 과거 데이터는 어떻게 확인할 수 있나요?
최근 상태는 어떤 노드에서든 쉽게 확인할 수 있지만, 전체 이력을 확인하려면 대개 아카이브 노드나 백필 파이프라인이 필요합니다. 일반적인 접근 방식과 각 방식의 장단점에 대해서는 ‘블록체인 이력 데이터에 대한 액세스’를 참조하십시오.
Quicknode의 역할
온체인 및 오프체인 데이터를 모두 다루려면 신뢰할 수 있는 인프라가 필요합니다. Quicknode의 Core API를 사용하면 80개 이상의 체인에 대한 저지연 RPC 액세스를 통해 온체인 데이터를 읽고 쓸 수 있습니다. Quicknode Streams를 사용하면 실시간 블록체인 이벤트를 캡처하여 웹훅, PostgreSQL 데이터베이스, S3 버킷과 같은 오프체인 대상으로 전달할 수 있으므로, 온체인과 오프체인 세계를 연결하는 데이터 파이프라인을 쉽게 구축할 수 있습니다. 분산형 스토리지의 경우, Quicknode의 IPFS 피닝 서비스와 전용 게이트웨이를 통해 자체 IPFS 노드를 관리할 필요 없이 오프체인 콘텐츠를 저장하고 검색할 수 있습니다.