Developer Tools

솔라나 '공개 데이터베이스' 전환: 개발자들, 블록체인 재정의에 나서다

복잡한 API는 잊어라. 솔라나의 #100DaysOfSolana 챌린지 2주차에서 밝혀진 냉정한 진실은 블록체인이 단순한 원장이 아니라, 누구나 접근 가능한 공개 데이터베이스라는 것이다.

솔라나 계정 데이터를 보여주는 터미널 출력 스크린샷.

Key Takeaways

  • 솔라나의 '모든 것은 계정' 모델은 기존 웹2 API와 달리 블록체인을 공개적으로 쿼리 가능한 데이터베이스로 취급합니다.
  • 개발자들은 인증이나 권한 없이 체인 상태를 직접 읽을 수 있어 데이터 접근이 획기적으로 단순화됩니다.
  • SOL을 보유하는 지갑 계정과 토큰을 관리하는 프로그램 계정의 구분은 솔라나의 통일된 계정 모델을 보여줍니다.

모두들 블록체인 데이터를 읽는 것이 블랙박스에 전화 거는 것과 같을 것이라고 예상했다. 복잡한 인증 절차, 까다로운 규칙, 흔히 겪는 웹2 방식 그대로일 거라 생각했다. 개발자들은 익숙한 API의 고통을 예상하며 준비했다. 하지만 그들이 받은 것은 삽과 넓디넓은 빈 들판이었다.

그리고 그곳에 진짜 놀라움이 있었다. #100DaysOfSolana 챌린지 2주차는 한 참가자의 상세한 설명에 따르면, 또 다른 개발 환경을 설정하는 것이 아니었다. 바로 체인 데이터를 ‘직접 들여다보는’ 경험이었다. 뇌 회로가 180도 뒤집히는 듯한 그런 경험 말이다.

예상했던 것:

저는 블록체인 데이터를 읽는 것이 복잡한 설정, 인증 토큰, 혼란스러운 문서로 가득한 신비롭고 느린 API를 호출하는 것처럼 느껴질 것이라고 예상했습니다.

실제로 받은 것:

const { value: lamports } = await rpc.getBalance(address).send();
const sol = Number(lamports) / 1_000_000_000;

키도, 로그인도, 권한도 없다. 그냥… 묻기만 하면 된다. 누구나 언제든 어떤 주소든 쿼리할 수 있다. 이것은 기술적인 허점이 아니라 설계 자체다. 웹2와 비교해보라. 계정 잔액을 확인하려면 수많은 데이터베이스 자격 증명과 미들웨어를 거쳐야 한다. 솔라나에서는 그저 직통 회선인 셈이다.

솔라나의 계정 모델, 정말 데이터베이스와 같을까?

11일차는 이 점을 더욱 명확히 했다. 챌린지는 솔라나 계정을 웹2 데이터베이스와 비교하는 것이었다. 결과는 다음과 같다:

solana account $(solana address)

이 명령은 공개 키, 잔액, 소유자, 실행 가능 상태를 쏟아냈다. 그러더니, solana account TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA로 전환하자 다른 세부 정보가 나왔다: 소유자(BPFLoader), 실행 가능 상태, 길이. 하나는 SOL을 보유했고, 다른 하나는 모든 SPL 토큰을 관리하는 컴파일된 코드인 토큰 프로그램 자체였다. 둘 다 그저 ‘계정’일 뿐이었다. ‘모든 것은 계정’이라는 슬로건이 이제 마케팅 문구가 아닌, 진짜 사고 모델로 개발자들의 뇌리에 박히기 시작했다.

이것이 바로 전환의 핵심이다. 테이블과 행을 생각하는 것을 멈춰라. 계정과 소유자를 생각하기 시작하라. 데이터의 모든 조각, 상태의 모든 부분은 계정 안에 존재한다. 그리고 각 계정에는 소유자 프로그램이 있다. 해당 프로그램만이 그것을 건드릴 수 있다. 이것은 제약이 아니라, 신뢰가 필요 없는 시스템의 근간이다. 이것이 중간 관리자 없이도 작동하는 ‘공개 데이터베이스’의 방식이다.

12일차는 더욱 명확한 그림을 제시했다. 두 개의 RPC 연결, 하나는 devnet, 하나는 mainnet을 동일한 주소로 향하게 했다. 결과는? 완전히 다른 잔액과 거래 내역을 보여주었다. 터미널에서 같은 주소의 명확히 구분되는 상태를 나란히 보는 것은 추상적인 별도 네트워크 개념을 생생하게 만들었다.

체인 상태에 대한 이러한 파격적으로 개방된 접근 방식은 패러다임의 전환이다. 기존 웹2 API의 게이트키퍼들을 우회하여 네트워크 운영을 직접적이고 검증 가능한 창으로 제공한다. 이는 솔라나 위에서 구축하고자 하는 개발자들의 진입 장벽을 크게 낮출 수 있는 움직임이며, 물론 새로운 사고방식에 적응해야 한다는 전제가 따른다.

PDA(Program Derived Addresses)는 여전히 개척되지 않은 영역이다. 프로그램과 시드로 파생되며, 서명 키가 없어 프로그램만이 거래할 수 있도록 보장한다. 참가자는 아직 이를 ‘체감’하지 못했기에, 3주차의 목표가 되었다. 이러한 계정 유형의 실용적인 적용을 이해하는 것이 진정한 숙달의 길이다.

그리고 종종 간과되는 중요한 조언이 있다. devnet은 망가뜨리기 위한 것이다. 거기서 혹독하게 배워라. 가장 저렴하게 배우는 방법이다.

그 의미는 방대하다. 개발자들이 솔라나를 진정으로 공개적이고 쿼리 가능한 데이터베이스로 취급할 수 있다면, 구축할 수 있는 애플리케이션과 분석의 종류는 폭발적으로 증가할 것이다. 속도 제한이나 API 키 없이 실시간 온체인 데이터 집계를 상상해보라. 단순한 빠른 거래가 아니라, 더 투명하고 접근 가능한 블록체인을 의미한다.

오픈소스 개발에 이것이 의미하는 바는?

이 접근 방식은 오픈소스 정신과 완벽하게 일치한다. 투명성이 핵심이다. 누구나 제한 없이 네트워크 상태를 검사하고, 쿼리하고, 구축할 수 있는 능력은 혁신과 커뮤니티 참여를 촉진한다. 폐쇄적인 시스템에서 종종 발생하는 불투명성을 제거한다. 전통적인 기술의 ‘담장 안’ 정원에 익숙한 개발자들에게 이 개방형 모델은 해방적이면서도 도전적이다. 새로운 사고방식이 필요하지만, 잠재적 보상은 상당하다.

이것은 단순한 또 다른 블록체인이 아니다. 탈중앙화된 세상에서 데이터를 어떻게 접근하고 관리할 수 있는지에 대한 근본적인 재구상이다. 솔라나의 아키텍처 선택에 대한 강력한 사례이며, 나머지 생태계에게 자신들의 ‘데이터베이스’가 얼마나 공개적인지를 고민하게 만드는 도전이다.


🧬 관련 인사이트

자주 묻는 질문

100DaysOfSolana 챌린지는 무엇인가요?

100DaysOfSolana 챌린지는 개발자들이 100일 동안 매일 코딩과 학습 과제를 수행하며 솔라나 블록체인을 학습하고 구축하도록 장려하는 커뮤니티 주도 이니셔티브입니다.

솔라나 데이터 접근이 웹2 API와 다른 이유는 무엇인가요? 웹2에서는 데이터 접근 시 일반적으로 API를 통한 인증 및 권한 부여가 필요합니다. 반면 솔라나는 누구나 API 키나 특별한 권한 없이 공개 체인 상태를 직접 쿼리할 수 있도록 하여 개방형 데이터베이스처럼 취급합니다.

솔라나 개발을 위해 새로운 프로그래밍 언어를 배워야 하나요? 솔라나는 주로 스마트 계약 개발에 Rust와 C/C++를 사용하고, 클라이언트 측 상호 작용에 JavaScript/TypeScript를 사용하지만, 계정 기반 상태 관리의 기본 개념은 솔라나 개발을 배우는 데 핵심입니다.

Written by
Open Source Beat Editorial Team

Curated insights, explainers, and analysis from the editorial team.

Worth sharing?

Get the best Open Source stories of the week in your inbox — no noise, no spam.

Originally reported by Dev.to