Wiznet makers

Lihan__

Published February 27, 2026 ©

42 UCC

8 WCC

3 VAR

0 Contests

0 Followers

0 Following

Original Link

ckb light esp

A from-scratch C implementation of the CKB light client protocol (RFC 0044), targeting the ESP32-P4 with external PSRAM. Also builds as a POSIX library for host

COMPONENTS
PROJECT DESCRIPTION

01 — 이 프로젝트는 무엇인가?

CKB(Nervos Network) 는 Nervos Foundation라는 회사에서 만든 비트코인처럼 UTXO 구조를 가진 레이어 1 블록체인입니다. 

이 프로젝트는 그 CKB 네트워크에 참여하는 라이트 클라이언트를 ESP32-P4 마이크로컨트롤러로 구현합니다.

라이트 클라이언트는 

"CKB 블록체인 네트워크에 접속해서 거래 내역을 검증하고 확인하는 기능"

쉽게 비유하면:

일반적인 블록체인 풀노드는 전체 체인 데이터(수백 GB)를 다운로드하고 모든 트랜잭션을 직접 검증합니다. 서버급 하드웨어가 필요합니다. 반면 라이트 클라이언트는 블록 헤더만 받고, 수학적 증명(MMR Proof)으로 트랜잭션을 검증합니다. 수십 MB 수준의 데이터로 풀노드와 동일한 신뢰성을 얻습니다. 이 덕분에 마이크로컨트롤러 위에서도 동작할 수 있습니다.

 


02 — 시스템은 어떻게 동작하나?

 
[CKB P2P 네트워크]
    ↕  W5500 유선 이더넷 (안정적 P2P 연결)
[ESP32-P4 라이트 클라이언트]
    ├─ 블록 헤더 수신 및 검증 (FlyClient 방식)
    ├─ MMR 증명으로 트랜잭션 유효성 확인
    ├─ 특정 주소의 잔액·트랜잭션 감시
    └─ Blake2b 암호화 해시 연산

3단계 개발 로드맵으로 구성됩니다.

Phase 1 (현재 브랜치) — 핵심 암호화 엔진 구현
Blake2b 해시, Molecule 직렬화 코덱, MMR 증명 검증기, CKB 주소 파생 — 블록체인 검증에 필요한 기반 연산들을 ESP32-P4 위에서 동작하도록 구현합니다.

Phase 2 (예정) — 암호화 P2P 통신
Noise 프로토콜(X25519 + ChaCha20-Poly1305)로 암호화된 연결을 수립하고, Yamux 스트림 멀티플렉서로 여러 P2P 연결을 동시에 관리합니다.

Phase 3 (예정) — 라이트 클라이언트 프로토콜
RFC 0044 메시지 구현, FlyClient 블록 샘플링, 특정 주소 감시 기능으로 완전한 라이트 노드가 됩니다.


03 — 왜 ESP32-P4인가? 왜 W5500인가?

🔷 ESP32-P4 — 이 작업을 감당할 수 있는 첫 번째 ESP32

기존 ESP32(ESP32-WROOM, C3 등)로는 이 프로젝트가 어렵습니다. Blake2b 해시 연산은 CPU 집약적이고, MMR 증명 검증은 메모리를 많이 씁니다.

ESP32-P4는 기존 ESP32 라인업과 다릅니다. 400MHz 듀얼코어 RISC-V, 최대 32MB+ 외부 PSRAM 지원 블록체인 암호화 연산을 처리할 수 있는 첫 번째 ESP32 계열 MCU입니다. Wi-Fi가 내장되어 있지 않아 대신 외부 Wi-Fi 코프로세서(wifi_coprocessor 폴더가 별도로 있는 이유)나 W5500 이더넷을 사용합니다.

🌐 WIZnet W5500 — 블록체인 P2P 연결에 유선이 필요한 이유

커밋 메시지를 보면 개발자가 처음부터 교체를 염두에 뒀습니다. WiFi 코프로세서를 먼저 만들면서 '이더넷 모듈이 오면 바꾸면 된다'고 직접 적어두었고, 실제로 얼마지나지않아 W5500과 WIFI를 동시에 사용할 수 있도록  수정하였습니다.

 

 

블록체인 P2P 네트워크는 연결이 끊기면 단순히 재연결하면 되는 HTTP 폴링과 다릅니다. 피어와의 지속적인 TCP 세션을 유지해야 하고, 연결이 끊기면 피어 발견과 핸드셰이크를 처음부터 다시 해야 합니다. 트랜잭션을 전파받는 중에 연결이 끊기면 데이터가 유실됩니다.

W5500의 하드웨어 TCP/IP 스택은 MCU 부하 없이 이 세션을 안정적으로 유지합니다. Wi-Fi의 재연결 오버헤드가 없고, P2P 통신에서 치명적인 연결 끊김을 방지합니다.


04 — 핵심 기술 요소

🔐 Blake2b — ESP32-P4 위의 블록체인 해시

CKB는 SHA-256 대신 Blake2b-256을 사용합니다. 소프트웨어로 구현된 Blake2b를 400MHz ESP32-P4에서 돌리면, 임베디드 환경에서도 실용적인 속도로 해시 연산이 가능합니다.

📦 Molecule — CKB 전용 직렬화 코덱

블록체인 데이터(블록 헤더, 트랜잭션, 스크립트)는 Molecule이라는 CKB 전용 바이너리 포맷으로 직렬화됩니다. 이 코덱을 ESP32-P4에서 구현함으로써 네트워크에서 받은 원시 데이터를 직접 파싱할 수 있습니다.

🌲 MMR(Merkle Mountain Range) 증명 검증

FlyClient 방식의 핵심입니다. 전체 블록체인을 다운로드하지 않고, 수학적 증명 데이터만으로 특정 트랜잭션이 실제로 체인에 포함되었는지 검증합니다. 마치 법원 판결문 원본을 보지 않고 공증된 증명서만으로 진위를 확인하는 것과 같습니다.

🔒 Noise 프로토콜 (Phase 2 예정)

X25519 키 교환 + ChaCha20-Poly1305 암호화. ESP32-P4와 CKB 풀노드 간의 P2P 통신을 엔드투엔드 암호화합니다. 중간에서 패킷을 가로채도 내용을 알 수 없습니다.


05 — 이 기술이 가능하게 하는 것 (응용 시나리오)

01. DePIN 기기 — 신뢰 없이 암호화폐로 보상받는 IoT

DePIN(탈중앙화 물리 인프라 네트워크)은 IoT 기기가 네트워크 서비스를 제공하고 암호화폐로 보상을 받는 구조입니다. 이때 기기가 "내가 정말 보상을 받았는지"를 중앙 서버에 물어보지 않고 직접 블록체인을 검증할 수 있어야 합니다. ESP32-P4 라이트 클라이언트가 그 역할을 합니다. 중앙 서버를 신뢰할 필요가 없습니다. #DePIN #탈중앙화IoT #암호화폐보상

02. 스마트 자판기 / 충전기 — 서버 없는 결제 검증

QR코드로 CKB를 결제하는 자판기를 상상해봐요. 기존 방식은 결제 확인을 중앙 서버에 묻습니다. 서버가 다운되면 결제 확인이 안 됩니다. ESP32-P4 라이트 클라이언트를 자판기 안에 넣으면 기기가 직접 블록체인에서 결제를 확인합니다. 중앙 서버 없이, 인터넷 연결만 있으면 됩니다. #블록체인결제 #자판기 #탈중앙화

03. 공급망 검증 단말기 — 위조 불가 제품 이력 확인

공장 출고, 물류 이동, 최종 판매 단계마다 블록체인에 기록을 남기면, 현장의 스캐너가 그 기록을 직접 검증할 수 있습니다. 중앙 데이터베이스에 접근하지 않아도, 블록체인 증명만으로 "이 제품이 진짜인지"를 현장에서 즉시 확인합니다. 명품, 의약품, 식품 이력 추적에 활용 가능합니다. #공급망 #위조방지 #현장검증

 

05. 엣지 검증 노드 — 클라우드 없는 스마트 계약 실행 확인

공장 자동화나 에너지 거래에서 스마트 계약이 실행되었는지 확인할 때, 클라우드 API를 호출하는 대신 현장 기기가 직접 체인 상태를 검증합니다. 클라우드 서비스 장애가 현장 운영에 영향을 주지 않습니다. #엣지컴퓨팅 #스마트계약 #클라우드독립


06 — 왜 이 프로젝트가 흥미로운가?

이 프로젝트는 지금 당장 완성된 제품이 아닙니다. Phase 1 — 기반 암호화 라이브러리 구현 단계입니다. 하지만 방향성이 선명합니다.

지금까지 임베디드 기기와 블록체인의 연결은 항상 중간에 서버가 있었습니다. 기기 → 서버 → 블록체인 API → 결과 반환. 이 구조는 서버를 신뢰해야 하고, 서버가 응답하지 않으면 기기도 멈춥니다.

이 프로젝트가 완성되면 그 중간 서버가 사라집니다. 기기가 블록체인 P2P 네트워크의 한 노드가 됩니다. 이것이 진짜 탈중앙화 IoT입니다.

ESP32-P4의 성능과 W5500의 안정적인 유선 연결이 그 가능성을 처음으로 현실적으로 만들고 있습니다.


 

결론

블록체인은 서버에서만 돌아야 하는가 — 이 프로젝트는 그 전제를 뒤집는다.

ESP32-P4의 400MHz 듀얼코어 성능이 Blake2b 암호화 연산을 가능하게 하고, W5500 유선 이더넷이 P2P 연결의 안정성을 보장합니다. 두 조건이 갖춰지면서 진짜 탈중앙화 IoT — 서버를 신뢰하지 않아도 되는 기기 — 의 가능성이 열렸습니다.

  • ✅ 블록체인 검증을 마이크로컨트롤러에서 직접 수행
  • ✅ 중앙 서버 의존성 제거
  • ✅ W5500으로 P2P 연결 안정성 확보
  • ✅ LoRa/LoRaWAN으로 인터넷 없는 환경까지 확장 예정
  • ✅ DePIN, 결제 검증, 공급망 추적 등 다양한 응용 기반
Documents
Comments Write