블록체인 학위증명 — 3부작 중 3부: 패턴
1부와 2부를 지나며 하나의 주제가 계속 떠올랐습니다. 크리덴셜 시스템의 대부분은 디지털 서명으로 돌아가고, 블록체인은 몇몇 특정 지점에만 등장한다는 것. 이 마지막 편에서 그걸 정밀하게 짚겠습니다. “블록체인 학위증명”은 하나의 아키텍처가 아니라 — 체인을 어디에 두느냐에 따라 셋으로 갈립니다.
크리덴셜 자체는 오프체인에 둡니다. 온체인에 올라가는 건 VC의 해시 — 또는 여러 건을 묶은 배치의 머클루트 — 뿐입니다. 검증할 때는 해시를 다시 계산해 온체인에 존재하는지 대조합니다.
체인이 사는 것: 위·변조 방지와 신뢰할 수 있는 발급 시점. 비용: 거의 없음 — 배치당 해시 하나. 블록체인을 가장 가볍게 쓰는 방식이고, 역사적으로 가장 흔합니다(MIT의 Blockcerts가 개척).
did:ethr)여기서 체인은 발급자의 공개키와 그 교체 이력을 보관합니다. 핵심은 중앙 서버 없는 키 조회입니다. 누구나 “서울대의 현재 서명키는 무엇인가?”를 온체인에서 찾을 수 있고, 변경 이력이 위·변조 없이 남아있음을 신뢰할 수 있습니다.
크리덴셜 자체는 여전히 오프체인입니다. 체인은 분산 PKI — 누가 어떤 키로 서명하는지에 대한 공개 디렉터리 — 역할을 합니다. 1부의 트러스트 앵커 문제 일부를 직접 겨냥하지만, “이 DID가 진짜 대학 것”이라는 최초의 바인딩은 여전히 권위 있는 어딘가에서 와야 합니다.
이제 크리덴셜 자체가 체인 객체입니다. 양도 불가능한 토큰 — ERC-721의 잠긴 변형인 ERC-5192(Soulbound) — 으로 발행합니다. 체인이 곧 크리덴셜 대장이 되죠.
가장 “크립토 네이티브”한 패턴이고, NFT 배경을 가진 개발자에게 가장 매력적입니다. 졸업장은 개념적으로 양도 불가능한 NFT니까요. 하지만 강한 제약이 있습니다. 토큰에 개인정보를 담을 수 없습니다. 토큰은 해시와 URI만 담고, 실제 크리덴셜 데이터는 암호화해 오프체인에 두며 토큰이 이를 가리킵니다. 폐기는 컨트랙트 내 매핑(tokenId → revoked)이 됩니다.
이미 ERC-721로 작업하고 있다면, 이 패턴이 아는 것에 가장 직접적으로 매핑됩니다. 본질적으로 해시 포인터와 폐기 매핑을 가진 잠긴 NFT를 만드는 셈이니까요.
어떤 패턴을 고르든: 개인정보는 절대 온체인에 올리지 마세요. 이름, 생년월일, 성적 — 무엇도 안 됩니다.
블록체인은 불변이고 공개입니다. 개인정보를 쓰는 순간, 삭제할 수 없으면서 모두에게 영원히 보이는 무언가가 만들어집니다. 개인정보보호법과 GDPR 정면 위반이죠. 체인에는 오직 세 가지만 — 해시, 폐기 상태, 공개키/DID. 실제 데이터는 언제나 오프체인에, 암호화된 채, 보유자 통제 아래 남습니다.
한 발 물러서면 그림이 깔끔합니다. 크리덴셜 생애주기 — 발급, 서명, 보관, 제시, 검증, 폐기 — 는 대부분 서명이 짊어집니다. 블록체인은 세 가지 좁은 일에 끼어드는 선택적 인프라입니다. 해시 앵커링(A), 발급자 키 조회(B), 또는 크리덴셜 대장 그 자체(C). “블록체인 크리덴셜”이 모든 걸 체인에 올려야 한다는 가정이 아니라, 실제로 필요한 것에 근거해 고르세요.
그리고 1부의 솔직한 결론은 여전히 유효합니다. 시장으로는 붐비고 제도적 신뢰로 막혀 있지만, 이해하고 만들어 볼 시스템으로는 분산 신원을 가장 명료하고 보람 있게 보여주는 소재입니다. 데모를 만든다면, W3C VC 모델 위의 패턴 C가 학습 밀도가 가장 높은 지점입니다.
Tags: 소울바운드토큰, 블록체인, 검증가능크리덴셜, 이더리움, 분산신원증명
중고거래 안전결제, 다들 써보셨죠? AI 결제에도 이게 필요합니다. 문제는, 생각보다 훨씬 까다롭다는 거예요. 중고거래를 떠올려…
앞 편의 x402가 자판기였다면, 이번 두 방식은 '용돈 한도'와 '술집 외상장부'에 가깝습니다. 앞 편 복습:…