DAGで表現するお気持ちネットワーク / Okimochi

A6a5e01b331d18dbd9c5de1f2cc2879f?s=47 erukiti
February 16, 2018

DAGで表現するお気持ちネットワーク / Okimochi

A6a5e01b331d18dbd9c5de1f2cc2879f?s=128

erukiti

February 16, 2018
Tweet

Transcript

  1. DAGͰදݱ͢Δ ͓ؾ࣋ͪωοτϫʔΫ @erukiti

  2. @erukiti • Ҿ͖͜΋ΓؾຯϑϦʔϥϯεΤϯδχϟʔ • ϑϩϯτΤϯυɾόοΫΤϯυɾΠϯϑϥΛҰ௨Γ • JS/TS͕޷͖ɻ2/20ʹJSϝλϓϩษڧձ΍Γ·͢ • ಉਓࢽॻ͍ͨΓ঎ۀԽͨ͠Γಉਓࢽॻ͍ͨΓ͍ͯ͠·͢ •

    4/22ͷٕज़ॻయ4ͰɺϒϩοΫνΣʔϯɾ҉߸௨ ՟ͷٕज़ΛJSͰղઆ͢ΔຊΛग़͢༧ఆͰ͢
  3. ஫ҙ: ͋·Γٕज़తʹ ౿ΈࠐΜͰ͍·ͤΜ • ઃܭɾ࣮ݧίʔυॻ͍ͯΔஈ֊Ͱ͢ • ࢦఠͱ͔ٙ໰ͱ͔͋Ε͹΢ΣϧΧϜͰ͢ʂ • Ϩϕϧ௿͗ͨ͢Γɺత͕͸ͣΕ͍ͯͨΓͨ͠Β͝ΊΜͳ ͍͞

    • GoogleDocumentͷਃ͠ࠐΈͰɺαΠυνΣʔϯͱ͔ε έʔϦϯάʹڵຯ͋Δͬͯॻ͍ͨؾ͕͢Δ(͝ΊΜͳ͍͞)
  4. ͓ؾ࣋ͪ

  5. ྫ: ίϯςϯπΫϦΤΠλʔ • খઆΛॻ͍ͨΒײ૝͕ཉ͍͠ɻࢮ͵΄Ͳཉ͠ ͍ɻʢͱΑ͘ஶऀͷํ͔Βฉ͘ʣ • Ͱ΋ʮ͜ͷখઆ޷͖ͳΜͰ͕͢঎ۀ൛͸ങ͍ ·ͤΜʯΈ͍ͨͳͷΘ͟Θ͟ಡΈͨ͘ͳ͍ʢͦ ͏͍͏ϑΝϯͷ෩্ʹ΋ஔ͚ͳ͍ϠΧϥ͸࣮ ࡍʹ͍Δʣ

  6. Πϯλʔωοπ͸ѱҙʹຬ͍ͪͯΔ • ΧδϡΞϧʹԌ্ • ๫ݴΛ౤͛Δίετ͕௿͗͢Δ • ͦ΋ͦ΋1ରଟ਺ɻ਺ͷ๫ྗ

  7. Πϯλʔωοπ͸ѱҙʹຬ͍ͪͯΔ • ΧδϡΞϧʹԌ্ • ๫ݴΛ౤͛Δίετ͕௿͗͢Δ • ͦ΋ͦ΋1ରଟ਺ɻ਺ͷ๫ྗ ߈ܸଆ͕༗ར͗͢Δ

  8. ϙδςΟϒͳ͓ؾ࣋ͪ • ʮ͜ͷখઆ໘ന͍ʯͱ͔ϙδςΟϒͳ͓ؾ࣋ ͚ͪͩΛूΊΔ৔͕͋ͬͯ΋͍͍ͷͰ͸ʁ • ΈΜͳ͕ωΨςΟϒͱݸผʹઓͬͯফ໣͢Δ ΑΓ͸ɺϙδςΟϒͳ͓ؾ࣋ͪΛ΋Βͬͯɺ ࣍·ͨؤுΔͷ͕ྑ͍ͷͰ͸

  9. ͦ͜Ͱ͓ؾ࣋ͪΛDAGͰදݱ

  10. ͓ؾ࣋ͪTxʢτϥϯβΫγϣϯʣ • ͓ؾ࣋ͪTx͸ɺ1ʙnͷϙδςΟϒͳධՁΛදݱ ͢Δ΋ͷͰɺίϝϯτΛఴ͑Δ • ͓ؾ࣋ͪ͸͍͘Βૹͬͯ΋ݮΒͳ͍͠ϦΞϧλΠ Ϝ͡Όͳͯ͘΋͍͍ (Ұຊͷ࠯͡Όͳͯ͘Α͍) • 1Ҏ্ͷPrevHashΛؚΊΔDAGߏ଄

    (TxDAG)
  11. ͓ؾ࣋ͪλά • ͨͱ͑͹͍͍খઆΛॻ͍ͨਓʹɺNovelλάͷ͓ؾ࣋ ͪTxΛൃߦ • JavaScriptͷهࣄͳΒ͖ͬͱJavaScriptλά • λά͸ͨͿΜ֊૚ߏ଄ʹͳΔɻখઆͷѪ޷ՈͷதͰ΋ ೿ൊ͸৭ʑ͋ΔΘ͚Ͱ…ɻ •

    ΋͔ͨ͠͠Βλάͷforkͱ͔΋ʁ
  12. Novel Novel Novel Novel

  13. ͓ؾ࣋ͪείΞ • TxDAGΛݩʹPageRankͬΆ͍ܭࢉΛͯ͠ɺ͓ؾ࣋ͪε ίΞΛׂΓग़͢ • NovelλάͰ͓ؾ࣋ͪείΞͷߴ͍ਓ͕ൃߦ͢ΔNovelλ άͷ͓ؾ࣋ͪTx͸Ձ஋͕ߴ͍͸ͣɻݴ͍׵͑ΔͱNovel ʹ͓͍͓ͯ঑Ί౓͕ߴ͍ • NovelͰ׆༂ͯ͠Δ͚Ͳઐ໳֎ͩͱμϝμϝͳਓ΋͍Δ͔

    ΒɺҟͳΔλάʹରͯ͠ͷӨڹྗ͸࣋ͨͳ͍
  14. NovelείΞ: 10 NovelείΞ: 40 NovelείΞ: 100 NovelείΞ: 1000 /PWFMείΞɿ Ճࢉલ

         
  15. جຊతͳTx 5Y ର৅ ௥Ճσʔλ 0LJNPDIJ ର৅5Y63- ʙ O ίϝϯτ λά

    .PEFSBUJPO ର৅5Y ಺༰ /FX$POUFOU ର৅63-PS#MPC৘ใ 4JHO$POUFOU ର৅63- 3FWPLF ର৅5Y
  16. Peer to Peer • WebRTCͷData Channelͱ͔͋ΓͳͷͰ͸ • TxΛ΍ΓͱΓͯ͠TxDAGΛߏங • ֤Peer͸TxDAGΛݕূ

    • ωοτϫʔΫҡ࣋ͷߩݙ౓ͰΠϯϑϥείΞ(ͨ ͱ͑͹ɺOkimochi.infraλά)Λऔಘ
  17. ΠϯϑϥείΞ͕ߴ͍Peer͸ɺ ͖ͬͱImportantPeerͰ͋Δ

  18. ImportantPeer • ImportantPeer͚͕ͩϚϧνγάͰൃߦͰ͖ΔTx ͕͋Δ • ImportantPeer͸ΠϯϑϥείΞ΍౤ථ΍DNSͷ Ϩίʔυʹిࢠॺ໊ͱ͔Ͱબ͹ΕΔͱ͍͍Μ͡Ό ͳ͍͔ͳ • ImportantPeer͸τʔΫϯؔ࿈ͷTxΛൃߦ͢Δ

  19. ͓ؾ࣋ͪτʔΫϯ • Novel͓ؾ࣋ͪείΞ͕ߴ͍ਓ = NovelʹԿΒ ͔ͷܗͰߩݙͯ͠Δਓ • ImportantPeer͕είΞΛݩʹτʔΫϯΛ֤ࣗ ʹൃߦ͢Δ •

    ׆༻ྫ: ಉਓࢽଈചձͰτʔΫϯࢧ෷͍
  20. ͓ؾ࣋ͪΛۚͰങ͏ • Novelλάʹ҉߸௨՟ΛدଃͰ͖Δ (Patron.Novelε ίΞ্͕͕Δͱ͔) • ImportantPeer͕ड͚ೖΕ༻ͷ΢ΥϨοτΛੜ੒͢Δ (Bridge) • ߩݙऀ͸NovelτʔΫϯΛόʔϯ͢Δ͜ͱͰNovelʹ

    دଃ͞Εͨ҉߸௨՟ͷҰ෦Λ Bridge ͔Βड͚औΕΔ
  21. ImporantPeerؔ࿈Tx 5Y *NQPSUBOUPOMZ σʔλ 5PLFO(FOFSBUFE ZFT ୭ʹ͍͘Βੜ੒͞Ε͔ͨ 5PLFO4FOE3FRVFTU OP ୭ʹ͍͘ΒૹΓ͍͔ͨ

    5PLFO4FOU ZFT ୭ʹ͍͘Βૹ͔ͬͨ %POBUF3FRVFTU OP ͲͷλάʹԿΛدଃ͢Δ͔ %POBUFE ZFT دଃ͞Εͨ҉߸௨՟ͱλά 5PLFO#VSO3FRVFTU OP λάɾ೩΍͢τʔΫϯ਺ 5PLFO#VSOFE ZFT ϦΫΤετ*%ͱ҉߸௨՟ͷ5Y*%
  22. ͓ؾ࣋ͪωοτϫʔΫͷԠ༻ྫ • ෼ࢄDB, ෼ࢄετϨʔδͱ͔ • ೤৺ͳϑΝϯ͚͕ͩಡΊΔ࡞඼഑৴ (෼ࢄετϨʔδͷԠ༻) • ҉߸ϝʔϧ഑৴ •

    ͓ؾ࣋ͪωοτϫʔΫͷϑΟʔυͰ৘ใऩू • ͓ؾ࣋ͪωοτϫʔΫ಺औҾॴ (ҟੈքసੜখઆτʔΫϯͱ έϞφʔֆࢣτʔΫϯΛऔҾ͢Δ)
  23. ՝୊ʢͨͿΜ͍ͬͺ͍͋Δʣ • ΞοϓσʔτͲ͏͢Δ͔…ɻείΞܭࢉࣜͱ͔৭ʑ࣮ݧͨ͠Γ मਖ਼ͨ͠Γ͕ඞཁʹͳΔɻ • λά͸͔ͳΓྲྀಈతʹͳΔ͸ͣɻ৽نλάͷੜ੒ʹίετΛઃ ͚Δ΂͖͔΋஌Εͳ͍ɻ໊લۭؒͷୣ͍߹͍΋͋ΔͩΖ͏͠… • Tx͚ͩ͡Όͳͯ͘ɺQuery/Resultͱ͍͏ܗࣜ΋ඞཁͳؾ΋ •

    ͓ؾ࣋ͪωοτϫʔΫͷ֎ʹ͋Δίϯςϯπͱͷͭͳ͗ࠐΈ ΛͲ͏͢Δ͔
  24. ͓ؾ࣋ͪωοτϫʔΫ • ϙδςΟϒͳ͓ؾ࣋ͪΛૹΓ͋ͬͯΫϦΤΠλʔୡͷԠԉ Λ͢Δ • ʮৼΓࠐΊͳ͍࠮ٗʯ๾໓ • ΫϦΤΠςΟϒͷੈքʹ͓͍ͯɺखΛಈ͔͢ਓɺϑΟʔυ όοΫΛฦ͢ਓʢಛʹϙδςΟϒͳ΋ͷʣɺۚΛग़͢ਓ͕ ਖ਼ٛ

    • ͓ؾ࣋ͪωοτϫʔΫͱͯ͠͸Πϯϑϥҡ࣋͢Δਓ΋ਖ਼ٛ
  25. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠