¿äÁò ÇÖÇÑ ÁÖÁ¦·Î À̾߱⸦ ½ÃÀÛÇØ º¸°íÀÚ ÇÑ´Ù. Á¤º¸ÀÇ »ç¿ë ÁÖüÀÎ »ç¿ëÀÚ°¡ ÀÎÁõµÈ »ç¿ëÀÚÀÎÁö ¾Æ´ÑÁö ±×¸®°í ÇØ´ç Á¤º¸ÀÇ ³»¿ëÀÌ ÂüÀÎÁö °ÅÁþÀÎÁö¸¦ ÆǺ°ÇÏ´Â °ÍÀº Á¤º¸ »çȸ¸¦ ÀÌ·ç´Â ±â¼ú¿¡ ÀÖ¾î¼ °¡Àå ÇÙ½ÉÀûÀÎ ¿ä¼ÒÀÌ´Ù. ¸¸¾à ¾î¶² »ç¿ëÀÚ°¡ ÀÚ½ÅÀÇ ‘ÀÎÁõ Á¤º¸’·Î 100¸¸¿øÀ» A ÀºÇà¿¡¼ B ÀºÇàÀ¸·Î ÀÌüÇÏ´Â ‘ÀÌü Á¤º¸’¸¦ »ý¼ºÇÑ´Ù¸é A, B ÀºÇàÀº »ý¼ºµÈ Á¤º¸°¡ Á¤È®ÇÑ Á¤º¸ÀÎÁö »óÈ£ °ËÁõÇÏ°Ô µÇ°í °ËÁõÀ» Åë°úÇÒ ¶§¸¸ 100¸¸¿øÀÌ ÀÌü µÈ´Ù. ¸¸¾à ‘ÀÌü Á¤º¸’°¡ ¾ÇÀÇÀûÀ¸·Î »ý¼ºµÈ À߸øµÈ ÀÌü Á¤º¸¶ó¸é? ´õ ³ª¾Æ°¡ »ç¿ëÀÚ°¡ ÀÎÁõµÈ º»ÀÎÀÌ ¾Æ´Ñ ŸÀÎÀÌ ¸¸µé¾î³½ À߸øµÈ ÀÎÁõ Á¤º¸¶ó¸é? Á¤º¸ »çȸ´Â ºØ±«ÇÏ°Ô µÉ °ÍÀÌ´Ù. ´ÙÇེ·´°Ôµµ ¿ì¸®ÀÇ Á¤º¸ »çȸ´Â ÀÌÁß »ïÁß¿¡ °ÅÄ£ öÀúÇÑ º¸¾È ½Ã½ºÅÛÀ» ±¸ÃàÇÏ¿© »ç¿ëÀÚ°¡ ÀÚ½ÅÀÇ Á¤º¸¸¦ À߸ø °ü¸®ÇÏÁö ¾Ê´Â ÀÌ»ó ÀÌ·¯ÇÑ ÀÏÀÌ ¹ß»ýµÇ±â´Â ¾ÆÁÖ ¾î·Á¿î ¾ÈÀüÇÑ ½Ã½ºÅÛÀ» ±¸ÃàÇÏ¿´´Ù.
ÀÌ·¯ÇÑ º¸¾È ½Ã½ºÅÛÀº ¾ÏÈ£ ¾Ë°í¸®µë(cryptographic algorithm)ÀÌ Àֱ⠶§¹®¿¡ ź»ýµÉ ¼ö ÀÖ¾ú´Ù. ÀÌü Á¤º¸´Â Àý´ë Àΰ£ÀÌ ÀÎÁöÇϱ⠽¬¿î Æò¹®, Áï “³ª´Â 100¸¸ ¿øÀ» ÀÌüÇÏ°Ú´Ù”¿Í °°Àº Á¤º¸·Î ±¸¼ºµÇ¾î ÀÖÁö ¾Ê´Ù. ÀÌ·¯ÇÑ Æò¹®Àº ´©±¸³ª ½±°Ô ¾²°í º¹Á¦ °¡´ÉÇϸç ÀÌü ÁÖüÀÎ »ç¿ëÀÚ¸¦ ¸¶À½´ë·Î ¹Ù²Ü ¼ö ÀÖ´Ù. º¸¾È ½Ã½ºÅÛÀº ÀÌ·¯ÇÑ Æò¹® ±¸¼ºÀ» ´©±¸µµ ¾Ë¾Æº¼ ¼ö ¾øµµ·Ï ¾ÏÈ£ÈÇϸç, ¾ÏÈ£ÈµÈ ÀÌü Á¤º¸´Â ´Ù¸¥ ¿©·¯ ½Ã½ºÅÛÀ» °ÅÃÄ ¸ñÀûÁö¿¡ µµÂøÇÏ°Ô µÈ´Ù. Èï¹Ì·Î¿î Á¡Àº ¸ñÀûÁö¿¡¼Á¶Â÷ ¾ÏÈ£ÈµÈ Á¤º¸¸¸ ¹Þ¾ÒÀ» »Ó ¾ÏÈ£ÈµÈ Á¤º¸¿¡ ¾î¶² ³»¿ëÀÌ ÀûÇô ÀÖ´ÂÁö´Â ÀüÇô ¾Ë ¼ö ¾ø´Ù´Â °ÍÀÌ´Ù. ÀÌ°ÍÀÌ ¾ÏÈ£ÈÀÇ ÇÙ½ÉÀÌ´Ù.
¾ÏÈ£ÈµÈ Á¤º¸¸¦ ¸ñÀûÁö¿¡¼ ÀÎÁöÇÒ ¼ö ÀÖ´Â Æò¹®À¸·Î ¹Ù²Ù´Â ‘¿¼è’´Â ÃÖÃÊ·Î Á¤º¸¸¦ »ý¼ºÇÑ »ç¿ëÀÚ¿¡°Ô¸¸ ÀÖÀ¸¸ç, ¿¼è¸¦ ÀÌ¿ëÇØ ¾ÏÈ£¸¦ Æò¹®À¸·Î ¹Ù²Ù´Â ÀÛ¾÷À» º¹È£È¶ó°í ÇÑ´Ù. Áï, »ç¿ëÀÚÀÇ ÀǵµµÈ Á¤º¸·Î ¾ÏÈ£È¿Í º¹È£ÈÀÇ ¸ðµç °úÁ¤À» ¿ÏÀüÇÏ°Ô Ã³¸®Çؾ߸¸ Á¤º¸ÀÇ ¸ðµç 󸮰¡ ¿Ï·áµÇ´Â °ÍÀÌ´Ù. ºñÆ®ÄÚÀΰú ÀÌ´õ¸®¿òÀº Ÿ¿ø °î¼± ÀüÀÚ ¼¸í ¾Ë°í¸®µë(Elliptic Curve Digital Signature Algorithm : ECDSA)¸¦ »ç¿ëÇÏ¿© Á¤º¸¸¦ ÀÎÁõÇÏ´Â µ¥ »ç¿ëÀÚÀÇ °ø°³Å°¿Í °³ÀÎÅ°¸¦ ÀÌ¿ëÇÏ¿© ¸ðµç °úÁ¤À» ó¸®ÇÑ´Ù.
°ø°³Å°´Â ¸» ±×´ë·Î °ø°³µÈ ¿¼èÀε¥ ÀÌ ¿¼è´Â ƯÀÌÇÏ°Ôµµ »óÀÚ¸¦ ¸¸µé ¼ö´Â À־ »óÀÚ¸¦ ¿¼ö´Â ¾ø´Ù. °³ÀÎÅ°´Â Àý´ë °ø°³ÇÏ¸é ¾È µÇ°í ¼ÒÁßÈ÷ º¸°üÇؾ߸¸ ÇÏ´Â ¿¼èÀε¥ ÀÌ ¿¼è°¡ ¹Ù·Î »óÀÚ¸¦ ¿¼ö ÀÖ´Â ±â´ÉÀ» °¡Áö°í ÀÖ´Ù. °ø°³Å°´Â °³ÀÎÅ°¿¡¼ ÃßÃâÇÏ´Â Å°°ªÀÌÁö¸¸ °ø°³Å°·Î °³ÀÎÅ°¸¦ ÃßÃâÇس»´Â °ÍÀº ¾Ë°í¸®µëÀ» Á¤È®È÷ ¾Ë°í ÀÖ´Ù ÇÏ´õ¶óµµ ÃßÃâÇÒ ¼ö°¡ ¾ø´Ù.
´Ù¸¸ ECDSA´Â ¾ÏȣȺ¸´Ù´Â ÀüÀÚ¼¸í ¹æ½ÄÀ¸·Î¼ ÀϹÝÀûÀÎ °ø°³Å°=¾ÏÈ£È, °³ÀÎÅ°=º¹È£È ¹æ½Ä°ú´Â ¹Ý´ë·Î °³ÀÎÅ°·Î¸¸ ¾Ïȣȸ¦ ÇÒ ¼ö°¡ ÀÖ°í, °ø°³Å°·Î º¹È£È°¡ °¡´ÉÇÏ´Ù. ¸ðµç ³ëµå°¡ ¸ðµç Á¤º¸¸¦ Åõ¸íÇÏ°Ô °ËÁõÇÏ°í ó¸®ÇÑ´Ù´Â ºí·ÏüÀÎ Ç÷§Æû ÀÔÀå¿¡¼´Â ÀÚÀ¯·Ó°Ô ¹èÆ÷ °¡´ÉÇÑ °ø°³Å°°¡ ÀÖ´Â ÀüÀÚ ¼¸í ¹æ½ÄÀÌ ¾Ë¸ÂÀº °ÍÀ¸·Î º¸ÀδÙ. ±×·¸´Ù¸é ECDSA´Â ¾î¶°ÇÑ ¹æ½ÄÀ¸·Î °³ÀÎÅ°¸¦ »ý¼ºÇØ ³»´Â °ÍÀϱî? ¹Ù·Î ³¼ö(Random Value)ÀÌ´Ù.
³¼ö´Â ÀüÇô ¿¹ÃøÇÒ ¼ö ¾ø´Â Áߺ¹µÇÁö ¾Ê´Â °ªÀÌ µµÃâµÇ´Â °ÍÀε¥ »ç½Ç ÄÄÇ»ÅÍ´Â ³¼ö¸¦ ¸¸µé ¼ö ¾ø´Ù. ÄÄÇ»ÅÍ´Â °áÁ¤·ÐÀû(deterministic) ±â±â·Î¼ ¾î¶°ÇÑ °ªÀÌ ÀÔ·ÂÀÌ µÇ¸é ´ç¿¬È÷ ƯÁ¤ °ªÀ» °áÁ¤ÀûÀ¸·Î ¸¸µé¾î³»¾ß¸¸ Çϸç ÀÌ °ªÀº ¾î¶² ±â±â¶óµµ µ¿ÀÏÇÏ´Ù. °áÁ¤·ÐÀûÀ¸·Î ÀÚ¸íÇÏ°Ô (1+1=2)ÀÌ´Ù. ÄÄÇ»ÅÍÀÇ ¸ðµç ÀÛµ¿Àº °áÁ¤·ÐÀûÀ¸·Î¼ Àý´ë ¿¹ÃøÇÒ ¼ö ¾ø´Â ¹«ÀÛÀ§ÀÇ °á°ú°¡ ³ª¿À¸é ¾È µÈ´Ù. ¸¸¾à ÄÄÇ»ÅÍ°¡ ºñ °áÁ¤·ÐÀû(nondeterministic)À¸·Î °á°ú°¡ ³ª¿Â´Ù¸é (1+1=???) ÀüÇô ¾Ë ¼ö°¡ ¾ø´Â »óÅ°¡ µÈ´Ù.
µû¶ó¼ ÄÄÇ»ÅÍ¿¡¼ ³¼ö¸¦ »ý¼ºÇØ ³»·Á¸é °áÁ¤·ÐÀû ÇÔ¼ö¿¡ ¾î¶°ÇÑ ‘ÀâÀ½(entropy: ¿£Æ®·ÎÇÇ)’À» ³Ö¾î¼ ¿¹ÃøÇϱâ Èûµç °á°ú°¡ ³ª¿À°Ô ÇØ¾ß ÇÑ´Ù. ±× ÀâÀ½Àº ½Ã°£, ¸¶¿ì½ºÀÇ ¿òÁ÷ÀÓ, CPUÀÇ ÁÖÆļö, ³×Æ®¿öÅ© »ç¿ë ´ë¿ªÆø µî »ó»óÇÒ ¼ö ÀÖ´Â ¸ðµç ¿ä¼Ò°¡ µ¿¿øµÈ´Ù. (1+1+ CPUÀÇ ÁÖÆļö + ¸¶¿ì½ºÀÇ ¸ð´ÏÅÍ Çȼ¿ À§Ä¡ = ??) ¾î¶² °ªÀÌ ³ª¿ÃÁö ¿¹ÃøÇϱⰡ ¸Å¿ì Èûµé°Ô µÈ´Ù. ÇÏÁö¸¸ °íµµÀÇ ‘ÀâÀ½’À» º¹ÀâÇÏ°Ô »ç¿ëÇÑ´Ù ÇÏ´õ¶óµµ ÀÌ´Â °¡Â¥ ³¼ö(Pseudo-Random Number)ÀÌ´Ù. ¾çÀÚÄÄÇ»ÅÍ°¡ ½ÇÇöµÇ¸é ¸ðµç º¸¾ÈÀ» ¶ÕÀ» ¼ö ÀÖ´Ù´Â °¡Á¤ÀÌ °¡´ÉÇÑ °ÍÀÌ ¹Ù·Î ³¼ö¸¦ ¸¸µé¾î ³»´Â ¾Ë°í¸®µëÀ» ¾Ë°í ¸¸ ÀÖÀ¸¸é »ç¿ë °¡´ÉÇÑ ¸ðµç ¿µ¿ªÀÇ ¿£Æ®·ÎÇǸ¦ ÀüºÎ ³Ö¾î¼ ¾Ïȣȸ¦ ½ÃŲ ³¼ö°¡ ¹«¾ùÀÎÁö Ãß·Ð °è»êÇÏ´Â °ÍÀÌ °¡´ÉÇϱ⠶§¹®ÀÌ´Ù.
´Ù¸¸, ¾çÀÚÄÄÇ»Å͸¦ ÀÛµ¿½ÃÅ°±â À§Çؼ´Â ¹°¸®ÀûÀ¸·Î´Â Àý´ë¿µµµ¿¡ ¼ö·ÅÇÏ´Â ¿Âµµ¸¦ À¯ÁöÇؾ߸¸ ÇÏ°í ÀÌ·ÐÀûÀ¸·Î´Â ¾çÀÚ °è»ê¿¡ ¸Â´Â »õ·Î¿î °è»ê ¾Ë°í¸®µëÀ» ¸¸µé¾î¾ß Çϱ⠶§¹®¿¡ ÇöÁ¸ÇÏ´Â ±â¼ú·Î À̸¦ ±¸ÇöÇÏ´Â °ÍÀº ºÒ°¡´É¿¡ °¡±õ´Ù. ¹Ì·¡¿¡´Â °¡´ÉÇÏ°ÚÁö¸¸ ±× ½Ã°£ µ¿¾È ÀηùÀÇ ¾ÏÈ£ÇÐÀº ³¼ö ¹ß»ý ¾Ë°í¸®µë ÀÚü°¡ ³¼ö°¡ µÇ´Â µî °è»ê·®ÀÇ ¹ýÄ¢À¸·Î ÇØ°á ºÒ°¡´ÉÇÑ ³¼ö¸¦ ¹ß»ý½ÃÅ°´Â ¹æ¹ýÀ¸·Î ¹ßÀüµÉ °ÍÀÌ´Ù.
ÀÌ·¸µí ³¼ö¶ó´Â °ÍÀº º¸¾È ½Ã½ºÅÛ¿¡ ÀÖ¾î¼ Ãâ¹ßÁ¡À̶ó ÇÒ ¼ö ÀÖÀ» Á¤µµ·Î ¾ÆÁÖ Áß¿äÇÑ ºÎºÐÀ» Â÷ÁöÇÏ°í ÀÖ´Ù. ±×·±µ¥ º¸¾È¿¡ °·ÂÇÏ´Ù°í ³Î¸® ¾Ë·ÁÁø ºñÆ®ÄÚÀΰú ÀÌ´õ¸®¿ò °°Àº ºí·ÏüÀÎ Ç÷§ÆûÀº ¾ÆÀ̷δÏÄà ÇÏ°Ôµµ ‘³¼ö’¸¦ »ý¼ºÇØ ³¾ ¼ö ¾ø´Ù. ºí·ÏüÀÎÀº ÇÊ¿¬ÀûÀ¸·Î ¸ðµç ºí·Ï Á¤º¸¸¦ °øÀ¯ÇÏ°í ÀÖ´Â Àüü ³ëµå°¡ °°Àº Á¤º¸¸¦ °¡Áö°í ÀÖ¾î¾ß¸¸ Çϸç, °°Àº °á°ú¸¦ °è»êÇØ ³»¾ß¸¸ ÇÑ´Ù. °áÄÚ ´Ù¸¥ °á±£°ªÀ» ¸¸µé¾î ³»¼´Â ¾ÈµÇ´Â ±¸Á¶À̱⠶§¹®¿¡ °¡Â¥ ³¼ö(°¡Â¥ ³¼ö, À¯»ç ³ ¼ö, ÀÇ»ç ³¼ö : Pseudo-Random Number) Á¶Â÷ Çã¿ëµÇ¾î¼´Â ¾ÈµÈ´Ù.
¼±¶æ ÀÌÇØÇϱ⠾î·Á¿î ³»¿ëÀÏ ¼ö´Â ÀÖÀ¸³ª Á¤È®ÇÏ°Ô´Â ºí·ÏüÀÎ ÀÚü°¡ ¾Æ´Ï¶ó ºí·ÏüÀÎÀ» ±â¹ÝÀ¸·Î ÀÛµ¿ÇÏ´Â ¸ðµç ÀÀ¿ëÇÁ·Î±×·¥(¾Û:App, ¾ÖÇø®ÄÉÀ̼Ç:application)Àº ³¼ö¸¦ »ý¼ºÇÒ ¼ö ¾ø´Ù°í »ý°¢Çϸé Á÷°üÀûÀÎ ÀÌÇØ°¡ °¡´ÉÇÏ´Ù.
±×·¸´Ù¸é ³¼ö¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ºí·ÏüÀÎ ±â¹Ý ¾ÖÇø®ÄÉÀ̼ÇÀº ¹«¾ùÀÌ ÀÖÀ»±î?
³¼ö¸¦ »ç¿ëÇÏ´Â ÀúÂ÷¿øÀÇ ¸ðµ¨Àº °ÔÀÓ/µµ¹ÚÀ¸·Î¼ È®·üÇü ¾ÆÀÌÅÛ »Ì±â ȤÀº ¾î¶°ÇÑ °á°ú¿¡ º£ÆÃÇÏ´Â ¹æ¹ýÀ̶ó ÇÒ ¼ö ÀÖÀ¸¸ç °íÂ÷¿øÀÇ ¸ðµ¨Àº ºòµ¥ÀÌÅÍ ºÐ¼®¿¡¼ ÁÖ¾îÁø ÇÔ¼ö¿¡ ÀÎÀÚ(Parameter)¿¡ ³¼ö¸¦ ÀÔ·ÂÇÏ°í ¹Ýº¹ °è»êÇÏ´Â °ÍÀ» ¿¹·Î µé ¼ö ÀÖ´Ù. ±¸±Û µö ¸¶Àε忡¼ °³¹ßÇÑ ¹ÙµÏ ÀΰøÁö´É ÇÁ·Î±×·¥ÀÎ ¾ËÆÄ°í°¡ Àΰ£ÀÇ ±âº¸¸¸À¸·Î´Â Å« µµ¾àÀÌ ¾î·Á¿öÁ®¼ ³¼ö¸¦ ±â¹ÝÀ¸·Î ÇÑ ÀÚ°¡ ÇнÀÀ» ÅëÇØ ÇѰ踦 µ¹ÆÄÇÑ ¾ËÆÄ°í 2.0¸¦ ³»³õ¾Ò´Ù´Â Á¡¿¡¼ ‘³¼ö’¶ó´Â °ÍÀÌ µö·¯´×°ú ÀΰøÁö´É¿¡¼ ¾ó¸¶³ª Áß¿äÇÑ °ÍÀÎÁö ¾Ë ¼ö ÀÖ°Ô ÇØÁØ´Ù.
ÇÏÁö¸¸ ºñ Áß¾Ó ÁýÁßÈµÈ ºí·ÏüÀÎ ¾ÖÇø®ÄÉÀ̼Ç(Decetralized applications : DAPP, ÀÌÇÏ µð¾Û)¿¡¼ ³¼ö¸¦ ¹ß»ý½Ãų ¼ö ¾ø´Ù´Â °ÍÀº ºí·ÏüÀÎ ÀÚü º¸¾È¿¡ Ãß°¡ÀûÀÎ º¸¾È ±â´ÉÀ» ³Ö¾î¼ ´õ¿í °·ÂÇÑ º¸¾È ½Ã½ºÅÛÀ» ¸¸µé°Å³ª ³¼ö¸¦ ÀÌ¿ëÇÑ °ÔÀÓÀ̳ª µö·¯´× ½Ã½ºÅÛÀ» ¸¸µå´Â °ÍÀÌ ½±Áö ¾Ê´Ù´Â °ÍÀ» ¸»ÇØÁØ´Ù. µû¶ó¼ ÇöÀç °³¹ßµÈ µð¾ÛµéÀº ÀÚüÀûÀÎ ¹æ¹ýÀ¸·Î ³¼ö¸¦ ¹ß»ý½ÃÅ°´Âµ¥ °ú¿¬ ÇØ´ç µð¾ÛÀÇ ³¼ö°¡ Á¤¸» ¿¹ÃøÇϱâ Èûµç °ÍÀÎÁö ´õ ³ª¾Æ°¡ Á¶ÀÛ °¡´É¼ºÀÌ ÀÖ´Â °ÍÀÎÁö´Â »ý°¢ÇØ º¼ ¹®Á¦ÀÌ´Ù.
ÀÌ´õ¸®¿ò ±âÁØÀ¸·Î ¼³¸íÇÏÀÚ¸é ÇöÀç µð¾Û¿¡¼ °¡Àå ¸¹ÀÌ ¾²ÀÌ°í ÀÖ´Â ³¼ö¹ß»ý ¹æ¹ýÀº Commit-Reveal ¹æ½ÄÀÌ´Ù. Commit-RevealÀÇ ¼¼ºÎÀûÀÎ ¹æ½Ä°ú ¾î¶² ¿£Æ®·ÎÇǸ¦ »ç¿ëÇÏ´ÂÁö¿¡ µû¶ó¼ ¾Ë°í¸®µëÀº ¿©·¯ ¹æ½ÄÀ¸·Î ³ª´· ¼ö ÀÖÀ¸³ª Å©°Ô ´ÙÀ½°ú °°Àº ¹æ½ÄÀ» ¹þ¾î³ªÁö´Â ¾Ê´Â´Ù.
Commit ´Ü°è : »ç¿ëÀÚ°¡ ¾î¶°ÇÑ °á°ú°ªÀ» ¾ò±â À§ÇØ µð¾Û ½º¸¶Æ®ÄÁÆ®·¢Æ®¿¡ ‘»ç¿ëÀÚ¸¸ÀÇ ¿£Æ®·ÎÇÇ’À» Ãß°¡ÇÏ¿© Æ®·£Àè¼ÇÀ» ¹ß»ý.
Reveal ´Ü°è : »ç¿ëÀÚÀÇ ¿äûÀ» ¹Þ¾Æ¼ ‘ÄÁÆ®·¢Æ®(Smart-Contract)¸¸ÀÇ ¿£Æ®·ÎÇÇ’À» »ý¼º½ÃÅ°°í À̸¦ ‘»ç¿ëÀÚ¸¸ÀÇ ¿£Æ®·ÎÇÇ’¿Í ÇÕÃļ keccak256 ȤÀº Bitwise ¿¬»êÀ» ÀÌ¿ëÇØ ³¼ö¸¦ ¹ß»ý½ÃÅ°°í »ç¿ëÀÚ¿¡°Ô °á°ú°ªÀ» Àü¼Û
¾ð¶æ º¸¸é ¾ÈÀüÇÑ ³¼ö ¹ß»ý ¾Ë°í¸®µëó·³ º¸ÀÌÁö¸¸ ºí·ÏüÀÎÀÇ Æ¯¼º»ó ¾î¶² ¿£Æ®·ÎÇǸ¦ »ç¿ëÇÏ´øÁö Commit ´Ü°èÀÇ ¸ðµç Á¤º¸´Â ¸ðµç ÀÌ´õ¸®¿ò ³×Æ®¿öÅ©¿¡ ÀÖ´Â ±×´ë·Î º¸¿©Áö°Ô µÈ´Ù. ¶ÇÇÑ keccak256 ȤÀº Bitwise ¿¬»ê ¿ª½Ã ¾î¶°ÇÑ ¹æ¹ýÀ» »ç¿ëÇÏ´øÁö ±× ¹æ¹ýÀº ÄÚµå ±× ÀÚü·Î¼ Åõ¸íÇÏ°Ô º¼ ¼ö ÀÖ´Ù.
Áï, Reveal ´Ü°è¿¡¼ ‘ÄÁÆ®·¢Æ®¸¸ÀÇ ¿£Æ®·ÎÇÇ’°¡ ¾îµð¿¡¼ ¹ß»ýµÇ´ÂÁö°¡ Áß¿äÇÏ´Ù. ¸¸¾à ÄÁÆ®·¢Æ®ÀÇ ¼ÒÀ¯ÀÚ°¡ ¼öµ¿ ȤÀº ÀÚµ¿À¸·Î Reveal ´Ü°èÀÇ ¿£Æ®·ÎÇǸ¦ ÀÔ·ÂÇÏ´Â ±¸Á¶¶ó¸é Reveal ¿£Æ®·ÎÇÇ ÀÔ·ÂÀü¿¡ Commit-RevealÀ» ¹Ì¸® °è»ê ÇÔÀ¸·Î¼ ¾î¶² ³¼ö°¡ ¹ß»ýµÉÁö ÄÁÆ®·¢Æ®ÀÇ ¼ÒÀ¯ÀÚ´Â ¹Ì¸® ¾Ë ¼ö ÀÖ°Ô µÇ´Â °ÍÀÌ´Ù. ³¼ö°¡ ¾ó¸¶µçÁö Á¶ÀÛ°¡´É ÇÏ°í ±× ¹æ¹ý ¶ÇÇÑ ½±´Ù´Â °ÍÀÌ´Ù.
ÀÌ´õ¸®¿òÀÇ ´ëÇ¥ÀûÀÎ ¾ð¾îÀÎ Solidity °ø½Ä¹®¼¿¡¼ ³¼ö¸¦ ¹ß»ý½ÃÅ°´Â °ÍÀº ±î´Ù·Î¿î ÀÏÀ̸ç, ºí·Ï»ý¼º½Ã°£ ¹× ºí·ÏÇؽô ³¼öÀÇ ¿£Æ®·ÎÇÇ·Î »ç¿ëÇÏÁö ¸» °ÍÀ» ±Ç°íÇÏ´Â °ÍÀº ÃæºÐÈ÷ ¿¹Ãø°¡´ÉÇÏ°í Á÷°üÀûÀ¸·Î »ç¿ëÀÌ °¡´ÉÇÑ ¸ðµç ¿£Æ®·ÎÇÇ´Â ¹èÁ¦µÇ¾î¾ß ÇÑ´Ù´Â °ÍÀ» ÀÇ¹Ì Çϱ⿡ Reveal ´Ü°è¿¡¼ ÄÁÆ®·¢Æ®ÀÇ ¼ÒÀ¯ÀÚ°¡ ³¼ö¸¦ Àý´ë Á¶ÀÛÇÏÁö ¾Ê´Â´Ù°í ÇÏ´õ¶óµµ ½Å·Ú¼º ÀÖ´Â ¿£Æ®·ÎÇǸ¦ ÀÔ·ÂÇÏ´Â ¹üÀ§°¡ Á¦ÇÑÀû À̶ó´Â °ÍÀ» ÀǹÌÇÑ´Ù.
±×·¸´Ù¸é ÀÌ´õ¸®¿ò ¿ÜºÎ¿¡¼ ½Å·ÚÇÒ ¼ö ÀÖ´Â ³¼ö¸¦ °¡Á®¿À´Â ¹æ¹ýÀº ¾î¶³±î? ÀÌ ´ëÇ¥ÀûÀÎ ¹æ¹ýÀÌ ¹Ù·Î Oraclize(Provable things·Î º¯°æ)ÀÇ Random Data Source ServiceÀÌ´Ù. Oraclize´Â ºí·ÏüÀÎ ¿ÜºÎÀÇ(¿ÀÇÁ-üÀÎ)ÀÇ µ¥ÀÌÅ͸¦ ³»ºÎ(¿Â-üÀÎ)·Î ÀÔ·ÂÇÒ ¼ö ÀÖ°Ô ÇØÁÖ´Â ´Ù¸®(Brigde)·Î¼ Æó¼âÀûÀÎ ºí·ÏüÀÎÀ» °³¹æÀûÀÎ ½Ã½ºÅÛÀ¸·Î È°¿ëÇÒ ¼ö ÀÖ°Ô ÇØÁÖ´Â È®À强À» °¡Áö°í ÀÖ´Ù. WolframAlpha, IPFS, Random.orgÀÇ API ÅëÇؼ ³¼ö¸¦ °¡Á®¿Ã ¼öµµ ÀÖÀ¸¸ç OraclizeÀÇ Random Data Source¸¦ ÀÌ¿ë ÇÒ ¼öµµ ÀÖ´Ù. »Ó¸¸ ¾Æ´Ï¶ó ÁøÀ§ Áõ¸í(Authenticity Proofs)°ú Äõ¸® ¾ÆÀ̵ð(Query ID) Á¶È¸¸¦ Á¦°øÇÏ¿© °¡Á®¿Â µ¥ÀÌÅÍ°¡ Á¶ÀÛµÇÁö ¾ÊÀº ½Å·Ú¼º ÀÖ´Â µ¥ÀÌÅͶó´Â °ÍÀ» ÀÔÁõ ÇÒ ¼ö°¡ ÀÖ´Ù.
´Ù¸¸ Oraclize(Provablethings)ÀÇ ¼ºñ½º¸¦ ÀÌ¿ëÇÑ´Ù ÇÏ´õ¶óµµ ÁøÀ§ Áõ¸í(Authenticity Proofs)ÀÌ ½ÇÆÐÇϰųª ÀÌ´õ¸®¿ò ³×Æ®¿öÅ©ÀÇ Æ®·¡ÇÈ Áõ°¡·Î ÀÎÇÑ µô·¹ÀÌ È¤Àº ¿äûÇÑ Query ID¿¡ ´ëÇØ ÀÀ´äÇÏÁö ¾Ê´Â QoSÀÇ ¹®Á¦°¡ ¹ß»ýµÉ ¼ö Àֱ⠶§¹®¿¡ µð¾ÛÀÇ °³¹ßÀÚ´Â ÀÌ·¯ÇÑ ¹®Á¦¿¡ ´ëÇÑ ´ëºñÃ¥À» ÄÚµå ÀÚü ³»¿¡¼ ÇØ°áÇϵµ·Ï ÇØ¾ß ¸¸ ÇÏ°í ÀÌ´Â OraclizeÀÇ °ø½Ä ±â¼ú¹®¼¿¡µµ ¸í½ÃµÇ¾î ÀÖ´Ù. ÇöÀç Oraclize¸¦ ¿ÂüÀÎÀ¸·Î ÇÏ¿© ¼ºñ½ºÇÏ´Â °ÔÀÓÀº Square QueueÀ̸ç, À̱âÁ¾°£ÀÇ ½Å·Ú¼º ÀÖ´Â µ¥ÀÌÅÍ ¼Û¼ö½Å ¹× °ËÁõÀ̶ó´Â ´Ù¸®(Brigde)¶ó´Â ±â´É ´ä°Ô ƯÁ¤ ¾ÏÈ£ÈÆó°¡ ´Ù¸¥ ºí·ÏüÀΰú ȣȯµÇµµ·Ï ÇÏ´Â pTokensÀÌ ÀÖ´Ù. µÑ ¸ðµÎ ÇöÀç´Â Ethereum ±â¹ÝÀÌ´Ù.
ºí·ÏüÀο¡¼ÀÇ ³¼ö »ý¼ºÀ̶ó´Â °ÍÀº »ó´çÈ÷ Áß¿äÇÏÁö¸¸ ÀÌ¿Í °°ÀÌ ±¸Çö¿¡ ÀÖ¾î¼ ²Ï ¾î·Á¿î Á¡µéÀÌ ÀÖ´Ù. ´ÙÇེ·´°Ôµµ ÇöÀç ÀÌ´õ¸®¿òÀº ¿¹ÃøÀÌ ºÒ°¡´ÉÇÑ ³¼ö¸¦ Á¦°øÇÒ ¸ñÀûµµ °¡Áø Ethereum 2.0 ¾÷±×·¹À̵带 ¼öÇàÇÏ°í ÀÖ´Ù. ´Ù¼öÀÇ Âü¿©ÀÚ°¡ ³¼ö¸¦ Á¦°øÇÏ´Â RANDAO, °ªÀÌ µµÃâµÉ ¶§±îÁö ½Ã°£À» Áö¿¬½ÃÄѼ ¾î¶² °ªÀÌ ³ª¿ÃÁö ¿¹ÃøÇϱâ Èûµé°Ô ¸¸µå´Â °ËÁõ °¡´ÉÇÑ ½Ã°£ Áö¿¬ÇÔ¼ö(verifiable delay function: VDF)µîÀ» º¹ÇÕÀûÀ¸·Î ÀÌ¿ëÇÑ ¹æ¹ýÀÌ ³íÀǵǰí Àִµ¥ ÀÌ´Â º¸¾È¿¡¼ºÎÅÍ ÀΰøÁö´É¿¡±îÁö ¾ÆÁÖ Áß¿äÇÑ ºÎºÐÀ» Â÷ÁöÇÏ´Â ½Å·ÚÇÒ ¼ö ÀÖ´Â ³¼ö¸¦ ¹ß»ý½ÃÅ°´Â ±â¼úÀÌ Á¢±ÙÇϱ⠽¬¿î ¹æ¹ýÀ¸·Î ź»ýÇÒ ¼ö ÀÖ´Ù´Â Á¡¿¡ ´ë´ÜÈ÷ ȯ¿µÇÒ¸¸ÇÑ ÀÏÀÌ´Ù.
ÇöÀç À¯»ç ³¼ö(ÀÇ»ç ³¼ö, °¡Â¥ ³¼ö: Pseudo-Random Number)±×¸®°í ¾ÏÈ£ÇÐÀûÀ¸·Î ¾ÈÀüÇÑ À¯»ç³¼ö(cryptographically secure pseudo-random number)°¡ ÁÖ·ù·Î »ç¿ëµÇ°í ÀÖÁö¸¸ ±Ã±ØÀûÀ¸·Î ³¼ö¶ó´Â °ÍÀº ÁøÂ¥ ³¼ö(True Random Number)À» Áö¾çÇÏ°í ÀÖ´Ù. ÁøÂ¥ ³¼ö¸¦ »ç¿ëÇϱâ À§Çؼ´Â Àü¿ë Çϵå¿þ¾î(True Random Number Generator Hardware: TRNG Hardware)¸¦ »ç¿ëÇؾ߸¸ Çϱ⿡ ¹°¸®ÀûÀÎ ¹«¸®°¡ µû¸¥´Ù. TRNG Çϵå¿þ¾î´Â ±¤ÀÚ,¿Âµµ,¾çÀÚ µîÀÇ ¿ªÇÐÀû Çö»óÀ» °üÂûÇÏ¿© ÀüÇô ¿¹ÃøÇÒ ¼ö ¾ø´Â ÀÚ¿¬ÀûÀÎ ¿£Æ®·ÎÇǸ¦ »ç¿ëÇϱ⠶§¹®¿¡ ¾Ë°í¸®µë ÀÚü¸¦ ÆľÇÇÏ´Â °Íµµ ºÒ°¡´É ÇÏ´Ù.
¹°·Ð Ethereum 2.0ÀÌ ¾Æ¹«¸® ½Å·Ú¼ºÀÌ ³ôÀº ³¼ö¸¦ »ý¼ºÇØ ³½´Ù°í Çصµ, °üÂû ÇÏ´Â ÇàÀ§ ÀÚü°¡ °ªÀÇ ¿µÇâÀ» ÁÖ´Â TRNG ¸¸ÅÀÇ ½Å·Ú¼ºÀ» È®º¸Çϱâ´Â Èûµé ¼ö ÀÖ´Ù. ±×·¯³ª °¢ÀÚÀÇ ¹æ½ÄÀ¸·Î »óÀÌÇÑ ¾Ë°í¸®µëÀ¸·Î È®º¸µÈ ´Ù¾çÇÑ ³¼ö¸¦ »ç¿ëÇÏ´Â °ÍÀÌ Ethereum 2.0¿¡¼´Â °¡´ÉÇÏ°í ÀÌ´Â TRNG¿Í °ÅÀÇ µ¿µîÇÒ ¸¸ÅÀÇ °·ÂÇÑ ³¼ö¸¦ »ý¼ºÇÏ´Â °ÍÀ» °¡´Éµµ·Ï ÇÑ´Ù.
´©°¡ ´õ °·ÂÇÑ ³¼ö¸¦ »ý¼ºÇÏ°í À̸¦ Àû¿ë½ÃÅ°´Â °¡´Â Àü»êÇÐ ºÐ¾ß¿¡¼ ³Ê¹« Áß¿äÇÑ ¼Ò¸®¾ø´Â â°ú ¹æÆÐÀÇ ÀüÀïÀÌ´Ù. ¾î¼¸é º¸¾È¿¡¼ºÎÅÍ ÀΰøÁö´É¿¡ À̸£±â±îÁöÀÇ ÇÙ½ÉÀÎ °·ÂÇÑ ³¼ö¹ß»ý±â°¡ ºí·ÏüÀÎÀÇ ¹ßÀü°ú ÇÔ²² ¿ì¸®ÀÇ »î¿¡ ´Ù°¡¿ÃÁöµµ ¸ð¸¥´Ù´Â ±â´ë¸¦ Çغ»´Ù.
< ÀúÀÛ±ÇÀÚ © Çì¸ðÇʸ®¾Æ ¶óÀÌÇÁ ¹«´ÜÀüÀç ¹× Àç¹èÆ÷±ÝÁö > |