DAGで表現するお気持ちネットワーク / Okimochi
by
erukiti
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
DAGͰදݱ͢Δ ͓ؾ࣋ͪωοτϫʔΫ @erukiti
Slide 2
Slide 2 text
@erukiti • Ҿ͖͜ΓؾຯϑϦʔϥϯεΤϯδχϟʔ • ϑϩϯτΤϯυɾόοΫΤϯυɾΠϯϑϥΛҰ௨Γ • JS/TS͕͖ɻ2/20ʹJSϝλϓϩษڧձΓ·͢ • ಉਓࢽॻ͍ͨΓۀԽͨ͠Γಉਓࢽॻ͍ͨΓ͍ͯ͠·͢ • 4/22ͷٕज़ॻయ4ͰɺϒϩοΫνΣʔϯɾ҉߸௨ ՟ͷٕज़ΛJSͰղઆ͢ΔຊΛग़͢༧ఆͰ͢
Slide 3
Slide 3 text
ҙ: ͋·Γٕज़తʹ ౿ΈࠐΜͰ͍·ͤΜ • ઃܭɾ࣮ݧίʔυॻ͍ͯΔஈ֊Ͱ͢ • ࢦఠͱ͔ٙͱ͔͋ΕΣϧΧϜͰ͢ʂ • Ϩϕϧ͗ͨ͢Γɺత͕ͣΕ͍ͯͨΓͨ͠Β͝ΊΜͳ ͍͞ • GoogleDocumentͷਃ͠ࠐΈͰɺαΠυνΣʔϯͱ͔ε έʔϦϯάʹڵຯ͋Δͬͯॻ͍ͨؾ͕͢Δ(͝ΊΜͳ͍͞)
Slide 4
Slide 4 text
͓ؾ࣋ͪ
Slide 5
Slide 5 text
ྫ: ίϯςϯπΫϦΤΠλʔ • খઆΛॻ͍ͨΒײ͕ཉ͍͠ɻࢮ͵΄Ͳཉ͠ ͍ɻʢͱΑ͘ஶऀͷํ͔Βฉ͘ʣ • Ͱʮ͜ͷখઆ͖ͳΜͰ͕͢ۀ൛ങ͍ ·ͤΜʯΈ͍ͨͳͷΘ͟Θ͟ಡΈͨ͘ͳ͍ʢͦ ͏͍͏ϑΝϯͷ෩্ʹஔ͚ͳ͍ϠΧϥ࣮ ࡍʹ͍Δʣ
Slide 6
Slide 6 text
Πϯλʔωοπѱҙʹຬ͍ͪͯΔ • ΧδϡΞϧʹԌ্ • ݴΛ͛Δίετ͕͗͢Δ • ͦͦ1ରଟɻͷྗ
Slide 7
Slide 7 text
Πϯλʔωοπѱҙʹຬ͍ͪͯΔ • ΧδϡΞϧʹԌ্ • ݴΛ͛Δίετ͕͗͢Δ • ͦͦ1ରଟɻͷྗ ߈ܸଆ͕༗ར͗͢Δ
Slide 8
Slide 8 text
ϙδςΟϒͳ͓ؾ࣋ͪ • ʮ͜ͷখઆ໘ന͍ʯͱ͔ϙδςΟϒͳ͓ؾ࣋ ͚ͪͩΛूΊΔ͕͍͍͋ͬͯͷͰʁ • ΈΜͳ͕ωΨςΟϒͱݸผʹઓͬͯফ͢Δ ΑΓɺϙδςΟϒͳ͓ؾ࣋ͪΛΒͬͯɺ ࣍·ͨؤுΔͷ͕ྑ͍ͷͰ
Slide 9
Slide 9 text
ͦ͜Ͱ͓ؾ࣋ͪΛDAGͰදݱ
Slide 10
Slide 10 text
͓ؾ࣋ͪTxʢτϥϯβΫγϣϯʣ • ͓ؾ࣋ͪTxɺ1ʙnͷϙδςΟϒͳධՁΛදݱ ͢ΔͷͰɺίϝϯτΛఴ͑Δ • ͓ؾ͍࣋ͪ͘ΒૹͬͯݮΒͳ͍͠ϦΞϧλΠ Ϝ͡Όͳ͍͍ͯ͘ (Ұຊͷ͡Όͳͯ͘Α͍) • 1Ҏ্ͷPrevHashΛؚΊΔDAGߏ (TxDAG)
Slide 11
Slide 11 text
͓ؾ࣋ͪλά • ͨͱ͍͍͑খઆΛॻ͍ͨਓʹɺNovelλάͷ͓ؾ࣋ ͪTxΛൃߦ • JavaScriptͷهࣄͳΒ͖ͬͱJavaScriptλά • λάͨͿΜ֊ߏʹͳΔɻখઆͷѪՈͷதͰ ൊ৭ʑ͋ΔΘ͚Ͱ…ɻ • ͔ͨ͠͠Βλάͷforkͱ͔ʁ
Slide 12
Slide 12 text
Novel Novel Novel Novel
Slide 13
Slide 13 text
͓ؾ࣋ͪείΞ • TxDAGΛݩʹPageRankͬΆ͍ܭࢉΛͯ͠ɺ͓ؾ࣋ͪε ίΞΛׂΓग़͢ • NovelλάͰ͓ؾ࣋ͪείΞͷߴ͍ਓ͕ൃߦ͢ΔNovelλ άͷ͓ؾ࣋ͪTxՁ͕ߴ͍ͣɻݴ͍͑ΔͱNovel ʹ͓͍͓ͯΊ͕ߴ͍ • NovelͰ׆༂ͯ͠Δ͚Ͳઐ֎ͩͱμϝμϝͳਓ͍Δ͔ ΒɺҟͳΔλάʹରͯ͠ͷӨڹྗ࣋ͨͳ͍
Slide 14
Slide 14 text
NovelείΞ: 10 NovelείΞ: 40 NovelείΞ: 100 NovelείΞ: 1000 /PWFMείΞɿ Ճࢉલ
Slide 15
Slide 15 text
جຊతͳTx 5Y ର Ճσʔλ 0LJNPDIJ ର5Y63- ʙO ίϝϯτ λά .PEFSBUJPO ର5Y ༰ /FX$POUFOU ର63-PS#MPCใ 4JHO$POUFOU ର63- 3FWPLF ର5Y
Slide 16
Slide 16 text
Peer to Peer • WebRTCͷData Channelͱ͔͋ΓͳͷͰ • TxΛΓͱΓͯ͠TxDAGΛߏங • ֤PeerTxDAGΛݕূ • ωοτϫʔΫҡ࣋ͷߩݙͰΠϯϑϥείΞ(ͨ ͱ͑ɺOkimochi.infraλά)Λऔಘ
Slide 17
Slide 17 text
ΠϯϑϥείΞ͕ߴ͍Peerɺ ͖ͬͱImportantPeerͰ͋Δ
Slide 18
Slide 18 text
ImportantPeer • ImportantPeer͚͕ͩϚϧνγάͰൃߦͰ͖ΔTx ͕͋Δ • ImportantPeerΠϯϑϥείΞථDNSͷ Ϩίʔυʹిࢠॺ໊ͱ͔ͰબΕΔͱ͍͍Μ͡Ό ͳ͍͔ͳ • ImportantPeerτʔΫϯؔ࿈ͷTxΛൃߦ͢Δ
Slide 19
Slide 19 text
͓ؾ࣋ͪτʔΫϯ • Novel͓ؾ࣋ͪείΞ͕ߴ͍ਓ = NovelʹԿΒ ͔ͷܗͰߩݙͯ͠Δਓ • ImportantPeer͕είΞΛݩʹτʔΫϯΛ֤ࣗ ʹൃߦ͢Δ • ׆༻ྫ: ಉਓࢽଈചձͰτʔΫϯࢧ͍
Slide 20
Slide 20 text
͓ؾ࣋ͪΛۚͰങ͏ • Novelλάʹ҉߸௨՟ΛدଃͰ͖Δ (Patron.Novelε ίΞ্͕͕Δͱ͔) • ImportantPeer͕ड͚ೖΕ༻ͷΥϨοτΛੜ͢Δ (Bridge) • ߩݙऀNovelτʔΫϯΛόʔϯ͢Δ͜ͱͰNovelʹ دଃ͞Εͨ҉߸௨՟ͷҰ෦Λ Bridge ͔Βड͚औΕΔ
Slide 21
Slide 21 text
ImporantPeerؔ࿈Tx 5Y *NQPSUBOUPOMZ σʔλ 5PLFO(FOFSBUFE ZFT ୭ʹ͍͘Βੜ͞Ε͔ͨ 5PLFO4FOE3FRVFTU OP ୭ʹ͍͘ΒૹΓ͍͔ͨ 5PLFO4FOU ZFT ୭ʹ͍͘Βૹ͔ͬͨ %POBUF3FRVFTU OP ͲͷλάʹԿΛدଃ͢Δ͔ %POBUFE ZFT دଃ͞Εͨ҉߸௨՟ͱλά 5PLFO#VSO3FRVFTU OP λάɾ೩͢τʔΫϯ 5PLFO#VSOFE ZFT ϦΫΤετ*%ͱ҉߸௨՟ͷ5Y*%
Slide 22
Slide 22 text
͓ؾ࣋ͪωοτϫʔΫͷԠ༻ྫ • ࢄDB, ࢄετϨʔδͱ͔ • ৺ͳϑΝϯ͚͕ͩಡΊΔ࡞৴ (ࢄετϨʔδͷԠ༻) • ҉߸ϝʔϧ৴ • ͓ؾ࣋ͪωοτϫʔΫͷϑΟʔυͰใऩू • ͓ؾ࣋ͪωοτϫʔΫऔҾॴ (ҟੈքసੜখઆτʔΫϯͱ έϞφʔֆࢣτʔΫϯΛऔҾ͢Δ)
Slide 23
Slide 23 text
՝ʢͨͿΜ͍ͬͺ͍͋Δʣ • ΞοϓσʔτͲ͏͢Δ͔…ɻείΞܭࢉࣜͱ͔৭ʑ࣮ݧͨ͠Γ मਖ਼ͨ͠Γ͕ඞཁʹͳΔɻ • λά͔ͳΓྲྀಈతʹͳΔͣɻ৽نλάͷੜʹίετΛઃ ͚Δ͖͔Εͳ͍ɻ໊લۭؒͷୣ͍߹͍͋ΔͩΖ͏͠… • Tx͚ͩ͡Όͳͯ͘ɺQuery/Resultͱ͍͏ܗࣜඞཁͳؾ • ͓ؾ࣋ͪωοτϫʔΫͷ֎ʹ͋Δίϯςϯπͱͷͭͳ͗ࠐΈ ΛͲ͏͢Δ͔
Slide 24
Slide 24 text
͓ؾ࣋ͪωοτϫʔΫ • ϙδςΟϒͳ͓ؾ࣋ͪΛૹΓ͋ͬͯΫϦΤΠλʔୡͷԠԉ Λ͢Δ • ʮৼΓࠐΊͳ͍ٗʯ໓ • ΫϦΤΠςΟϒͷੈքʹ͓͍ͯɺखΛಈ͔͢ਓɺϑΟʔυ όοΫΛฦ͢ਓʢಛʹϙδςΟϒͳͷʣɺۚΛग़͢ਓ͕ ਖ਼ٛ • ͓ؾ࣋ͪωοτϫʔΫͱͯ͠Πϯϑϥҡ࣋͢Δਓਖ਼ٛ
Slide 25
Slide 25 text
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠