요약
Dat-ecosystem은 서버 없이 데이터를 주고받는 P2P 프로젝트들이 모인 커뮤니티입니다.
Dat은 2013년 맥스 오그던이 데이터 분석가들이 데이터셋 변경을 함께 관리하도록 만든 프로젝트입니다. 이 사이트는 Dat에서 이어진 프로젝트들을 한데 소개하고, 그 대부분이 자체 자금으로 운영된다고 밝힙니다.
왜 중요한가
- Dat이 사실상 끝났다는 인식과 달리, 연표에는 2025년까지 Keet와 Pears 같은 프로젝트의 새 소식이 이어집니다.
- 대형 투자 없이 여러 독립 프로젝트가 핵심 부품과 응용 앱을 나눠 맡는 방식이 10년 넘게 유지되고 있습니다.
핵심 내용
- Dat 프로토콜은 2020년 Hypercore 프로토콜로 이름을 바꿔 독립 프로젝트가 됐습니다.
- 소개된 프로젝트는 서버 없는 통화 앱 Keet, 분산 웹 브라우저 Agregore, P2P 채팅 Cabal 등 25개입니다.
- 커뮤니티는 로컬 우선(데이터를 먼저 내 기기에 두는 방식), 데이터 주권, 착취하지 않는 사업 모델을 지향한다고 밝힙니다.
- 초기에는 나이트 재단, 앨프리드 P. 슬론 재단, 모질라 등에서 보조금을 받았습니다.
- 2024년에는 멈춰 있던 Rust 구현 datrs가 새 책임자를 맞아 다시 움직이기 시작했습니다.
HN 반응
- NAT 통과(공유기 뒤 기기끼리 직접 잇는 기술)가 숙제라는 지적에, 생태계 참여자는 모바일에서도 잘 된다며 Keet 메신저를 써 보라고 반박했습니다.
- Beaker Browser 이후 Dat의 비전이 AT Protocol로 옮겨 갔다는 의견에는, AT Protocol은 P2P가 아니라는 반론이 맞섰습니다.
Dat이 아직 살아 있다니 반갑네요. 그래도 모바일 NAT 통과 문제와 시드를 계속 유지할 유인책을 해결하지 못하면, 이런 P2P 프로토콜은 취미 수준을 영영 벗어나지 못해요.
NAT 통과는 어느 정도 해결됐어요.
https://docs.iroh.computer/concepts/nat-traversal
https://www.iroh.computer/blog/what-is-derp
https://ark-builders.medium.com/the-deceptive-complexity-of-p2p-connections-and-the-solution-we-found-d2b5cbeddbaf
iroh를 쓰는 프로젝트:
https://github.com/muhamadjawdatsalemalakoum/kith
https://delta.chat/
https://github.com/fishfolk/bones/
DAT이 IPFS와의 틈새 경쟁 속에서도 어떻게든 살아남아 기쁩니다. 그런데 Iroh 쪽 분들께 알려 주세요. 웹사이트의 LLM 엔드포인트가 죽어 있습니다. https://www.iroh.computer/blog/what-is-derp
나머지 FAQ 페이지도 전부 이런 식입니다.
추신: keet.io는 Cabal chat( https://cabal.chat/ )의 환생인가요?
LLM 엔드포인트 같은 건 없어요 :) 저 프롬프트는 사람이 채워 넣으라고 적어 둔 거예요 :P (2024년에 쓴 글이에요.)
그건 그렇고, 끝내 완성되지 못한 오래된 블로그 글이라 내려서 릴레이 문서 페이지로 리디렉션해 뒀어요.
아니요. cabal chat은 다른 프로젝트예요.
...대신 keet의 오픈소스 대안으로 quibble을 한번 보세요.
https://codeberg.org/LTC-GT/Quibble
제 생각에 거의 10년째 만들어지고 있는, 가장 기다려지는 건 "datweb"예요. 그러면 dat 생태계 프로젝트들이 독립 실행형 앱뿐 아니라 브라우저에서도 돌아갈 수 있을 테니까요.
DERP 릴레이로 우회한다는 건 중앙화된 릴레이 서버를 믿고 그 비용까지 대 준다는 뜻이에요. 연결성은 해결되지만 P2P를 포기하는 셈이죠. 결국 클라이언트-서버 구조에 암호화 부담까지 얹어 쓰게 되는 거예요.
네트워크 토폴로지로서의 P2P와, 권력과 주체성의 재분배로서의 P2P는 구분해야 합니다. 릴레이가 지금의 네트워크 현실에 대처하려는 만족스럽지 못한 우회책인 것은 맞습니다. 그래도 사회·정치적 의미에서는 얼마든지 의미 있는 P2P가 될 수 있습니다. P2P 정신을 지지하는 릴레이라면 연합형(federated)이고, 상태를 저장하지 않고, 종단 간 암호화가 되어 있어야 합니다.
dat을 쓰면 릴레이는 필요 없어요.
블라인드 릴레이는 선택 사항이고, 직접 연결이 늘 되지는 않을 수 있는 아주 까다로운 통신사급 네트워크 환경에서만 의미가 있어요.
...그런 경우에도 릴레이는 아주 동적이고, 모든 dat 피어가 그 과정에 자동으로, 동적으로 참여해요. P2P지, 연합형이 아니에요.
통신사급 NAT를 빼면 dat은 100% 직접 연결을 이룬다는 말씀인가요?
그러니까, 네트워크 상황은 복잡하고 문제가 생길 수 있죠. 그래도 실전에서는 거의 항상 된다는 뜻에서 대체로 맞다고 봐요. 100%라고 하면 지나치지만, 정말 믿을 만하니 직접 써 보세요.
스택을 직접 쓰거나 코드로 짜 보고 싶지 않다면 keet 메신저나 holesail.io 앱으로 그 안정성을 체험해 보세요.
분산형 홀펀칭으로 하는 NAT 통과는 dat이 개척한 분야이고, 사용자가 많은 앱이 수두룩해서 업계 최고 수준이며 실전에서 검증도 끝났어요.
dat은 러스트 구현도 있고, 기능이 더 풍부하고 성숙한 버전은 C와 JS로 되어 있어서 웹 스택으로 크로스 플랫폼 P2P 앱을 만들 수 있어요. 누구든 가장 쉽게 도입할 수 있게요.
지금은 사라진 Beaker Browser를 만든 Paul Frazee는 Dat 기반 P2P 브라우저를 만들던 사람인데, 지금은 Bluesky를 창업해 CTO로 있으면서 atproto를 하고 있어요. https://en.wikipedia.org/wiki/Beaker_(web_browser)
규모 문제를 해결하는 이야기를 다룬 훌륭한 발표도 있어요. atproto는 바로 이런 질문에 집중해서, P2P를 실제로 돌아가게 만드는 데 걸린 그 많은 난제를 정말 상당수 풀어냈다고 생각해요. https://www.youtube.com/watch?v=BoJnj2yPf14
atproto는 P2P가 아니고 앞으로도 그럴 일이 없어요. ...그 때문에 atproto를 채택한 사람들이 있다면, 사실상 속은 거예요.
P2P에는 어려운 점이 많지만 상당수는 문화적·사회적 문제이거나 자금 조달과 UX 변화에 얽힌 문제예요. 기술적인 면은 실전 검증이 끝났고 프로덕션에 쓸 만하며 잘 돌아가요.
다시 말하지만 paul pfrazee는 beaker browser를 만든 사람이에요. 수많은 dat 생태계 프로젝트 가운데 하나였죠. 그러니 자기 의견을 가질 자격이야 당연히 있어요.
문제마다 맞는 기술을 고르면 됩니다. 규모가 전부 대인 관계 수준이라면, 즉 소규모 조직이나 친구·가족의 기기 정도라면 P2P가 훨씬 좋은 선택일 가능성이 높습니다.
사람이 한 번에 읽을 수 있는 양은 정해져 있어요. 피드를 스크롤하면서 수천 명을 팔로우해도 마찬가지고요.
keet.io에서 멤버가 2만 명이 넘는 방에 들어가 보세요. 문제없이 돌아가요.
팔로워가 수백만 명이라 해도 인기 있는 아카이브를 토렌트로 받는 것과 본질적으로 다른 문제가 아니에요.
P2P는 사용자 수가 엄청나게 많을 때도 확장이 되고, 오히려 그럴 때 진가를 발휘해요.
DAT은 거의 죽었다고 생각해요. Beaker 브라우저도 이제 없지 않나요?
어쨌든 Keet.io 같은 새 프로젝트들이 P2P의 꿈을 이어 가고 있어요. 아니, 적어도 좀비처럼 죽지도 살지도 않은 경험을 주고 있다고 해야 할까요.
Beaker Browser는 정말 멋졌습니다. Paul Frazee와 Tara Vancil이 만들었죠. 늘 아주 실험적이었습니다. 제 생각에는 Paul이 탈중앙화에 집중하는 다른 개발자들과 함께 Bluesky와 AT Protocol을 만들러 떠나면서 끝난 것 같습니다.
제 기억으로는 당시 dat 개발진과 협업해 dat 위에 Beaker를 만들고 있었는데, 그 dat 개발자는 사실상 Hyperdivision이라는 조직 소속의 Mathias Buus(mafintosh) 한 사람뿐이었던 것으로 압니다. 지금 Mathias는 Holepunch에서 dat/hypercore 작업을 이어 가고 있습니다(Keet와 Pears를 만들고 있죠). 여전히 멋져 보이지만, dat 생태계에서 가장 흥미로운 일들 대부분은 Paul Frazee가 떠나면서 멈춘 것 같습니다.
그래서 Beaker/dat/hypercore라는 원래의 비전은 대부분 AT Protocol(Bluesky, tangled 등)로 옮겨 갔을 거라고 생각합니다. 요즘은 그쪽을 예전만큼 지켜보지 못했습니다. AT Protocol용 Beaker Browser 같은 걸 만드는 사람이 있는지, 아니면 애초에 그게 말이 되는 일인지 궁금합니다.
네, 완전히 틀린 말이에요.
paul pfrazee의 beaker browser는 인기 있었을 뿐, 수많은 dat 생태계 프로젝트 중 하나였어요. keet도 dat 생태계 프로젝트고요.
quibble은 가장 최근에 추가된 프로젝트이고, 이 글타래 다른 곳에 링크가 있어요. keet의 오픈소스 버전이에요.
활발히 개발되는 dat 러스트 구현도 있어요.
이제는 dat과 hyper 스택 위에 올라간 SQL 관계형 데이터베이스 프리미티브도 있고요.
datweb도 곧 나올 거예요.
at proto는 P2P와 아무 상관이 없고, 그냥 pfrazee 한 사람이 다른 길로 간 것뿐이에요.
holepunch 회사는 주로 비공개 소스인 keet 앱, 그리고 크로스 플랫폼 P2P 애플리케이션을 쉽게 만들 수 있게 해 주는 bare와 pear 런타임을 만드는 데 집중해요.
그리고 사실상 dat 생태계의 토대가 된, 그동안 성장하고 성숙한 hyper 스택의 많은 부분도 관리하고 있어요. 다만 프로젝트는 많아요.
dat 생태계 블로그에는 mathias buus가 holepunch/keet을 소개하는 인터뷰도 있어요. 그러니 안타깝게도 당신 시각은 어쩐지 꽤 왜곡돼 있는 것 같네요. ...at proto를 홍보하는 대가로 돈이라도 받는 게 아니라면요.
"네, 완전히 틀린 말이에요"는 읽기에 거슬려요. 특히 거기서 나온 말을 반박하는 것도 아니잖아요. 오히려 상당 부분을 인정하면서 내용을 더 보태고 있고요.
저는 이 주제에 감정적으로 크게 얽힌 건 아니지만 조금은 얽힌 독자로서 말씀드리자면, 다른 식으로 풀어 쓰시면 메시지가 훨씬 더 널리 퍼질 거예요. 글에 좋은 내용이 많은데, 이렇게 적대적으로 포장해 놓으니 읽기가 정말 즐겁지 않아요.
이건 저 자신도 노력하고 있는 부분이에요. 누군가를 따끔하게 나무라고 강하게 반응할 만한 이유가 실제로 있는 경우도 많지만, 그래도 더 넓은 독자를 염두에 두려고 해요. 그리고 이번 경우는 그런 상황이 아니었다고 생각해요.
맞는 말씀이네요, 받아들일게요.
안타깝게도 오픈소스는 고마워하는 사람이 드물고, 새롭고 남다른 걸 하고 있으면 더 힘들어요. 그러니 누군가 타협해서 자금을 확보하고 그 돈으로 다른 마케팅을 퍼뜨리면 정말 속이 터져요.
이 글타래는 dat 생태계 웹사이트 게시물로 시작했어요.
...그런데 그 뒤로 누군가는 dat이 죽었다고 선언했고, 그다음엔 at proto가 무슨 "후계자"인 것처럼 포장됐고, 그러고 나서 iroh가 이때다 싶어 자기 프로젝트를 홍보했어요.
전부 자기네 마케팅 예산과 자금이 있는 쪽이라서, VC 자금도 없이 열정과 사비로 매달리는 오픈소스 커뮤니티에는 정말 힘든 상황이에요.
그러니 맞는 말씀이에요. 더 차분하게 답했으면 읽기 좋았겠죠. 하지만 늘 쉽지는 않아요.
...더 구체적인 문제가 궁금하시면 물론 기술적으로든 아니든 자세히 설명해 드릴 수 있어요.
그럼 이만.
저보다 이 분야에 훨씬 밝으신 것 같네요. 저는 어느 한쪽을 밀려는 게 아니에요. dat이나 다른 프로젝트를 깎아내리려는 것처럼 들렸다면 죄송합니다. 이 프로젝트들은 전부 흥미롭다고 생각해요.
몇 년 전에는 그냥 구경하는 입장이었지만 꽤 설렜어요. 지금은 흐름을 놓친 상태고요.
요즘 가장 흥미롭게 지켜볼 만한 프로젝트가 뭐라고 보시는지 듣고 싶어요.
무엇에 가장 관심이 있느냐에 따라 달라요.
일반 웹 브라우저에서 마침내 dat을 쓸 수 있게 하려는 노력이 많이 진행되고 있어요.
이 글의 여러 댓글에 링크된 quibble이 있고 https://keet.io 도 있어요. 둘 다 P2P 메신저인데, 앞의 것은 오픈소스이고 뒤의 것은 더 성숙했어요.
P2P SQL 관계형 데이터베이스인 paraQL이 있어요.
핵심 프리미티브를 러스트로 구현한 datrs가 있어요.
이미 링크된 https://holesail.io 는 어떤 종류의 서비스든 P2P로 열어 주는 도구예요.
그 밖에도 많아요.
그리고 P2P 앱을 만들 수 있는 크로스 플랫폼 pear 런타임이 있고, 가볍고 최소한이면서도 확장과 임베딩이 가능한 JS 크로스 플랫폼 런타임인 bare 런타임이 있어요.
새 앱도 곧 나올 거예요. 제가 기다리는 건 P2P 기반 비트코인 지갑이고, 또 하나는 P2P 블로깅 엔진과 결합한 "RSS 리더"예요. 올해 안에는 나올 거라고 봐요.
dat은 죽지 않았어요. dat은 멀쩡히 살아 있어요. 러스트가 취향이라면 datrs도 있고요. dat과 그 기반인 hyper-* 스택은 모바일에서도 업계 최고 수준의 홀펀칭 기능을 갖췄어요!! ..그리고 요즘은 블루투스 디스커버리도 있어요.
성숙하고 실전 검증이 끝난 생태계이고, keet 메신저가 어떤 게 가능한지 보여 줘요.
iroh는 P2P 연결성만을 위한 거고 dat이 하려는 걸 만들 생각이 없어요. 서로 비교 대상이 아니에요.
한마디로 dat은 git+토렌트인데 더 유연한 거예요.
곧 datweb이 나오면 이 스택이 일반 브라우저에서도 돌아가게 돼요. 클라우드도 서버도 필요 없이 모바일/노트북/데스크톱 ..사용자 기기만으로 돌아가요.
dat 생태계의 또 다른 흥미로운 프로젝트로 오픈소스 메신저가 있어요. keet의 대안이 될 수도 있어요.
https://codeberg.org/LTC-GT/Quibble
P2P 애플리케이션 계층은 늘 이론상으로는 그럴싸해요. 실제 환경에서 NAT 통과와 파티션 복구를 겪기 전까지는요. 상태 동기화의 예외 상황을 이쪽에서 어떻게 다루는지 궁금하네요.
p2p와 NAT 통과는 늘 말로는 그럴싸하죠. hyper 스택을 써 보기 전까지는요. 써 보면 이게 진짜고, 실전 검증이 끝났고, 프로덕션에 쓸 만하다는 걸 알게 돼요.
지금 써 보세요. 명령줄 도구나 프로그래밍용 라이브러리를 쓸 수도 있지만, 그렇게까지 깊이 들어가기 싫다면 https://holesail.io 같은 것부터 써 보세요. 홀펀칭으로 NAT를 통과하는 p2p가 진짜라는 걸 알 수 있을 거예요. dat에 맞먹는 게 있으면 공유해 주세요. 다만 댓글로 보건대 그럴 가능성은 낮아 보이네요.
취미 수준을 실제로 벗어나는 P2P 프로토콜은 대개 지루한 문제 둘 중 하나를 풀어냅니다. NAT 통과이거나, 원래 게시자가 사라진 뒤에도 계속 데이터를 제공할 유인책이죠. Dat은 큰 페이로드를 가지고 둘 다 풀려 했는데, 그게 가장 어려운 사분면입니다.
Nostr는 대비해 볼 만한 사례지만, 문제를 푼다기보다 피해 간 쪽에 가깝습니다. 릴레이는 일부러 단순하고 대체 가능한 저장소로 두었고, 신원은 전적으로 키에 있으며, 페이로드는 작습니다. 릴레이 하나가 죽어도 다시 연결하면 그만입니다. 하지만 흥미로운 페이로드가 커지는 순간 이 모델은 무너지고, 그때는 Dat이 끝내 풀지 못한 바로 그 내구성과 시딩 유인책이 필요해집니다. 그래서 '릴레이 메시 + 키'는 작은 메시지에는 훌륭한 답이지만 파일에는 답이 못 됩니다.
NAT 통과에 대해 끊임없이 나오는 불만도 진지하게 받아들일 만합니다. 만남의 장소로 외부에서 접근 가능한 공개 피어가 필요한 구조는 결국 중앙 서비스에 의존하게 되기 쉽고, 그래서 이런 생태계들이 부트스트랩 노드를 중심으로 계속 다시 중앙화되는 것입니다.
맞아요, dat, 그러니까 hyper 스택은 NAT 통과 분야에서 업계 최고예요. 근처에 오는 것도 없고, 취미 수준은 전혀 아니에요.
nostr는 장난감이라 이 맥락에서는 언급할 가치도 없어요.
dat에는 해당될 만한 중앙 부트스트래핑 노드가 없어요. 동적이어서 모든 피어가 부트스트랩 노드가 되고, 모든 앱이 피어 위에 동적으로 얹히면서 잠재적 부트스트랩 노드를 계속 모으고 공유해요.
... 그리고 방금 말씀드린 건 아이디어에 그치지 않고 이 생태계에서 실제로 돌아가는 현실이에요.
예를 들어 https://holesail.io 같은 프로젝트를 써 보세요.