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

匿名性が気になってZerocashの White Paperを追ってみた #blockchaintokyo

匿名性が気になってZerocashの White Paperを追ってみた #blockchaintokyo

匿名性通貨に関して気になったので素人がホワイトペーパーを読みながら追ってみました。Zerocashはいきなり取り掛かるにはかなりゴツいので、他の通貨から始める #blockchaintokyo

Masashi Salvador Mitsuzawa

January 16, 2018
Tweet

More Decks by Masashi Salvador Mitsuzawa

Other Decks in Technology

Transcript

  1. Who am I? %F/" ιʔγϟϧήʔϜ։ൃ FVSFLB σʔςΟϯάΞϓϦέʔγϣϯ։ൃ (Pݴޠ 'PVOEFEBTUBSUVQ'SFFMBODF ཱྀߦऀ޲͚ͷαʔϏε্ཱͪ͛

    3FBDU 3BJMT J04։ൃ (VOPTZOPX d/08 άϊγʔͷಈըपลͷ։ൃ @MasashiSalvador (Masashi Salvador Mitsuzawa) ܦྺ झຯ ΧϨʔ৯͏ͨΊʹੜ͖ͯΔ!JOTUBHSBN ஡ಓ͓஡पΓ ɹɹք۾Ͱ͓஡΍ͬͯΔํ͓੠͕͚Λʜ
  2. - Ծ૝௨՟ʹ͓͚Δಗ໊ੑ - Zcashೖ໳ - Zcashͱ͸ - θϩ஌ࣝূ໌ - zcashd

    / zcash-cli - Zcashͷߟ͑ํ - Zcash White PaperΛಡΉ
  3. Ծ૝௨՟ʹ͓͚Δಗ໊ੑ - औҾ͕νΣʔϯ্ʹશͯެ։͞Ε͍ͯΔ - ୭͔Β୭ʹ͍͘Βࢧ෷ΘΕ͔ͨΛtraceͰ͖Δ - ࢧ෷͍ܦ࿏ / ֹ͕ݟ͑ͯ͠·͏ͱ͍͏ҙຯͰඇಗ໊ -

    Mixing - Ring Signature - One-Time Address - Zero Knowledge Proof - Bitcoin - traceabilityΛԼ͛ΔͨΊͷٕज़ 5Y 5Y 5Y 5Y 1PPM/PEF 5Y 5Y
  4. ;$BTIͱ͸ʁ - ਖ਼ࣜϦϦʔε: 2016/10/26 ~ - ZCash Company͕؅ཧओମ - ZCash

    Foundation͕Zcash ProtocolΛ؅ཧ
 https://github.com/ZcashFoundation/ZcashFoundation/blob/master/MISSION.md - Protocol΍࣮૷͸Φʔϓϯιʔε - White PaperΛϕʔεʹProtocol Specʹ۩ମԽͷํ๏͕هࡌ - ൃߦ૯ྔ͸Bitcoinͱಉ͡2100ສຕ - ൃߦϧʔϧ͸ௐ੔͞Ε͍ͯΔ - Proof of Work / EquiHash - ιʔείʔυͷେݩ͸Bitcoin - ͔ͳΓScientificͳํ๏Ͱ࡞͍ͬͯΔͳ͊…ͱ͍͏ҹ৅
  5. ;DBTIͷߟ͑ํ - ҎԼ White Paper[2014] ʹଇΓ·͢ - Լهͷ6εςοϓͰ Decentralized Anonimous

    PaymentΛߟ͑Δ 1. user anonymity with fixed-value coins ૹ৴ऀΛൿಗ͢Δํ๏Λ؆୯ʹఏҊ 2. compressing the list of coin commitments. ϚʔΫϧπϦʔΛѹॖͯ͠ޮ཰Λ্͛Δ 3. extending coins for direct anonymous payments. ಗ໊ੑΛอͬͨ··ະ࢖༻τϥϯβΫγϣϯΛ࢖༻͢Δํ๏ 4. sending coins. ɹɹkey-private encryption schemeΛ༻͍ͨૹۚ๏ 5. public outputs. ɹɹඇಗ໊ͳτϥϯβΫγϣϯΞ΢τϓοτΛ࡞ΕΔΑ͏ʹमਖ਼ 6. non-malleability. ɹɹϚϦΞϏϦςΟʹؔ͢Δߟ࡯
  6. 1. user anonymity with fixed-value coins બ୒ͨ͠ϥϯμϜͳ஋ ϝοηʔδ ίϛοτϝϯτ statistically-hiding

    non-interactive commitment schemeΛ༻͍Δͦ͏ ༻ޠ ྆ऀΛ஌͍ͬͯΔ৔߹ͷΈ౳߸ͷ੒ཱΛ֬ೝͰ͖Δ coinͷϕʔεͱͳΔߟ͑ํ 2ͭͷཚ਺ Λબ୒͠ Λܭࢉ͢Δ ͱ͢Δ ΛؚΊͯ ૹ৴ 1BTCΛpoolʹdeposit ωοτϫʔΫʹه࿥͞ΕͨίϛοτϝϯτͷҰཡ ίΠϯੜ੒
  7. ΋஌͍ͬͯΔͷͰ͕ Λ࢖͔ͬͨͲ͏͔෼͔Δɻͦ΋ͦ΋͕ෆਖ਼ʹ࢖͑Δ ͓Αͼ ྆ऀΛؚΜͩ ͕ ૹ৴ ίΠϯ࢖༻ θϩ஌ࣝূ໌͢Δ໋୊ : ʹؚ·ΕΔΑ͏ͳ

    Λ஌͍ͬͯΔ ূ໌Ͱ͖Ε͹depositͨ͠1BTC͕෷͍ग़͞ΕΔ White Paperʹ͸͜ΕʹΑΓར༻ऀͷಗ໊ੑ͕ಘΒΕΔͱॻ͔Ε͍ͯΔ͕ʢϐϯͱ͖͍ͯͳ͍…) > the origin of the payment is anonymous. ໰୊఺:ૹۚͰ͖ͳ͍ ΋
  8. 3. extending coins for direct anonymous payments ಗ໊Ͱૹۚ͠߹͑ΔΑ͏ʹಓ۩Λಋೖ pseudorandom function

    (moreover collision-resistant) address public key / address private key Լ४උ Λੜ੒ γʔυ ੜ੒͞Εͨaddress private key ίΠϯͷੜ੒ ͷྔͷcoinΛੜ੒ Λ1ͭબͼcoinͷγϦΞϧφϯόʔ ΛఆΊΔ ཚ਺ ʹରͯ͠ Λܭࢉ͢Δ ʹରͯ͠ Λܭࢉ͢Δ Λcoinͱ͠ ͸ ΛؚΉ Λdepositͨ͠৔߹ͷΈωοτϫʔΫʹτϥϯβΫγϣϯ͕औΓࠐ·ΕΔ ཚ਺
  9. 3. extending coins for direct anonymous payments ίΠϯͷ࢖༻ address: address:

    ίΠϯੜ੒ͱಉ༷ʹ Λܭࢉ Լهͷθϩ஌ࣝূ໌͢΂໋͖୊ΛίΠϯར༻ͷτϥϯβΫγϣϯʹؚΊΔ ʁʁ
  10. ௥͍͖Ε͍ͯͳ͍͜ͱ - εέʔϥϏϦςΟ - Zk-SNARKͱݺ͹ΕΔθϩ஌ࣝূ໌ͷৄࡉ - ඇର࿩ܕͰͲ͏࣮૷͍ͯ͠Δ͔ - τϥϯβΫγϣϯͷৄࡉ -

    JoinSplit Transaction - ͲΜͳ෩ʹ࣮૷͞Ε͍ͯΔͷ͔… - पลٕज़.. - ੬ऑੑपΓ
 https://z.cash/blog/fixing-zcash-vulns.html