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

Spartan: Efficient and general-purpose zkSNARKs without trusted setup

Spartan: Efficient and general-purpose zkSNARKs without trusted setup

Spartan Review in Japanese , Spartanの解説(暗号通貨輪読会 #31) @ the University of Tokyo

Title: Spartan: Efficient and general-purpose zkSNARKs without trusted setup
Author: Srinath Setty (Microsoft Research)
Published: May 22, 2019
Link: https://eprint.iacr.org/2019/550

P.S. (追記) Aug 3, 2019
added 52nd page, 52ページ目追加しました。

Takaya Imai

July 01, 2019
Tweet

More Decks by Takaya Imai

Other Decks in Technology

Transcript

  1. ࣗݾ঺հ ϑϩϯςΟΞύʔτφʔζ߹ಉձࣾ ୅දCEO United Bitcoiners Inc. ڞಉ૑ۀऀˍऔక໾CTO ϑϨηοπגࣜձࣾɹٕज़ސ໰ ϚελϦϯάϏοτίΠϯɺ຋༁ऀ୅ද ੈքͰॳΊͯͷɺ೔ຊޠʹΑΔϏοτίΠϯɾϒϩοΫνΣʔ

    ϯͷৄࡉٕज़ॻ(NTTग़൛ࣾ) શମͷׂ̕Λ຋༁ ୈ̍̎࡮ 2016/7/14ग़൛ ిࢠॻ੶൛(kindle)΋ ΦʔϓϯΤσΟγϣϯ൛ https://www.bitcoinbook.info ίϯαΠε൛ͱ߹Θͤͯ13,300෦ൃߦ
  2. ໨࣍ w ࿦จͷ֓ཁ w ࿦จͷத਎  *OUSPEVDUJPO  3FMBUFEXPSL 

    1SFMJNJOBSJFT  0WFSWJFXPG4QBSUBO  "OFXQVCMJDDPJO TVDDJODUJOUFSBDUJWFBSHVNFOUGPS/1   $PNQVUBUJPODPNNJUNFOUT"UFDIOJRVFUPBDIJFWFTVCMJOFBS WFSJpDBUJPOUJNF
  3. [L4/"3,T w[FSPLOPXMFEHF wূ໌ऀ 1SPWFS ͸ݕূऀ 7FSJpFS ʹൿີΛ౉͢͜ͱͳ͘ w4VDDJODU w؆ܿͰ w/POJOUFSBDUJWF

    wඇର࿩ͳܗͰ w"3HVNFOUPG,OPXMFEHF w஌ࣝͷࠜڌΛ౉͢ํ๏ wl1SPPGzPG,OPXMFEHFͰ͸ͳ͍ɻ
  4. 1$1 1SPCBCJMJTUJDBMMZ$IFDLBCMF1SPPGT  ֬཰తʹ֬ೝՄೳͳূ໌ wূ໌ऀ͕౴͑Λ஌͓ͬͯΓɺ·ͨਖ਼͍͠ϓϩτίϧΛ༻ ͍Ε͹ɺߴ͍֬཰Ͱݕূऀʹೲಘͤ͞Δ͜ͱ͕Ͱ͖Δ w͜ͷ֬཰͕ߴ͍͜ͱΛ׬શੑ $PNQMFUFOFTT ͕͋Δ ͱ͍͏ɻ

    wূ໌ऀ͕ӕ ౴͑Λ஌Βͳ͍ͷʹ஌͍ͬͯΔͱݴ͏ Λͭ ͍ͯ͠·ͬͯ΋௨ͬͯ͠·͏͔΋ɻ wূ໌ऀ͕ӕΛ͍ͭͨ৔߹ʹݕূऀ͕ӕͩͱ൑அ͢Δ֬ ཰͕ߴ͍͜ͱΛ݈શੑ 4PVOEOFTT ͕͋Δͱ͍͏ɻ
  5. 1$1ʹ·ͭΘΔྺ࢙ w೥Ҏલ͸੩తূ໌ TUBUJDQSPPG  w೥୅ɺ೥୅͸*OUFSBDUJWF1SPPG ର࿩ܕূ໌  w*OUFSBDUJWFl1SPPGz͸׬શੑɺ݈શੑ "SHVNFOUͰ͸ͳ͘ 

    w࣮༻ੑ͸ஔ͍͓͍ͯͯɺର࿩ܕʹ͢Δ͜ͱͰ׬ᘳΛٻΊͯ Έͨ w࣍ୈʹ1$1ʹҠ͍ͬͯ͘ w*OUFSBDUJWF1SPPGΛߦ͏ͨΊʹTVNDIFDLQSPUPDPM͕ ग़͖ͯͨͷ͕೥ IUUQTQFPQMFFFDTCFSLFMFZFEVdBMFYDIEPDT$44MFDUVSFQEG
  6. 1$1ʹ·ͭΘΔྺ࢙ 4UBUJD1SPPG *OUFSBDUJWF1SPPG .*1 .VMUJ1SPWFST (,3EPVCMZF⒏DJFOU*1೥ %BUBQBSBMMFMJTN DJSDVJUTUSVDUVSF 1$1 TIPSU1$1

    MJOFBS1$1 2"1 *01 *OUFSBDUJWF0SBDMF1SPPG  [L45"3, ೥ Ұ෦ಡΈҧ͑ͯΔ͔΋͠Ε·ͤΜ *OOFS1SPEVDU #VMMFUQSPPG ೥ 4QBSUBO 4VN$IFDL1SPUPDPM 1PMZOPNJBM$PNNJUNFOU4DIFNF  $PNQVUBUJPO$PNNJUNFOU )ZSBY೥ 1JOPDDIJP (SPUI
  7. "SJUINFUJD$JSDVJU4BUJTpBCJMJUZ ࢉज़ճ࿏ॆ଍Մೳੑ wॆ଍ՄೳੑΛௐ΂Δ͜ͱΛɺ4BUJTpBCJMJUZ 1SPCMFN ॆ଍Մೳੑ໰୊ ͱ͍͍ɺ4"5ͱུه͢Δɻ wͨͩී௨4"5ͱ͍͏࣌͸ Y㱹Y㱹ʜ 㱸 Y㱹™Y㱹ʜ

    㱸ʜͷΑ͏ͳܗΛͨ͠ ࿦ཧࣜͷ૊Έ߹Θ͕ͤଘࡏ͢Δ͔Ͳ͏͔ͷ໰୊Λࢦ ͢Α͏ɻ w͜Ε͸۩ମతͳ΋ͷ͕ͳ͍ͱΠϝʔδ͕͚ͭͮΒ͍ɻ ޙ΄Ͳɻ
  8. 4VN$IFDL1SPUPDPM  #PC͸ɺ ͱϥϕϧ͕షΒΕͨίοϓʹٱอాͱീւࢁΛೖΕɺͲͪΒͷϥ ϕϧͷίοϓʹٱอాΛೖΕ͔ͨΛϝϞ͓֮ͯ͑ͯ͘͠ɻ  #PC͸ɺ"MJDFʹϥϕϧͷ৘ใΛӅͨ͠ঢ়ଶͰ̎ͭͷίοϓΛ"MJDFʹ౉͠ɺͲ ͪΒ͕ٱอా͔Λڭ͑ΔΑ͏ʹݴ͏ɻ  "MJDF͸ɺ೔ຊञΛವΈɺϥϕϧΛ#PCʹ౴͑Δɻ

     #PC͸"MJDF͕౰͔ͨͬͨͲ͏͔ΛνΣοΫ͠ɺ౰͔ͨͬͨͲ͏͔ΛϝϞ͢ Δɻ౰ͨͬͨ৔߹͸5SVFɺؒҧͬͨ৔߹͸'BMTFΛΞ΢τϓοτͱͯ͢͠Δɻ  #PC͸खॱʹ໭Γɺ͜ΕΛ̍̌ճ܁Γฦ͢ɻ  #PC͸̍̌ճ܁Γฦͨ͠ͷͪɺΞ΢τϓοτશͯͷ࿦ཧੵΛऔΔɻ݁Ռ͕ 5SVFͰ͋Ε͹"MJDFʹར͖ञͷೳྗ͕͋Δͱ൑அ͢Δɻ
  9. "SJUINFUJD$JSDVJU4BUJTpBCJMJUZ ࢉज़ճ࿏ॆ଍Մೳੑ wॆ଍ՄೳੑΛௐ΂Δ͜ͱΛɺ4BUJTpBCJMJUZ 1SPCMFN ॆ଍Մೳੑ໰୊ ͱ͍͍ɺ4"5ͱུه͢Δɻ wͨͩී௨4"5ͱ͍͏࣌͸ Y㱹Y㱹ʜ 㱸 Y㱹™Y㱹ʜ

    㱸ʜͷΑ͏ͳܗΛͨ͠ ࿦ཧࣜͷ૊Έ߹Θ͕ͤଘࡏ͢Δ͔Ͳ͏͔ͷ໰୊Λࢦ ͢Α͏ɻ w͜Ε͸۩ମతͳ΋ͷ͕ͳ͍ͱΠϝʔδ͕͚ͭͮΒ͍ɻ ޙ΄Ͳɻ
  10. 1$1ʹ·ͭΘΔྺ࢙ 4UBUJD1SPPG *OUFSBDUJWF1SPPG .*1 .VMUJ1SPWFST (,3EPVCMZF⒏DJFOU*1೥ %BUBQBSBMMFMJTN DJSDVJUTUSVDUVSF 1$1 TIPSU1$1

    MJOFBS1$1 2"1 *01 *OUFSBDUJWF0SBDMF1SPPG  [L45"3, ೥ Ұ෦ಡΈҧ͑ͯΔ͔΋͠Ε·ͤΜ *OOFS1SPEVDU #VMMFUQSPPG ೥ 4QBSUBO 4VN$IFDL1SPUPDPM 1PMZOPNJBM$PNNJUNFOU4DIFNF  $PNQVUBUJPO$PNNJUNFOU )ZSBY೥ 1JOPDDIJP (SPUI 4QBSUBOͱ ௚઀͸ඥ෇͔ͳ͍͕ྫͱͯ͠࢖͏
  11. 2"1 2VBESBUJD"SJUINFUJD1SPHSBN  ̎࣍ࢉज़ϓϩάϥϜ w ྫ͑͹ w Y㱹Z㱹™[ w 㱹l࿦ཧ࿨zɺ㱸l࿦ཧੵzɺ™z൱ఆz

    w ஔ͖׵͑ w Y㱹Z︎ˠY ZɺY㱸Z︎ˠYºZɺ™Y︎ˠ —Y  w Y Z  —[ Y5 Z5 ['ͷͱ͖ɺ5SVF Y Z [ͷͱ͖ɺɻ Ҏ֎Ͱ͋Ε͹5SVFͱ൑அɻ
  12. 2"1 2VBESBUJD"SJUINFUJD1SPHSBN  ̎࣍ࢉज़ϓϩάϥϜ w 2"1ͱ͸ w ূ໌͍ͨ͠࿦ཧΛɺ"SJUINFUJ[BUJPOΛ௨ͯ͠ɺ w "

    Y # Y $ Y 5 Y ; Y  w ͷܗʹม׵͠ɺ౴͑Λ஌͍ͬͯΔ͜ͱΛ; Y Λ஌͍ͬͯ Δ͜ͱʹؼண͠ίετΛݮΒ͢ํ๏
  13. "SJUINFUJD$JSDVJU4BUJTpBCJMJUZ ࢉज़ճ࿏ॆ଍Մೳੑ wॆ଍ՄೳੑΛௐ΂Δ͜ͱΛɺ4BUJTpBCJMJUZ 1SPCMFN ॆ଍Մೳੑ໰୊ ͱ͍͍ɺ4"5ͱུه͢Δɻ wͨͩී௨4"5ͱ͍͏࣌͸ Y㱹Y㱹ʜ 㱸 Y㱹™Y㱹ʜ

    㱸ʜͷΑ͏ͳܗΛͨ͠ ࿦ཧࣜͷ૊Έ߹Θ͕ͤଘࡏ͢Δ͔Ͳ͏͔ͷ໰୊Λࢦ ͢Α͏ɻ w͜Ε͸۩ମతͳ΋ͷ͕ͳ͍ͱΠϝʔδ͕͚ͭͮΒ͍ɻ ޙ΄Ͳɻ
  14. 3BOHF1SPPGͷ࣮૷ํ๏ w 3JOH4JHOBUVSFXJUI1FEFSTFO$PNNJUNFOU w "043JOH4JHOBUVSF w ࠓҪͷαϯϓϧίʔυ w IUUQTHJUIVCDPNUBLBZBJNBJTDSJQUMFTT@TDSJQUCMPCNBTUFS BPT@SJOH@TJHOBUVSFKT

    w #PSSPNFBO3JOH4JHOBUVSF w $JDMJD(SPVQXJUI4JHNB1SPUPDPM w ʜ w ຊ౰͸ಡॻձͰ͜ΕΛ࣮ࡍʹ4QBSUBOͰ΍ͬͯΈ͔͕ͨͬͨɺ࿩͕࣌ؒ͢ͳ͔ͬͨ
  15. 3FGFSFODFT w IUUQTWJUBMJLDBHFOFSBMTUBSLT@QBSU@IUNM w IUUQTNFEJVNDPN!7JUBMJL#VUFSJO[LTOBSLTVOEFSUIFIPPECBG w IUUQTDSZQUPTUBDLFYDIBOHFDPNRVFTUJPOTQSPWFJOUFHFSJTXJUIJO UIFJOUFSWBMBC w IUUQXXXDTVDMBDVLTUB⒎+(SPUI

    w IUUQT[LQTDJFODF w IUUQTNFEJVNDPNRFEJUEJWJOHJOUPUIFTOBSLTTFUVQQIBTFCBE w IUUQTNFEJVNDPN!TPVJUJFYQMBJOJOHTOBSLTͷղઆCCDFCDG w IUUQTTDSBQCPYJPMBZFSY[L4/"3,T@$@TFUVQQSPPWJOHWFSJGZJOH
  16. 3FGFSFODFT w IUUQTTDSBQCPYJPMBZFSY#VMMFUQSPPGT w IUUQTTDSBQCPYJPMBZFSY[L4/"3,T@$@TFUVQQSPPWJOH WFSJGZJOH w IUUQTTDSBQCPYJP4UBLFE5FDIOPMPHJFT4UBLFE@;,4/"3,T w IUUQTTDSBQCPYJP&UI1FEJB#MJOE@&WBMVBUJPO@PG@1PMZOPNJBMT

    w IUUQTUBTVTVIBUFOBCMPHDPNFOUSZ w IUUQTFDDDXFJ[NBOOBDJMSFQPSU w IUUQXXXDTQSJODFUPOFEVDPVSTFTBSDIJWFTQSDPTJQQEG
  17. 3FGFSFODFT w IUUQTXXXKBJTUBDKQdVFIBSBDPVSTFJFQEGOQQEG w IUUQTUXJUUFSDPN1FSGFDU@*OTJEFSTUBUVT w IUUQTXXXXFCMJPKQXLQKBDPOUFOU1$1 ܭࢉෳࡶੑཧ࿦@1$1 ܭࢉෳࡶੑ ཧ࿦ͷ֓ཁ

    w %PVCMFF⒏DJFOU[L4/"3,T8JUIPVU5SVTUFE4FUVQIUUQTXXXZPVUVCFDPNXBUDI WZR"G-M.XX w IUUQTBLBEFNFJBJOGPJOEFYQIQ $JSDVJU4"5 w IUUQT[DBTIKBUFDIOPMPHZ[LTOBSLT w IUUQTDSZQUPTUBDLFYDIBOHFDPNRVFTUJPOTXIBUEPFTJUNFBOGPSBO BEWFSTBSZUPSVOJOQQU w IUUQMBCJJTFDBDKQdBSJUBQEGTJHNBQEG
  18. pO