콘텐츠로 이동

Umul

Umul은 지갑 주소로 로그인하고 XMTP 네트워크에서 대화하는 모바일형 웹 메신저입니다. Dojang 인증 상태를 대화 상대의 배지와 수신함 분류에 쓰고, 참여자 전원이 인증된 대화만 GIWA Sepolia에 증빙할 수 있습니다.

Umul 시스템 아키텍처

왜 우물인가

우물가는 마을 사람들이 모여 이야기를 나누던 자리였습니다. 특정한 누구의 소유가 아니면서 모두가 쓰는 공용 공간이었고, 물을 긷는 두레박은 각자 가져왔습니다.

Umul의 구조가 그렇습니다. 계정과 대화는 특정 앱이 아니라 공용 XMTP 네트워크에 있고, 그 내용을 여는 열쇠는 각자의 지갑과 기기에만 있습니다. 서버는 우물을 관리하지만 물을 들여다보지는 못합니다.

우물이 깊어 물이 마르지 않듯, 참여자 전원이 동의한 대화는 체인에 남아 나중에도 확인할 수 있습니다.

핵심 아이디어

  • 지갑이 곧 신원입니다. 별도 계정 없이 SIWE 방식으로 로그인하고, 메시징 신원(XMTP Inbox)도 지갑 서명으로 만듭니다.
  • 메시지 원문은 서버에 없습니다. 대화는 XMTP MLS 종단간 암호화로 오가고, 복호화된 원문은 각 기기의 로컬 저장소에만 있습니다. 서버와 체인에는 해시가 갑니다.
  • 증빙은 전원 서명으로만 성립합니다. 대화 참여자 전원이 같은 원문에서 같은 해시를 재계산해 EIP-712 서명해야 온체인에 기록됩니다.
  • 증빙 원문은 암호문으로만 보관합니다. 증빙에 쓴 대화는 클라이언트가 암호화해 서버에 맡기고, 실제 서명한 지갑만 지갑 서명 한 번으로 언제든 복원할 수 있습니다. 서버는 키를 받은 적이 없어 열 수 없습니다.

네트워크

항목 값
메시징 XMTP dev
체인 GIWA Sepolia (chain ID 91342)
DojangScroll 0xd5077b67dcb56caC8b270C7788FC3E6ee03F17B9
증빙 컨트랙트 0x675dB91aCEC52DCb44e6d20FB1F1299FFafBb51B

어디부터 읽나