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

What is Nostr?

kojira
November 02, 2023

What is Nostr?

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タイプ。のす廃⼈向け 全てオープンソースなので⾃分 でビルドすることも可能