Upgrade to Pro — share decks privately, control downloads, hide ads and more …

What is Nostr?

Avatar for kojira kojira
November 02, 2023

What is Nostr?

Avatar for kojira

kojira

November 02, 2023
Tweet

More Decks by kojira

Other Decks in Technology

Transcript

  1. • ೥UIFGJBUKBGࢯʹΑΓ/PTUSϓϩτίϧͷ ։ൃ։࢝ • ೥݄ δϟοΫɾυʔγʔʹΑΓGJBUKBGࢯ ʹ#5$ ໿ສԁ ͷࢧԉ •

    ೥݄ 5XJUUFS͕ΞΧ΢ϯτౚ݁ࡇΓͷൃੜ ͷλΠϛϯάͰ/PTUSΛར༻ͨ͠4/4ΞϓϦ %BNVT͕ϦϦʔε͞Ε஫໨͞ΕΔ • ೥݄ δϟοΫɾυʔγʔ͕͞Βʹສ υϧ ໿̓ԯԁ ΛGJBUKBGࢯʹࢧԉ
  2. • /PUFTBOE0UIFS4UVGG5SBOTNJUUFECZ3FMBZTͷུ • ಡΈํ͕෼ࢄ͍ͯ͠Δ ϊελʔɺϊετϥɺφελʔɺϊγϡτϥɺϊετΡϧͳͲ • /*1 /PTUS*NQMFNFOUBUJPO1PTTJCJMJUJFT ͱݺ͹ΕΔϓϩτίϧ࢓༷ʹΑͬͯ࡞ΒΕ͍ͯΔ •

    #*1 #JUDPJO*NQMFNFOUBUJPO1PTTJCJMJUJFT Λ౿ऻ • ൿີݤͱެ։ݤΛར༻ • ΞΧ΢ϯτͷ֓೦͕ͳ͘ɺൿີݤ͕ΞΧ΢ϯτͦͷ΋ͷɻൿີݤ͕࿙ΕͨΒऴΘΓ • FWFOUΛൿີݤͰॺ໊͠ɺൿີݤͷॴ༗ऀ͕࡞੒ͨ͜͠ͱΛূ໌͢Δ • ෳ਺ͷϦϨʔʹFWFOUΛ౤ߘ͢Δ͜ͱͰ৑௕ੑΛ֬อ • ϏοτίΠφʔͷίϯςΩετ͕ೱ͍͕ϒϩοΫνΣʔϯͰ͸ͳ͍ • ؆୯ʹݴ͏ͱϒϩοΫνΣʔϯ͔ΒաڈࢀরͷνΣʔϯΛ֎ͨ͠࢓૊Έ • ࿈ଓੑ͕อূ͞Εͳ͍ͷͰաڈ΍ະདྷʹ΋౤ߘ͕Մೳ • ୯Ұো֐఺͕ͳ͘ɺӬଓͷՄೳੑ͕͋Δ
  3. Relay 1 Relay 2 Relay 3 Relay 4 Relay 5

    Relay 6 user A user B user C
  4. Relay 1 Relay 2 Relay 3 Relay 4 Relay 5

    Relay 6 user A user B user C 全員の 投稿が⾒える user Cの 投稿が⾒えない user Aの 投稿が⾒えない
  5. NIP

  6. NIP-05 Mapping Nostr keys to DNS-based internet identifiers https://github.com/nostr-protocol/nips/blob/master/05.md ユーザーの公開鍵をDNSベースで紐づけて本⼈確認する仕組み

    kind 0のeventがユーザー情報になっているが、本⼈かどうか証明が難しいため、本⼈を証明する⽅法 のひとつとして⽤意されている(ドメインがコントロールできていれば本⼈だろうという前提) "kind":0, "content":"{ "name":"kojira", "nip05":"[email protected]", :(省略)
  7. NIP-07 NIP-07のブラウザ拡張 • Chrome向け • nos2x https://chrome.google.com/webstore/detail/nos2x/kpgefcfmnafjgpblomihpgmejjdanjjp • Alby https://getalby.com/

    • Firefox向け • nos2xfox https://diegogurpegui.com/nos2x-fox/ • iOS向け • nostore https://apps.apple.com/jp/app/nostore/id1666553677
  8. event { "kind": 1, "pubkey": "b3e43e8cc7e6dff23a33d9213a3e912d895b1c3e4250240e0c99dbefe3068b5f", "created_at": 1698898789, "tags": [],

    "content": "テスト投稿", "id": "1674b37334c009104e4e420fc1374ccce3e7950251365ad4d490f4e95b989ed3", "sig": "2e8d0042e47028527df51c24a9346b156d3561d7a55ef982f0a7d8ab848e716eea29f becb5e574b51bbc6ab696e8909ec150a83e31dac6c60eca4d5cb0efa3c2" } イベントの種類 公開鍵 unixtime 内容 タグ event id シグネチャ event json
  9. Clients • Damus https://damus.io/ • iOSクライアント。恐らく世界⼀使われているアプリ。来年 Android版をリリースするらしい • Amethyst https://github.com/vitorpamplona/amethyst

    • Androidクライアント。機能が最も豊富。更新が頻繁。 • nostter https://nostter.vercel.app/ • ⽇本国産クライアント。⽇本⼈初⼼者が使いやすい • rabbit https://syusui-s.github.io/rabbit/ • ⽇本産クライアント。マルチカラムのdeckタイプ。のす廃⼈向け 全てオープンソースなので⾃分 でビルドすることも可能