PoCs

기록은 경로가 아니다 — 같은 문제의 레지스트리와 금고

ERC-7812 은 **어떤 프로토콜이든 데이터를 공개하지 않고 ZK 로 신원 진술을 저장·증명할 수 있는 온체인 레지스트리 하나**를 제안합니다. Docbank 는 **같은 전제에서 정반대 베팅**을 합니다 — **카탈로그는 내 기계에 남고, 파일 경로가 아니라 안정적인 노드 ID 가 정체성**입니다.

아직 만들지 않았습니다

이 페이지는 카드에 적힌 내용을 펼쳐 보여줄 뿐입니다 — 돌아가는 코드도, 열어볼 데모도 아직 없습니다. 무엇을 왜 만들려는지가 아래에 있습니다.

어떻게 보나

**표준 쪽은 읽기 전용** — 지갑 불필요. **왜 싱글턴인가**를 다루는 ERC-7812 의 Rationale 부터, 그다음 레퍼런스 구현: eips.ethereum.org/EIPS/eip-7812 · github.com/rarimo/evidence-registry. **금고 쪽은 설치해서 돌립니다**: `docbank add ~/Documents --dest /archive` → `docbank tree /archive` → `docbank web`. **알파 소프트웨어이므로 대체 불가한 것은 독립 사본을 유지하세요.** github.com/kenn-io/docbank

기술 노트

각 항목이 실제로 무엇을 보여주고 어떻게 동작하는지 — 위 카드보다 자세한 기술 설명입니다.

기록은 경로가 아니다 — 같은 문제의 레지스트리와 금고준비 중

목적: **프로젝트 둘, 정반대 아키텍처, 그리고 밑에 깔린 같은 전제: 계정이나 파일 경로는 장기 정체성으로 형편없다.** **ERC-7812 은 표준화 시도입니다.** 증명 가능한 신원은 파편화돼 있습니다 — Privado ID·EAS·Rarimo 가 **각자 자기 레지스트리**를 갖고 있습니다 — 그리고 제안은 그것을 **온체인 싱글턴 레지스트리 하나**로 접자는 것입니다. 거기서 어떤 프로토콜이든 **원본 데이터를 공개하지 않고 영지식 증명으로** 진술을 저장하고 증명합니다. **Vitalik 이 공동 저자**입니다. **읽을 부분은 왜 싱글턴인가를 다루는 Rationale** 입니다 — **여럿 대신 하나의 공유 레지스트리를 택하는 논거가 설계 결정 전부**이고 나머지는 거기서 따라 나옵니다. 이 카드는 **누가 자격증명을 보증하나**를 묻는 `dsrv-portal` 과 **프로토콜이 무엇을 흡수하나**를 묻는 `erc-8141` 사이에 앉습니다 — **가운데 질문이 그 진술이 어디 사는가**입니다. **Docbank 은 정반대 베팅의 가장 선명한 사례이고, 읽기보다 돌려 볼 값이 있습니다.** 문서를 정리·검색·개정하는 에이전트에게 필요한 것은 **동기화 폴더가 아니라 기록 시스템**이고 — **파일 경로는 옮기고 이름을 바꾸는 순간 형편없는 정체성**이 됩니다. Docbank 의 답: **카탈로그는 내 기계에 남고**, **문서는 이동을 관통해 정체성을 유지**하며, 모든 버전은 **검증 가능한 SHA-256 다이제스트**로 이름 붙고, **낡은 자동화는 조용히 덮어쓰는 대신 명시적 리비전 충돌에 부딪힙니다.** **마지막 성질이 에이전트용 아카이브에서 중요한 것**입니다 — **낡은 상태로 일하는 에이전트의 조용한 덮어쓰기가, 실행 시점에 신호가 없는 바로 그 실패**이기 때문입니다. **한 카드에 두면 공통 결론이 보입니다.** **둘 다 위치가 정체성이 되는 것을 거부합니다** — 하나는 **ZK 로 증명 가능한 레지스트리 항목**으로, 다른 하나는 **노드 ID 와 콘텐츠 다이제스트**로 대체합니다. **차이는 권위 있는 기록이 어디 살고 누구에게 책임을 물을 수 있는가**이고, `priced-by-the-wrong-thing` 이 토큰화 주식에서, `build-rent-or-own-the-rail` 이 은행 원장에서 도달하는 **같은 질문**입니다. **원장은 언제나 쉬운 절반입니다.**

동작 방식: ### 같은 전제, 정반대 아키텍처 | | **ERC-7812** | **Docbank** | |---|---|---| | **거부하는 것** | 신원 프로토콜마다 하나씩의 레지스트리 | **정체성으로서의 파일 경로** | | **정체성은** | **ZK 로 증명 가능한** 레지스트리 항목 | **이동·개명을 관통해 살아남는 안정적 노드 ID** | | **버전 정체성** | 진술, 미공개 | **불변, SHA-256 주소 지정** | | **기록이 사는 곳** | **온체인, 싱글턴** | **내 기계** | | **누가 보증하나** | 거기 쓰는 어떤 프로토콜이든 | 나 — **데몬이 금고를 소유** | | **설계로 막는 실패** | 레지스트리 간 파편화 | **낡은 자동화의 조용한 덮어쓰기** | ### 표준에서 읽을 것 **Rationale, 그중에서도 왜 싱글턴인가.** **여럿보다 하나의 공유 레지스트리가 낫다는 논거가 설계 결정**이고, 저장 레이아웃·증명 형식·인터페이스가 전부 거기서 따라 나옵니다. 레퍼런스 구현(`rarimo/evidence-registry`)이 **그 논거가 코드와 부딪혀도 살아남는지 확인할 자리**입니다. ### Docbank 이 동기화 폴더와 다르게 하는 것 | 성질 | 방식 | |---|---| | **인증된 데몬 하나가 금고를 소유** | CLI·웹앱·TUI·스크립트·외부 에이전트가 전부 **루프백 인증 HTTP/OpenAPI 계약** 하나로 말함 | | **인프로세스 옵션** | Go 프로그램은 `go.kenn.io/docbank` 로 **독립 루트 금고를 임베드**, 데몬 생략 | | **낡은 쓰기는 덮어쓰지 않고 충돌** | 쓰기가 **리비전 사전조건**을 실어 나름 | | **삭제가 의도적으로 단계화** | 휴지통 → 영구 삭제 → GC → 팩 회수가 **각각 별개 결정**, 사이사이 **리비전 결속 복원** | | **카탈로그를 넘기지 않는 블롭 보관** | 낱개 또는 팩, 선택적으로 울타리 친 파일시스템·S3 호환 저장소 — **Docbank 은 검증하되 암호화하지 않음** | | **복구가 가정이 아니라 증명** | 증분 스냅샷 저장소를 **복원 발행 전에 끝에서 끝까지 검증**, 복원은 **토폴로지 독립** | | **공급망 점검** | 설치기가 **릴리스 SHA256SUMS 와 다이제스트가 다른 아카이브를 거부** | Apache-2.0, 소스 빌드에는 Go 1.26+ (CGO) 와 Node 24+. **메시지에 대해 같은 일을 하는 자매 프로젝트 msgvault** 가 있습니다. ### 공통 결론 **둘 다 위치가 정체성이 되게 두지 않고, 둘 다 공급자에 대한 신뢰가 아닌 것으로 기록을 검증 가능하게 만듭니다.** 레지스트리는 **증명을 공개하고 데이터를 보류**해서, 금고는 **아무것도 공개하지 않고 다이제스트를 쥐고** 있어서. **어느 쪽이 맞는지는 전적으로 누구를 설득해야 하는가에 달렸습니다** — **그 자리에 없었던 거래상대냐, 5년 뒤의 나 자신이냐.**