Parley - 일반 IRC로 통신하는 연합형 탈중앙 채팅

1 week ago 12

Parley는 각 개인이나 팀이 자기 도메인에 인스턴스를 운영하고, 기존 IRC 클라이언트로 플러그인 없이 이용하는 탈중앙 채팅 네트워크임 인스턴스는 DNS와 well-known 신원 문서로 서로를 발견하고, HTTPS로 서명된 메시지를 교환함. 처음 접하는 도메인의 사용자에게 메시지를 보내도 자동으로 연결됨 전역 채널은 참여자가 있는 연결된 인스턴스들에 복제되고, 로컬 채널은 해당 인스턴스 밖으로 나가지 않음. 전역 채널에는 소유자나 운영자가 없으며, 사용자와 인스턴스 단위 차단으로 관리함 대화 기록과 읽음 위치를 계정 중심으로 유지해 여러 클라이언트에서 이어 볼 수 있고, 중단됐던 인스턴스는 복귀 후 놓친 기록을 가져옴 실제 인스턴스를 운영하는 작동 가능한 개념 증명 단계지만 아직 충분히 강화되지 않음. 인스턴스 단위 키만 사용하고 종단 간 암호화는 없으며, 채널 기록 피드는 인증 없이 공개됨 기존 IRC 클라이언트로 사용하는 연합 네트워크 Parley에는 중앙 서버가 없으며, 개인이나 팀이 자신의 도메인용 소규모 인스턴스를 운영함 신원은 alice@foo.com, bob@bar.com처럼 이메일 주소 형태임 Bob이 /msg alice@foo.com hi를 입력하면 두 인스턴스가 이전에 서로를 몰랐어도 통신할 수 있음 각자 자신의 인스턴스에 접속한 뒤 #lobby 같은 전역 채널에 함께 참여할 수 있음 irssi, WeeChat, Textual 같은 일반 IRC 클라이언트를 플러그인 없이 지원하며, 비밀번호나 IRC 토큰으로 PASS 또는 SASL PLAIN 인증을 수행함 IRC 신원은 닉네임의 로컬 부분과 인스턴스 호스트를 연결함 Alice는 alice!alice@foo.com 형태로 나타나며, 접두사와 NAMES, WHO, WHOIS의 신원이 일치함 /whois alice@foo.com은 상대 인스턴스의 WKID 문서를 조회함 발견, 서명 검증과 자동 피어링 DNS SRV와 WKID를 함께 사용하며, 사람을 찾는 방식은 Salty IM과 유사함 _parley._tcp.<domain> SRV 레코드가 인스턴스를 가리킴 /.well-known/parley/instance.json은 ed25519 공개키와 수신함을 공개함 /.well-known/parley/<user>.json은 사용자의 존재를 확인함 연합 이벤트는 JSON 문서로 상대 /inbox에 POST되며, 헤더에 분리된 ed2...

Read Entire Article