ãããããã«ïŒ
ãã®èšäºã§ã¯ããäºããä¿¡é ŒããŠããªãåå è ã«ããç䌌乱æ°ã®çæã«ã€ããŠèª¬æããŸãã 以äžã§èª¬æããããã«ããã»ãŒãåªãããžã§ãã¬ãŒã¿ãŒãå®è£ ããã®ã¯éåžžã«ç°¡åã§ãããéåžžã«åªãããžã§ãã¬ãŒã¿ãŒãå®è£ ããã®ã¯å°é£ã§ãã
ãäºããä¿¡é ŒããŠããªãåå è ã®éã§ä¹±æ°ãçæããå¿ èŠãããã®ã¯ãªãã§ãããã? ã¢ããªã±ãŒã·ã§ã³åéã® 49 ã€ã¯åæ£åã¢ããªã±ãŒã·ã§ã³ã§ãã ããšãã°ãåå è ããè³ããåãå ¥ãã51% ã®ç¢ºçã§éé¡ã XNUMX åã«ããããXNUMX% ã®ç¢ºçã§åãæ¶ãã¢ããªã±ãŒã·ã§ã³ã¯ãå ¬å¹³ã«ä¹±æ°ãåãåãããšãã§ããå Žåã«ã®ã¿æ©èœããŸãã æ»æè ãä¹±æ°çæåšã®çµæã«åœ±é¿ãäžããã¢ããªã±ãŒã·ã§ã³ã§æ¯æããåãåãå¯èœæ§ããããã§ãé«ããããšãã§ããã°ãæ»æè ã¯ç°¡åã«ä¹±æ°çæåšãç Žå£ããŠããŸããŸãã
åæ£ä¹±æ°çæãããã³ã«ãèšèšãããšãã¯ã次㮠XNUMX ã€ã®ããããã£ãæãããå¿ èŠããããŸãã
-
圌ã¯å ¬å¹³ã§ãªããã°ãªããŸããã èšãæããã°ãåå è ã¯ä¹±æ°çºçåšã®çµæã«ãããªã圢ã§ã圱é¿ãäžããã¹ãã§ã¯ãããŸããã
-
圌ã¯äºæž¬äžå¯èœãªäººç©ã«éããªãã èšãæããã°ãåå è ã¯ãçæãããåã«ã©ã®ãããªæ°å€ãçæãããããäºæž¬ (ãŸãã¯ãã®ããããã£ã®ãããããæšæž¬) ã§ããã¹ãã§ã¯ãããŸããã
-
ãããã³ã«ã¯å®è¡å¯èœã§ããå¿ èŠããããŸããã€ãŸããäžå®ã®å²åã®åå è ããããã¯ãŒã¯ããåæããããæå³çã«ãããã³ã«ãåæ¢ããããšããããããšããäºå®ã«èããããå¿ èŠããããŸãã
ãã®èšäºã§ã¯ãRANDAO + VDF ãšæ¶å»ã³ãŒã ã¢ãããŒãã® XNUMX ã€ã®ã¢ãããŒãã«ã€ããŠèª¬æããŸãã 次ã®ããŒãã§ã¯ããããå€ã·ã°ããã£ã«åºã¥ãã¢ãããŒãã詳现ã«æ€èšããŸãã
ãŸãæåã«ãå®è¡å¯èœã§äºæž¬äžå¯èœã§ã¯ãããã®ã®ãåã£ããã·ã³ãã«ã§äžè¬çã«äœ¿çšãããã¢ã«ãŽãªãºã ãèŠãŠã¿ãŸãããã
ã©ã³ããª
RANDAO ã¯éåžžã«ã·ã³ãã«ãªã®ã§ãã©ã³ãã æ§ãçæããããã«éåžžã«äžè¬çã«äœ¿çšãããã¢ãããŒãã§ãã ãã¹ãŠã®ãããã¯ãŒã¯åå è ã¯ããŸãããŒã«ã«ã§æ¬äŒŒä¹±æ°ãéžæãã次ã«ååå è ãéžæããæ°å€ã®ããã·ã¥ãéä¿¡ããŸãã 次ã«ãåå è ã¯é çªã«èªåãéžæããæ°å€ãå ¬éããå ¬éãããæ°å€ã«å¯Ÿã㊠XOR æŒç®ãå®è¡ããŸãããã®æŒç®ã®çµæããããã³ã«ã®çµæã«ãªããŸãã
æ»æè ãä»ã®åå è ã®çªå·ãèŠãåŸã§èªåã®çªå·ãéžæã§ããªãããã«ãçªå·ãæããã«ããåã«ããã·ã¥ãå ¬éããã¹ããããå¿ èŠã§ãã ããã«ããã圌ã¯äºå®äžç¬åã§ä¹±æ°çºçåšã®åºåã決å®ã§ããããã«ãªããŸãã
ãããã³ã«ã®éçšã§ãåå è 㯠XNUMX åå ±éã®æ±ºå® (ããããã³ã³ã»ã³ãµã¹) ã«éããå¿ èŠããããŸããéžæãããæ°å€ã®å ¬éããã€éå§ãããããããã£ãŠããã·ã¥ã®åãå ¥ããåæ¢ãããããã XNUMX ã€ã¯éžæãããæ°å€ã®åãå ¥ããšãã®çµæã®ã©ã³ãã ã®èšç®ããã€åæ¢ãããã§ããçªå·ã ãäºããä¿¡é ŒããŠããªãåå è ã®éã§ãã®ãããªæ±ºå®ãäžãããšèªäœã¯ç°¡åãªäœæ¥ã§ã¯ãããŸããããããã«ã€ããŠã¯ä»åŸã®èšäºã§æ¹ããŠèª¬æããŸããããã®èšäºã§ã¯ãã®ãããªã³ã³ã»ã³ãµã¹ ã¢ã«ãŽãªãºã ãå©çšå¯èœã§ãããšä»®å®ããŸãã
RANDAO ã«ã¯ãäžã§èª¬æããç¹æ§ã®ãã¡ã©ãããããŸãã? ããã¯äºæž¬äžå¯èœã§ãããåºç€ãšãªãã³ã³ã»ã³ãµã¹ãããã³ã«ãšåã掻åãæã£ãŠããŸãããåã£ãŠããŸãã å ·äœçã«ã¯ãæ»æè ã¯ãããã¯ãŒã¯ã芳å¯ããä»ã®åå è ãèªåã®çªå·ãå ¬éããåŸãXOR ãèšç®ããçµæã«åœ±é¿ãäžããããã«èªåã®çªå·ãå ¬éãããã©ããã決å®ã§ããŸãã ããã«ãããæ»æè ãä¹±æ°çºçåšã®åºåãç¬åã§æ±ºå®ããããšã¯ã§ããªããªããŸãããããã§ã 1 ãããã®åœ±é¿åãäžããããŸãã ãŸããæ»æè ãè€æ°ã®åå è ãå¶åŸ¡ããå Žåãæ»æè ãå¶åŸ¡ãããããæ°ã¯ãæ»æè ãå¶åŸ¡ããåå è ã®æ°ãšçãããªããŸãã
åå è ã«é çªã«çªå·ãæããã«ãããããšã§ãæ»æè ã®åœ±é¿ãå€§å¹ ã«è»œæžã§ããŸãã ããããã°ãæ»æè ã¯æåŸã«éãããå Žåã«ã®ã¿çµæã«åœ±é¿ãäžããããšãã§ããŸãã 圱é¿ã¯å€§å¹ ã«æžå°ããŠããŸãããã¢ã«ãŽãªãºã ã«ã¯äŸç¶ãšããŠãã€ã¢ã¹ãããã£ãŠããŸãã
ã©ã³ããª+VDF
RANDAO ãåãã®ãªããã®ã«ãã XNUMX ã€ã®æ¹æ³ã¯ããã¹ãŠã®æ°å€ãæããã«ãªã XOR ãèšç®ãããåŸããã®çµæãé¢æ°ã®å ¥åã«å ¥åãããããšã§ããããã«ãããèšç®ã«ã¯éåžžã«é·ãæéãããããŸããããã®çµæãæ£ãããã©ããããã§ãã¯ã§ããŸããèšç®ãéåžžã«æ©ããªããŸãã
(vdf_output, vdf_proof) = VDF_compute(input) // ÑÑП ПÑÐµÐœÑ ÐŒÐµÐŽÐ»ÐµÐœÐœÐŸ
correct = VDF_verify(input, vdf_output, vdf_proof) // ÑÑП ПÑÐµÐœÑ Ð±ÑÑÑÑП
ãã®æ©èœã¯ãVerifiable Delay Function (VDF) ãšåŒã°ããŸãã æçµçµæã®èšç®ã«çªå·é瀺段éãããæéããããå Žåãæ»æè ã¯èªåã®çªå·ã衚瀺ãŸãã¯é衚瀺ã«ããå Žåã®åœ±é¿ãäºæž¬ã§ããªããªããçµæã«åœ±é¿ãäžããæ©äŒã倱ãããšã«ãªããŸãã
åªãã VDF ãéçºããããšã¯éåžžã«å°é£ã§ãã æè¿ãããã€ãã®ç»æçãªé²æ©ããããŸããã
ãã®ã¢ãããŒãã®æ倧ã®èª²é¡ã¯ãéåžžã«é«äŸ¡ãªå°çšããŒããŠã§ã¢ã䜿çšããŠããåå è ã§ãã£ãŠããæ€åºãã§ãŒãºãçµäºãããŸã§ã¯ VDF ãèšç®ã§ããªãããã« VDF ãèšå®ããããšã§ãã çæ³çã«ã¯ãã¢ã«ãŽãªãºã ã«ã¯å€§å¹ ãªå®å šããŒãžã³ (ããšãã° 10 å) ããããå¿ èŠããããŸãã 以äžã®å³ã¯ãRANDAO 確èªãæããã«ããããã«å²ãåœãŠãããæéãããéã VDF ãå®è¡ã§ããç¹æ®ãª ASIC ãåããæ»æè ã«ããæ»æã瀺ããŠããŸãã ãã®ãããªåå è ã¯ãèªåã®çªå·ã䜿çšããã䜿çšããªãã§æçµçµæãèšç®ãããã®èšç®ã«åºã¥ããŠããã衚瀺ãããã©ãããéžæã§ããŸãã
åè¿°ã® VDF ãã¡ããªã®å Žåãå°çš ASIC ã®ããã©ãŒãã³ã¹ã¯åŸæ¥ã®ããŒããŠã§ã¢ã® 100 å以äžã«ãªãå¯èœæ§ããããŸãã ãããã£ãŠãå±éãã§ãŒãºã 10 ç§ç¶ãå Žåããã®ãã㪠ASIC ã§èšç®ããã VDF ã« 100 åã®å®å šããŒãžã³ãæãããã«ã¯ 10 ç§ä»¥äžãããå¿ èŠãããããããã£ãŠãåã VDF ãæ±çšããŒããŠã§ã¢ã§èšç®ããã«ã¯ 100x 100 ç§ = ïœ 3 æéãããå¿ èŠããããŸãã
ã€ãŒãµãªã¢ã 財å£ã¯ãç¬èªã®å ¬éãããŠããç¡æã® ASIC ãäœæããããšã§ããã®åé¡ã解決ããããšãèšç»ããŠããŸãã ãããå®çŸãããšãä»ã®ãã¹ãŠã®ãããã³ã«ã§ããã®ââãã¯ãããžãå©çšã§ããããã«ãªããŸããããããŸã§ã¯ãç¬èªã® ASIC ã®éçºã«æè³ã§ããªããããã³ã«ã§ã¯ãRANDAO+VDF ã¢ãããŒãã¯ããã»ã©å®è¡å¯èœã§ã¯ãããŸããã
VDF ã«é¢ããå€ãã®èšäºããããªããã®ä»ã®æ
å ±ã以äžã«åéãããŠããŸãã
æ¶å»ã³ãŒãã䜿çšããŠããŸã
ãã®ã»ã¯ã·ã§ã³ã§ã¯ã次ã䜿çšããä¹±æ°çæãããã³ã«ãèŠãŠãããŸãã
ãããã³ã«ã®äž»ãªèãæ¹ã¯æ¬¡ã®ãšããã§ãã 話ãç°¡åã«ããããã«ãåå è ãã¡ããã© 100 人ã ãšä»®å®ããŸãã ãŸãããã¹ãŠã®åå è ãããŒã«ã«ã§ç§å¯éµãæã£ãŠããããã¹ãŠã®åå è ã®å ¬ééµããã¹ãŠã®åå è ã«ç¥ãããŠãããšä»®å®ããŸãã
-
ååå è ã¯ããŒã«ã«ã§é·ãæååãèãåºããããã 67 ã®éšåã«åå²ããæååãå埩ããã«ã¯ 100 åããã°ååã§ããããã« 67 ã·ã§ã¢ãååŸããæ¶å»ã³ãŒããäœæãã100 ã·ã§ã¢ã®ãããããåå è ã® XNUMX 人ã«å²ãåœãŠãæå·åããŸããåãåå è ã®å ¬ééµã ãã®åŸããšã³ã³ãŒãããããã¹ãŠã®å ±æãå ¬éãããŸãã
-
åå è ã¯ãç¹å®ã® 67 人ã®åå è ããã®ã³ãŒãåã»ããã«é¢ããåæã«éããããã«ãããçš®ã®ã³ã³ã»ã³ãµã¹ã䜿çšããŸãã
-
åæã«éãããšãååå è ã¯å ¬ééµã§æå·åããã 67 ã»ããã®ããããã®æå·åãããå ±æãååŸãããã®ãããªãã¹ãŠã®å ±æã埩å·åãããã®ãããªãã¹ãŠã®åŸ©å·åãããå ±æãå ¬éããŸãã
-
67 人ã®åå è ãã¹ããã (3) ãå®äºãããšãæ¶å€±ã³ãŒãã®ç¹æ§ã«ãããåæããããã¹ãŠã®ã»ãããå®å šã«ãã³ãŒãããã³åæ§ç¯ãããåå è ã (1) ã§éå§ããæåã®è¡ã® XOR ãšããŠæçµçãªçªå·ãååŸã§ããŸãã ã
ãã®ãããã³ã«ã¯åãããªããäºæž¬äžå¯èœã§ããããšãããããŸãã çµæãšããŠåŸãããä¹±æ°ã¯åæã«éããåŸã«æ±ºå®ãããŸãããåå è ã® XNUMX/XNUMX ãå ¬ééµã§æå·åãããéšåã埩å·ãããŸã§ã¯èª°ã«ãããããŸããã ãããã£ãŠãä¹±æ°ã¯ããããåæ§ç¯ããã®ã«ååãªæ å ±ãå ¬éãããåã«æ±ºå®ãããŸãã
ã¹ããã (1) ã§ãåå è
ã® XNUMX 人ããããæååã®æ£ããæ¶å»ã³ãŒãã§ã¯ãªããšã³ã³ãŒããããå
±æãä»ã®åå è
ã«éä¿¡ããå Žåã¯ã©ããªããŸãã? è¿œå ã®å€æŽãè¡ããªããšãç°ãªãåå è
ã¯æååããŸã£ãã埩å
ã§ããªãããç°ãªãæååã埩å
ããããšã«ãªãããã®çµæãç°ãªãåå è
ãç°ãªãä¹±æ°ãåãåãããšã«ãªããŸãã ãããé²ãã«ã¯ã次ã®ããšãè¡ãããšãã§ããŸããååå è
ã¯ããšã³ã³ãŒããããã·ã§ã¢ã«å ããŠã
ã¹ããã (4) ã§ãåå è ãç¹å®ã®æååã® 67 ããŒãã解èªããããããå ã®æååãåæ§ç¯ããããšãããšã次ã®ããããã®ãªãã·ã§ã³ãèããããŸãã
-
æååã埩å ãããå床æ¶å»ãšã³ã³ãŒããããããŒã«ã«ã«èšç®ãããã·ã§ã¢ã«å¯ŸããŠããŒã¯ã« ããªãŒãèšç®ããããšãã«ãŒãã¯åæã«éããã«ãŒããšäžèŽããŸãã
-
è¡ã¯åŸ©å ãããŸãããããŒã«ã«ã§èšç®ãããã«ãŒãã¯ãåæã«éããã«ãŒããšäžèŽããŸããã
-
è¡ã¯åŸ©å ãããŸããã
äžèšã®å°ãªããšã 1 人ã®åå è ã«ãªãã·ã§ã³ (1) ãçºçããå Žåããã¹ãŠã®åå è ã«ãªãã·ã§ã³ (2) ãçºçãããã®éãå°ãªããšã 3 人ã®åå è ã«ãªãã·ã§ã³ (2) ãŸã㯠(3) ãçºçããå Žåã¯ããã¹ãŠã®åå è ã«å¯ŸããŠããªãã·ã§ã³ (XNUMX) ãŸã㯠(XNUMX) ãçºçããŸãã ãããã£ãŠãã»ããå ã®åè¡ã«ã€ããŠããã¹ãŠã®åå è ããã®è¡ã®å埩ã«æåãããããã¹ãŠã®åå è ããã®è¡ã®å埩ã«å€±æãããã®ã©ã¡ããã«ãªããŸãã çµæã®ä¹±æ°ã¯ãåå è ãå埩ã§ããè¡ã®ã¿ã® XOR ã«ãªããŸãã
ãããå€çœ²å
ã©ã³ãã æ§ã«å¯Ÿãããã XNUMX ã€ã®ã¢ãããŒãã¯ãBLS ãããå€çœ²åãšåŒã°ãããã®ã䜿çšããããšã§ãã ãããå€çœ²åã«åºã¥ãä¹±æ°çæåšã¯ãäžèšã§èª¬æããæ¶å»ã³ãŒãããŒã¹ã®ã¢ã«ãŽãªãºã ãšãŸã£ããåãä¿èšŒãåããŠããŸãããçæãããæ°å€ããšã«ãããã¯ãŒã¯äžã«éä¿¡ãããã¡ãã»ãŒãžã®æŒžè¿æ°ãå€§å¹ ã«å°ãªããªããŸãã
BLS 眲åã¯ãè€æ°ã®åå è ãã¡ãã»ãŒãžã«å¯Ÿã㊠XNUMX ã€ã®å ±éã®çœ²åãäœæã§ããããã«ããèšèšã§ãã ãããã®çœ²åã¯ãè€æ°ã®çœ²åãéä¿¡ããå¿ èŠããªããããã¹ããŒã¹ãšåž¯åå¹ ãç¯çŽããããã«ãã䜿çšãããŸãã
ãããã¯ãã§ãŒã³ ãããã³ã«ã§ã® BLS 眲åã®äžè¬çãªçšéã¯ãä¹±æ°ã®çæã«å ããŠãBFT ãããã³ã«ã§ã®ãããã¯çœ²åã§ãã 100 人ã®åå è ããããã¯ãäœæãããã®ãã¡ 67 人ã眲åãããããã¯ã¯æçµçãªãã®ãšã¿ãªãããŸãã å šå¡ã BLS 眲åã®åèªã®éšåãéä¿¡ããã³ã³ã»ã³ãµã¹ ã¢ã«ãŽãªãºã ã䜿çšããŠãã®ãã¡ã® 67 åã«åæãããããã 67 ã€ã® BLS 眲åã«ããŒãžã§ããŸãã ä»»æã® 67 (ãŸãã¯ãã以äž) ã®éšåã䜿çšããŠæçµçãªçœ²åãäœæã§ããŸãã眲åã¯ãã©ã® 67 ã®çœ²åãçµåããããã«ãã£ãŠç°ãªããããç°ãªãå ŽåããããŸãããã ãã67 ã®åå è ã«ããéžæãç°ãªããšãç°ãªã眲åãäœæãããŸããããã®ãããªçœ²åã¯ãã¹ãŠæå¹ã§ãããããã¯ã®çœ²åã æ®ãã®åå è ã¯ããããã¯ãŒã¯çµç±ã§ãããã¯ããšã« XNUMX 眲åã§ã¯ãªã XNUMX 眲åã ããåä¿¡ããŠââæ€èšŒããã ãã§æžã¿ããããã¯ãŒã¯ã®è² è·ãå€§å¹ ã«è»œæžãããŸãã
åå è ã䜿çšããç§å¯éµãç¹å®ã®æ¹æ³ã§çæãããå Žåãã©ã® 67 åã®çœ²å (ãŸãã¯ãã以äžããã以äž) ãéçŽãããŠããçµæãšããŠåŸããã眲åã¯åãã«ãªãããšãããããŸãã ããã¯ã©ã³ãã æ§ã®ãœãŒã¹ãšããŠäœ¿çšã§ããŸããåå è ã¯ãŸãã眲åããã¡ãã»ãŒãžã«åæããŸã (ãã㯠RANDAO ã®åºåãŸãã¯æåŸã®ãããã¯ã®ããã·ã¥ã§ããå¯èœæ§ããããŸããæ¯åå€æŽãããéããå®éã«ã¯åé¡ãããŸãã)äžè²«æ§ããããŸã) ãäœæããããã«å¯Ÿãã BLS 眲åãäœæããŸãã çæã®çµæã¯ã67 人ã®åå è ãããŒããæäŸãããŸã§äºæž¬ã§ããŸããããã®åŸãåºåã¯äºåã«æ±ºå®ãããŠãããåå è ã®ã¢ã¯ã·ã§ã³ã«äŸåããããšã¯ã§ããŸããã
ãã®ã©ã³ãã æ§ãžã®ã¢ãããŒãã¯ããªã³ã©ã€ã³ã®åå è ã®å°ãªããšã XNUMX/XNUMX ãäž¡æ¹ãšããããã³ã«ã«åŸãéãå®è¡å¯èœã§ãããåå è ã®å°ãªããšã XNUMX/XNUMX ããããã³ã«ã«åŸãéãå ¬å¹³ã§äºæž¬äžå¯èœã§ãã åå è ã® XNUMX/XNUMX ãè¶ ã XNUMX/XNUMX æªæºãå¶åŸ¡ããæ»æè ã¯ãããã³ã«ãåæ¢ã§ããŸããããã®åºåãäºæž¬ããã圱é¿ãäžãããããããšã¯ã§ããªãããšã«æ³šæããããšãéèŠã§ãã
ãããå€çœ²åèªäœã¯éåžžã«èå³æ·±ããããã¯ã§ãã èšäºã®åŸåã§ã¯ããããå€çœ²åãã©ã®ããã«æ©èœãããããŸããããå€çœ²åãä¹±æ°çæåšãšããŠäœ¿çšã§ããããã«åå è ããŒãçæããå¿ èŠãããããšã詳ããåæããŸãã
çµè«
ãã®èšäºã¯ãäžé£ã®æè¡ããã°èšäºã®æåã®èšäºã§ã
ãããã³ã« ã³ãŒãã¯ãªãŒãã³ã§ãããå®è£
㯠Rust ã§æžãããŠããã次ã®å Žæã§èŠã€ããããšãã§ããŸãã
NEAR ã®éçºãã©ã®ãããªãã®ãã確èªãããªã³ã©ã€ã³ IDE ã§å®éšããããšãã§ããŸã
ãã¹ãŠã®ãã¥ãŒã¹ããã·ã¢èªã§ãã©ããŒã§ããŸãã
ãŸããïŒ
åºæïŒ habr.com