ãããããã«ïŒ
Ð
èšäºã®ãã®éšåã§ã¯ããããå€çœ²åã䜿çšããå¥ã®ã¢ãããŒãã詳ããèŠãŠãããŸãã
ã¡ãã£ãšããæå·å
ãããå€çœ²åãã©ã®ããã«æ©èœããããç解ããã«ã¯ãåºæ¬çãªæå·åã«ã€ããŠç解ããå¿ èŠããããŸãã ã¹ã«ã©ãŒããŸãã¯åã«æ°åãšãã XNUMX ã€ã®æŠå¿µã䜿çšããŸãããããã¯å°æå (xãy) ãšæ¥åæ²ç·äžã®ç¹ã倧æåã§ç€ºããŸãã
ãããå€çœ²åã®åºæ¬ãç解ããã«ã¯ãããã€ãã®åºæ¬çãªäºé ãé€ããŠãæ¥åæ²ç·ãã©ã®ããã«æ©èœããããç解ããå¿ èŠã¯ãããŸããã
-
æ¥åæ²ç·äžã®ç¹ãå ç®ããããã¹ã«ã©ãŒã§ä¹ç®ãããããããšãã§ããŸã (ã¹ã«ã©ãŒã«ããä¹ç®ã次ã®ããã«è¡šããŸã)ã xGãšããè¡šèšã§ããã Gx æç®ã§ããã䜿ãããŸãïŒã ã¹ã«ã©ãŒã«ããå ç®ãšä¹ç®ã®çµæã¯ãæ¥åæ²ç·äžã®ç¹ã«ãªããŸãã
-
èŠç¹ã ããç¥ãããšã§ G ãšãã®ç©ãšã¹ã«ã©ãŒ xG èšç®ã§ããŸãã x.
å€é åŒã®æŠå¿µã䜿çšããŸã pïŒxïŒ åºŠ k-1. ç¹ã«ãå€é åŒã®æ¬¡ã®ããããã£ã䜿çšããŸããå€ãããã£ãŠããå Žå pïŒxïŒ èª°ã«ãšã£ãŠã k ç°ãªã x (ãããŠãã以äžã®æ å ±ã¯ãããŸãã pïŒxïŒïŒãèšç®ã§ããŸã pïŒxïŒ ä»ã®èª°ãã®ããã« x.
èå³æ·±ãã®ã¯ãã©ã®å€é åŒã§ã pïŒxïŒ ãããŠæ²ç·äžã®ã©ããã®ç¹ Gæå³ãç¥ã p(x)G 誰ã«ãšã£ãŠã k ããŸããŸãªæå³ xãèšç®ããããšãã§ããŸã p(x)G 誰ã«ãšã£ãŠã x.
ããã¯ããããå€çœ²åã®ä»çµã¿ãšããããå€çœ²åã䜿çšããŠä¹±æ°ãçæããæ¹æ³ã詳现ã«èª¿ã¹ãã®ã«ååãªæ å ±ã§ãã
ãããå€çœ²åã®ä¹±æ°çºçåš
ããèšã£ãŠã¿ãŸããã n åå è ã¯ä¹±æ°ãçæããããšèããŠããã誰ã§ãåå ã§ããããã«ããããšèããŠããŸãã k ãããã¯æ°ãçæããã®ã«ååãªæ°ããããŸããããå¶åŸ¡ããæ»æè 㯠k-1 人以äžã®åå è ã¯ãçæãããæ°ãäºæž¬ããã圱é¿ãäžãããããããšãã§ããŸããã§ããã
ãã®ãããªå€é åŒããããšããŸã pïŒxïŒ åºŠ k-1 æåã®åå è ãç¥ã£ãŠããããš pïŒ1ïŒãXNUMXçªç®ã®äººã¯ç¥ã£ãŠããŸã p(2)ã çã ïŒn-thã¯ç¥ã£ãŠããŸã p(n)ïŒã ãŸããããããã決ããããç¹ã«ã€ããŠã¯ã G 誰ããç¥ã£ãŠãã p(x)G ãã¹ãŠã®äŸ¡å€èŠ³ã«å¯Ÿã㊠xã é»è©±ããããŸã p(i) ããã©ã€ããŒãã³ã³ããŒãã³ãã içªç®ã®åå è ïŒãªããªã içªç®ã®åå è ã¯åœŒå¥³ãç¥ã£ãŠããŸã)ããããŠ è± ããããªãã¯ã³ã³ããŒãã³ãã i- çªç®ã®åå è (åå è å šå¡ã圌女ãç¥ã£ãŠãããã)ã èŠããŠãããšãããç¥èã¯ è± åŸ©å ããã«ã¯ååã§ã¯ãããŸãã p(i)ã
ãã®ãããªå€é åŒãäœæãããšã i-æåã®åå è ãšä»ã®èª°ã圌ã®ãã©ã€ããŒã ã³ã³ããŒãã³ããç¥ããŸããã§ãããããã¯ãããã³ã«ã®æãè€éã§èå³æ·±ãéšåã§ããã以äžã§åæããŸãã ããã§ã¯ããã®ãããªå€é åŒãããããã¹ãŠã®åå è ãèªåã®ãã©ã€ããŒãã³ã³ããŒãã³ããç¥ã£ãŠãããšä»®å®ããŸãããã
ãã®ãããªå€é åŒã䜿çšããŠä¹±æ°ãçæããã«ã¯ã©ãããã°ããã§ãããã? ãŸãããžã§ãã¬ãŒã¿ãŒãžã®å ¥åãšããŠãããŸã§äœ¿çšãããŠããªãæååãå¿ èŠã§ãã ãããã¯ãã§ãŒã³ã®å ŽåãæåŸã®ãããã¯ã®ããã·ã¥ h ã¯ãã®ãããªã©ã€ã³ã®è¯ãåè£ã§ãã åå è ã次ã䜿çšããŠä¹±æ°ãäœæã§ããããã«ããŸãã h çš®ã®ãããªã åå è ãæåã«å€æãã h äºåå®çŸ©ãããé¢æ°ã䜿çšããŠæ²ç·äžã®ç¹ã«ç§»åããŸãã
H = ã¹ã«ã©ãŒToPoint(h)
ãã®åŸãåå è äžäººã²ãšãã i èšç®ããŠå ¬è¡šãã Hi = p(i)Hã 圌ãã¯ç¥ã£ãŠããããäœãã§ããã®ã p(i) ãš H. é瀺 Hä»ã®åå è ããã©ã€ããŒã ã³ã³ããŒãã³ãã埩å ããããšãèš±å¯ããŸãã iãããã£ãŠããã©ã€ããŒã ã³ã³ããŒãã³ãã® XNUMX ã»ããããããã¯éã§äœ¿çšã§ããŸãã ãããã£ãŠã以äžã§èª¬æããé«äŸ¡ãªå€é åŒçæã¢ã«ãŽãªãºã ã¯ãäžåºŠå®è¡ããã ãã§æžã¿ãŸãã
æ k åå è ã¯è§£åããã Hi = p(i)Hã 誰ã§ãèšç®ã§ãã HÃïŒ p(x)H ã¿ããªã® x åã®ã»ã¯ã·ã§ã³ã§èª¬æããå€é åŒã®æ§è³ªã®ãããã§ã ãã®æç¹ã§åå è å šå¡ãèšç®ããŸã H0 = p(0)Hã ãããçµæãšããŠåŸãããä¹±æ°ã§ãã 誰ãç¥ããŸããã®ã§ã泚æãã ãã p(0)ã ãããã£ãŠãèšç®ããå¯äžã®æ¹æ³ã¯ p(0)H â ããã¯è£éã§ã p(x)Hã ããã¯æ¬¡ã®å Žåã«ã®ã¿å¯èœã§ã k 䟡å€èŠ³ p(i)H ç¥ãããŠããŸãã å°éã§ãéå°å¯èœ p(i)H ã«é¢ããæ å ±ã¯æäŸãããŸãã p(0)Hã
äžèšã®ãžã§ãã¬ãŒã¿ãŒã«ã¯ãå¿ èŠãªããããã£ããã¹ãŠå«ãŸããŠããŸããæ»æè ã¯å¶åŸ¡ã®ã¿ãè¡ããŸãã k-1 人以äžã®åå è ã¯çµè«ã«æ å ±ã圱é¿åãæã¡ãŸããããåå è ã¯å šå¡ k åå è ã¯çµæã®æ°å€ãšãã®ãµãã»ãããèšç®ã§ããŸãã k åå è ã¯ãåãã·ãŒãã«å¯ŸããŠåžžã«åãçµæã«éããŸãã
äžèšã§æ éã«åé¿ããåé¡ã XNUMX ã€ãããŸãã è£éãæ©èœããã«ã¯ãå€ã次ã®ãšããã§ããããšãéèŠã§ãã Hååå è ãå ¬éããi i æ¬åœã«åãã§ãã p(i)H. ä»ã«ã¯èª°ãããªãã®ã§ã i- çªç®ã®åå è ã¯ç¥ããŸãã p(i)ã 以å€ã®èª°ã i-çªç®ã®åå è ã¯ããã確èªã§ããŸãã Hi å®éã«ã¯æ£ããèšç®ãããŠãããæå·ã«ããæ£ããã®èšŒæã¯ãããŸãã Hæ»æè ã¯ä»»æã®å€ã次ã®ããã«å ¬éã§ããŸã ããã«ã¡ã¯ã ä¹±æ°çºçåšã®åºåã«ä»»æã«åœ±é¿ãäžãã:
æåã®åå è ã«ãã£ãŠéä¿¡ããã H_1 ã®å€ãç°ãªããšãçµæã® H_0 ãç°ãªããŸã
æ£ããã蚌æããã«ã¯å°ãªããšã XNUMX ã€ã®æ¹æ³ããã Hå€é åŒã®çæãåæããåŸã§ããããæ€èšããŸãã
å€é åŒã®çæ
åã®ã»ã¯ã·ã§ã³ã§ã¯ããã®ãããªå€é åŒããããšä»®å®ããŸããã pïŒxïŒ åºŠ k-1 åå è ã i ç¥ã£ãŠãã p(i)ããããŠä»ã®èª°ããã®å€ã«ã€ããŠã®æ å ±ãæã£ãŠããŸããã 次ã®ã»ã¯ã·ã§ã³ã§ã¯ãäºåã«æ±ºããããç¹ã«ã€ããŠããããå¿ èŠã«ãªããŸãã G 誰ããç¥ã£ãŠãã p(x)G ã¿ããªã® x.
ãã®ã»ã¯ã·ã§ã³ã§ã¯ãååå è ãããŒã«ã«ã«ç§å¯éµãæã£ãŠãããšä»®å®ããŸãã 西ã 誰ãã察å¿ããå ¬ééµãç¥ã£ãŠããããã« Xi.
èããããå€é åŒçæãããã³ã«ã® XNUMX ã€ã¯æ¬¡ã®ãšããã§ãã
-
ååå è i ä»»æã®å€é åŒãããŒã«ã«ã«äœæããŸã pi(x) æ¬¡æ° k-1ã 次ã«ãååå è ãéä¿¡ããŸãã j зМаÑеМОе pi(j)ãå ¬ééµã§æå·å Xj. ãããã£ãŠãã®ã¿ i-ã О j-ã åå è ã¯ç¥ã£ãŠããŸã pi(j)ã åå è i ãå ¬è¡šããŠããŸã pi(j)G ã¿ããªã® j ãã 1 ЎП k å æ¬çã§ãã
-
ãã¹ãŠã®åå è ãäœããã®åæã«åºã¥ããŠéžæããŸã k å€é åŒã䜿çšãããåå è ã åå è ã®äžã«ã¯ãªãã©ã€ã³ã®å Žåããããããå šå¡ãæããŸã§åŸ ã€ããšã¯ã§ããŸããã n åå è ã¯å€é åŒãå ¬éããŸãã ãã®ã¹ãããã®çµæã¯ã»ããã§ã Z å°ãªããšããããªã k ã¹ããã (1) ã§äœæãããå€é åŒ.
-
åå è ã¯èªåãç¥ã£ãŠãã䟡å€èŠ³ã確èªããŸã pi(j)ã¯å ¬è¡šãããŠãããã®ã«çžåœ pi(j)G. ãã®ã¹ãããã€ã³ã®åŸã Z ãã©ã€ããŒãã«éä¿¡ãããå€é åŒã®ã¿ pi(j)ã¯å ¬è¡šãããŠãããã®ã«çžåœ pi(j)G.
-
ååå è j ãã©ã€ããŒãã³ã³ããŒãã³ããèšç®ããŸã p(j) åèšãšã㊠pãã¹ãŠã® i(j) i в Zã ååå è ããã¹ãŠã®å€ãèšç®ããŸã p(x)G åèšãšã㊠ãã¹ãŠã® i ã«å¯Ÿã㊠pi(x)G в Z.
ãäºæ¿ãã ãã p(x) â ããã¯æ¬åœã«å€é åŒã§ã k-1ã ããã¯å人ã®åèšã ãã pi(x)ãããããã¯æ¬¡æ°ã®å€é åŒã§ã k-1. 次ã«ãååå è ã j ç¥ã£ãŠãã p(j)ã 圌ãã¯ããã«ã€ããŠã®æ å ±ãæã£ãŠããŸãã pïŒxïŒ ã®ããã« x â jã å®éããã®å€ãèšç®ããã«ã¯ããã¹ãŠãç¥ãå¿ èŠããããŸãã ãã€(x)ã ãããŠåå è ã§ããéã j éžæãããå€é åŒã®å°ãªããšã XNUMX ã€ãç¥ããŸãããååãªæ å ±ããããŸããã p(x)ã
ããã¯ãåã®ã»ã¯ã·ã§ã³ã§å¿ èŠã ã£ãå€é åŒçæããã»ã¹å šäœã§ãã äžèšã®ã¹ããã 1ã2ãããã³ 4 ã®å®è£ ã¯éåžžã«æçœã§ãã ããããã¹ããã 3 ã¯ããã»ã©ç°¡åã§ã¯ãããŸããã
å ·äœçã«ã¯ãæå·åãããŠããããšã蚌æã§ããå¿ èŠããããŸãã pi(j) ã¯å®éã«å ¬éãããŠãããã®ã«å¯Ÿå¿ããŸã pi(j)G. 蚌æã§ããªãå Žåãæ»æè 㯠i 代ããã«ãŽããéããããããªã pi(j) ããåå è ãž jãšåå è j æ¬åœã®äŸ¡å€ãåŸãããšãã§ããªããªããŸã pi(j)ã ãã©ã€ããŒãã³ã³ããŒãã³ããèšç®ã§ããªããªããŸã.
è¿œå ã®ã¡ãã»ãŒãžãäœæã§ããæå·åãããã³ã«ããããŸã 蚌æi(j)ãã©ã®åå è ãäœããã®å€ãæ〠e, å㳠蚌æ(j) О pi(j)G ã¯ããŒã«ã«ã§æ€èšŒã§ãã e - ããã¯æ¬åœã« pi(j)ã åå è ã®ããŒã§æå·åããã j. æ®å¿µãªããããã®ãããªèšŒæ ã®ãµã€ãºã¯ä¿¡ããããªãã»ã©å€§ãããå ¬éããå¿ èŠãããããšãèãããšã OïŒnkïŒ ãã®ãããªèšŒæ ããã®ç®çã«äœ¿çšããããšã¯ã§ããŸããã
ããã蚌æãã代ããã« ãã€(j) äžèŽ pi(j)G å€é åŒçæãããã³ã«ã«éåžžã«é·ãæéãå²ãåœãŠãããšãã§ãããã®éã«ãã¹ãŠã®åå è ãåä¿¡ããæå·åãããã¡ãã»ãŒãžããã§ãã¯ããŸãã pi(j)ã 埩å·åãããã¡ãã»ãŒãžãå ¬éã¡ãã»ãŒãžã«å¯Ÿå¿ããªãå Žå pi(j)G ã§ã¯ãåä¿¡ããæå·åã¡ãã»ãŒãžãééã£ãŠãããšããæå·åŠç蚌æ ãå ¬éããŠããŸãã ã¡ãã»ãŒãžã§ããããšã蚌æããŠãã ãã ã㌠äžèŽ è±ïŒ äžèŽããããšã蚌æãããããã¯ããã«ç°¡åã§ãã ããã¯ãååå è ããã®ãããªèšŒæ ãäœæããããã«å²ãåœãŠãããæéå ã«å°ãªããšãXNUMXåãªã³ã©ã€ã³ã«ç»å ŽããããšãèŠæ±ããŠããããã®ãããªèšŒæ ãå ¬éããã°ãåãå²ãåœãŠæéå ã«ä»ã®ãã¹ãŠã®åå è ã«ãã®æ å ±ãå±ããšããåæã«åºã¥ããŠããããšã«æ³šæããŠãã ããã
åå è ããã®æéäžã«ãªã³ã©ã€ã³ã«çŸãããå°ãªããšã XNUMX ã€ã®ééã£ãã³ã³ããŒãã³ããæã£ãŠããå Žåããã®ç¹å®ã®åå è ã¯ãã以éã®çªå·çæã«åå ã§ããªããªããŸãã ãã ããå°ãªããšã k æ£ããã³ã³ããŒãã³ããåãåã£ãã°ããããå²ãåœãŠãããæéå ã«äžæ£ã®èšŒæ ãæ®ãããšãã§ããåå è ã
H_i ã®æ£ããã®èšŒæ
æåŸã«è°è«ãã¹ãéšåã¯ãå ¬éãããæ å ±ã®æ£ç¢ºæ§ãã©ã®ããã«èšŒæãããã§ãã Hç§ãã€ãŸããã Hi = p(i)Hã éããã« p(i)ã
䟡å€èŠ³ãèŠããŠãããŠãã ãã HãGãp(i)G å ¬ã§ããã誰ã«ã§ãç¥ãããŠããŸãã åä¿¡åäœ p(i) ç¥ã£ãŠãã è± Ðž G é¢æ£å¯Ÿæ°ãšåŒã°ããããŸã㯠ããã°ã ãããŠç§ãã¡ã¯æ¬¡ã®ããšã蚌æããããšèããŠããŸãã
dlog(p(i)G, G) = dlog(Hi, H)
é瀺ããã« p(i)ã ãã®ãããªèšŒæã®ããã®æ§é ã¯ååšããŸããããšãã°ã
ãã®ãã¶ã€ã³ã§ã¯ãåå è äžäººã²ãšããã Hi èšèšã«åŸã£ãŠæ£ããããšã®èšŒæãéä¿¡ããŸãã
ä¹±æ°ãçæããããšãå€ãã®å Žåããã®ä¹±æ°ãçæãã人以å€ã®åå è ããã®ä¹±æ°ã䜿çšããå¿ èŠããããŸãã ãã®ãããªåå è ã¯ãçªå·ãšãšãã«ãã¹ãŠãéä¿¡ããå¿ èŠããããŸãã Hi ããã³é¢é£ãã蚌æ ã
奜å¥å¿æºçãªèªè ã¯ããå°ãããããããŸããããªããªããæçµçãªä¹±æ°ã¯ H0ãããã³ p(0)G â ããã¯å ¬éæ å ±ã§ããã®ã«ããªãå人ããšã«èšŒæ ãå¿ èŠãªã®ã§ããããïŒ H代ããã«ãã®èšŒæ ãéã£ãŠã¿ãŸããã
dlog(p(0)G, G) = dlog(H0, H)
åé¡ã¯ããã®å€ã誰ãç¥ããªããããSchnorr ãããã³ã«ã䜿çšããŠãã®ãããªèšŒæãäœæã§ããªãããšã§ãã pïŒ0ïŒã蚌æãäœæããããã«å¿ èŠã§ãããããã«ãä¹±æ°çæåšå šäœããã®å€ã誰ãç¥ããªããšããäºå®ã«åºã¥ããŠããŸãã ãããã£ãŠããã¹ãŠã®å€ãå¿ èŠã§ã Hi ãããŠãã®æ£ããã蚌æããããã®åã ã®èšŒæ H0.
ãã ããæå³çã«ä¹ç®ã«é¡äŒŒããæ¥åæ²ç·äžã®ç¹ã«å¯ŸããæŒç®ããã£ãå Žåãæ£ããã®èšŒæã¯è¡ãããŸããã H0 ããã¯äºçŽ°ãªããšã§ãããåã«ããã確èªããã ãã§ã
H0Ã G = p(0)GÃH
éžæããã«ãŒãããµããŒãããŠããå Žå
çµè«
ãã®èšäºã¯æè¡ããã° ã·ãªãŒãºã®äžéšã§ã
ãããã³ã« ã³ãŒãã¯ãªãŒãã³ã§ãããå®è£
㯠Rust ã§æžãããŠããã次ã®å Žæã§èŠã€ããããšãã§ããŸãã
NEAR ã®éçºãã©ã®ãããªãã®ãã確èªãããªã³ã©ã€ã³ IDE ã§å®éšããããšãã§ããŸã
ãã¹ãŠã®ãã¥ãŒã¹ããã·ã¢èªã§ãã©ããŒã§ããŸãã
ãŸããïŒ
åºæïŒ habr.com