ãããã³ã¤ã³ã¨ãããã¯ãã§ã¼ã³ã¨åæ£åæ
å æ¥ã忣ã·ã¹ãã ããããããã£ã¦ããã¡ã³ãã¼ã§éã¾ã£ã¦ã話é¡ã®ãããã¯ãã§ã¼ã³ã¨ããããã³ã¤ã³ããã®åå¼·ä¼ããã£ã¦ã®ã§ãã¾ã¨ãã¦ããã
ããããæè¦ã¯ããã¨æããã©ãåå¼·ä¼ã§ã¯å顿èã¯å¤§ä½ãå ±æã§ããã¨æããã¾ãã¯ããã¼ãã¼ããã£ã¦ããã£ãS社ã®Mããã«æè¬ç³ãä¸ãã¾ãããããããããããã£ãããã¯ãåæ£ç³»ããã£ã¦ãã人ããã®è§£èª¬ã¯ãè¦ç¹ã¨ãå顿èãåããªã®ã§åèã«ãªãã
以ä¸ãèªåã®å人çè¦è§£ãåã£ã¦ãããã©ããã¯ã·ã©ã³ã
1.ãç¾ç¶ã®ããããã¯ãã§ã¼ã³ã¨ãããã³ã¤ã³ãï¼ä»¥ä¸ãªãªã¸ãã«ã¨ããï¼ã¯ããã®ã¾ã¾ã§ã¯åæ£åæã¨ã¯é¢ä¿ãªãã
ããã¯ã¯ãªã¢ã ã¨æãã端çã«ããã¨ãã¶ã³ãã³å°è»åé¡ã¨ã¯ãã¾ã£ããé¢ä¿ãªããããã ããããããã¯ãã§ã¼ã³ã¨ãããã³ã¤ã³ãããã¶ã³ãã³å°è»åé¡ã®è§£æ±ºã«ãªã£ã¦ããã¨ãã話ã¯ãã¾ãã¯ãã¾ã¨ã¯ãããã ã¨æããç¾ç¶ã®ããããã¯ãã§ã¼ã³ã¨ãããã³ã¤ã³ãã¯ã忣åæã¯æä¾ãæ ä¿ãããªãã
ããããã®ããªã¬ã¼ã¯Marc Andressenã®postãå¼ãéã ã¨æãã
http://blog.pmarca.com/2014/01/22/why-bitcoin-matters/
ãBitcoin is the first practical solution to a longstanding problem in computer science called the Byzantine Generals Problem.ãã£ã¦è¨ã£ã¦ããã©ãããã¯å°ãªãã¨ããªãªã¸ãã«ã«ã¤ãã¦è¨åãã¦ããã®ã§ããã°ã200%ééã£ã¦ããã
ã¾ããããã¯ãã§ã¼ã³ã®ä»çµã¿èªä½ã¯ææ®µã§ãããªããæ¹ãã鲿¢ãå¼·åºã«æä¾ãã¦ããã«éããªããããã使ã£ã¦åæã·ã¹ãã ãä½ãã¨ããã®ã§ããã°ããããããããã¯ãã§ã¼ã³èªä½ãåæã®ä»çµã¿ãæä¾ãã¦ããããã§ã¯ãªããå®éããããã¯ãã§ã¼ã³ãå©ç¨ããææ¸ã®æ¹ãã鲿¢ã®ã½ããã¦ã§ã¢ã¯ãå¾åããæä¾ããã¦ããããå¥ã«åæã®ä»çµã¿ãæä¾ãã¦ããã§ã¯ãªããã¾ãã«åç´ãªæ¹ãã鲿¢ã®æä¾ãã¦ããã ãã§ãããï¼ã©ã®é¨åã®æ¹ãã鲿¢ãªã®ãããã¨ãã°ã³ã³ãã³ããªã®ããéä¿¡çµè·¯ãªã®ãçã ã«ã¤ãã¦ã¯ããããããã¨ã¯æããã©ãï¼
次ã«ããããã¯ãã§ã¼ã³ã®ã¢ããªã±ã¼ã·ã§ã³ã§ããããããã³ã¤ã³ã¯åæã®ä»çµã¿ãæä¾ãã¦ããããã¨ãã話ã§ããããããã¯çµè«ã¨ãã¦ã¯æä¾ãã¦ããªããããé·ããã§ã¼ã³ãç»å ´ããæ®µéã§ãçããã®ã«ã¤ãã¦ã¯å¸¸ã«åé§ãããå¯è½æ§ã¯çè«çã«ã¯æé¤ã§ããªãã®ã§ãåæã¯çè«çã«ã¯æç«ããªãã
ãã¨ãã°ãæèå®é¨çã«èãã¦ã¿ãã
ã»ãããããã³ã¤ã³ã®ç³»ã¨ãã®ç³»ãæ§æããé¨åç³»Aãåå¨ããã
ã»ãã®é¨åç³»Aã¨ãã以å¤ã®é¨åç³»!Aã¨ã®éä¿¡ãA->!Aã®åæ¹åã«ã®ã¿å¤©æå¦çã«ç¡å¶éã«é
å»¶ããã¨ããã
ã»ãã®é¨åç³»Aã®å
é¨ã ãã§é«éã«ãã§ã¼ã³ãã¤ããããã¨ããã
ã§ã
ã»ãã以å¤ã®é¨åç³»!Aã§ä½ãããTxãä¸é¨åå²ãã¦ãééã£ãï¼syntaxã¨localã®semanticsã¯æ´åãã¦ãããglobalãªsemanticsã䏿´åã®ãããªï¼Txãé¨åç³»Aã«æµããã¨ãããä¾ã«ããã§ãdouble spendingãªã©ãããã«å½ããã¨æãã
ã§ã
ã»å¤©æå¦çã«æéãæµãããã¨ã§ããªãã䏿çã«åæ¹åé
å»¶ãè§£æ¶ããã¨ããã
ããã¨ã
ã»ããªãã®ç¢ºåº¦ã§ãã®ä»¥å¤ã®é¨åç³»!Aã®ãã§ã¼ã³ã¯å¦æ±ºãããã(åãã¼ãã®localãªsemanticsãæ´åãã¦ããå ´åã¯åç´ã«ãã§ã¼ã³ãé·ãæ¹ãæ¡æããã«ã¼ã«ã«ããï¼
ã»é
å»¶ãè§£æ¶ããæç¹ã§åæã¨ãåéããã人ã¯ã天æå¦çãªæéãç¡éï¼ããªãããã¤ãã¯å°éã¯ããããæéã¯ç¡éï¼ã¨ããã¨ãã£ã¨ãããããããããããªããéåæã®åæ£åæçè«ã§ã¯æ®éã«æªå®ãããä»®å®ã§ããã
ããããã¢ãã«ã¯ä»ã®ãããã³ã¤ã³ã§ã¯æç«ãããã¨ãã§ããã
åºæ¬çã«ãããã³ã¤ã³ã¯éåæã¢ãã«ã§ããããããåæãæä¾ãã¦ããããã§ã¯ãªããï¼åæãæä¾ããªã段éã§ãsync/asyncãã¸ã£ãããããªãã®ã ããç³»å ¨ä½ãçµ±æ¬ããããªã¢ã¼ããªãã¨ããæå³ã§asyncã«è¿ãï¼ãç¾å®ãèæ ®ããã°ãåç´ã«ãèªåã®ãã¼ãã®å¤ãå¦å®ããã確çãæéã®çµéã¨ã¨ãã«éããªãã¼ãã«ãªãä»çµã¿ã¨è¨ããããã ãã¼ãã«ãªããªãã®ã§ãï¼ã¼ãã«ãªãã¨ãããã¨ã¯ããã®ç³»ã§åå ãã¦ããå ¨ãã¼ããåä¸ã®å¤ããã¤ã¨ãããã¨ã§ããããããåæ(consensusï¼ã«ãªããï¼ãã£ã¦ãåæã§ã¯ãªãã
ã¾ãã確ãã«é害ã®ç¨®å¥ã¨ãã¦ãã¶ã³ãã³é害çãªãã®ãæ³å®ãã¦ãã¦ããããå æï¼ãã¦ããããã«è¦ããªãããªããããããããã¶ã³ãã³é害ã¯ãã¹ã¦ã®é害ãå«ãã®ã§ãå½ç¶ã«crashãomissionï¼å«ãé å»¶é害ï¼ãå«ããããããå ¨é¨å æãã¦ããããã§ã¯ãªãã
è¦ããã«ããããã¯ãã§ã¼ã³/ãããã³ã¤ã³ãã¯ãã¶ã³ãã³å°è»åé¡ã解決ããã¦ããªããã°ããã¶ã³ãã³é害ãå æãã¦ããªããããããã¾ã£ããé¢ä¿ããªãã
æ³¨ï¼æ¹ããããªããã°ãæçµçã«åæããï¼ã§ããï¼ã¨ããééãã«ã¤ãã¦
ãããã¯ãã§ã¼ã³ç³»ã®è«æã§è¯ãè¦ãããã®ããç³»ã®ä¸ã§ã¡ãã»ã¼ã¸ã®æ£å½æ§ã»æ£ç¢ºæ§ãæç¢ºã§ããã°ãæçµçã«ã¯åæã§ãããã¨ãã主張ã ãå ´åã«ãã£ã¦ã¯eventually consistentã ã¨ããããæ¹ãããããããã¯æç¢ºã«ééãã§ãã¾ã忣åæã¯ããä¸å®ã®æéå
ã§ã©ã®ãã¼ãï¼processesï¼ãåä¸ã®å¤ãåºåããã¨ããã®ãååã ããã®æéã¯ç¡éã»ç¡å¶éã§ã¯ãªããå¿
ã(éåæç³»ã§ãã£ã¦ãï¼å®ç¾©ããããããããé
å»¶ãcrashé害ãåãã¼ãã§çºçãã¦ãããããã£ãfaulty processesãæ¤åºãã¦ãnon-faultyãªprocessesã¯ããã¹ã¦ãåä¸ã®å¤(ã¾ãã¯vector)ãåºåãããã¨ãconsensusï¼åæï¼ã§ãã£ã¦ããã以ä¸ã§ã以ä¸ã§ããªããããªããããããæçµçã«åæãããã¨ããã®ã¯ããããªãã®ã¯åæã§ããªãã§ããªããä»®ã«ããããã§ãå¤ã¯ä¸ã¤ãããªãã®ã§ããã°ãæç¶ãã¯ã©ãã§ããæçµçã«ã¯åæã§ããã¯ãã ãã¨ããæ¹ã¯ãåãã¼ããããããé
å»¶ã¨ãæ
éã¨ãèµ·ããã¨ãã¦ãã§ããã°ãã©ã®ãããªã¹ããããã§ããã®ãããªåæã®ç¶æ
ã«è³ãã®ããæç¢ºã«ãã¹ãã ãããå®ã¯ãããã忣åæã®çè«ãã®ãã®ã§ãããä½åå¹´ãç ç©¶ã»è©¦è¡é¯èª¤ããã¦ãã課é¡ã§ãããããã¦ãããæ¡ä»¶ä¸ã§ãªããã°åæã¯æ
ä¿ã§ããªãã¨ãããã¨ã証æããã¦ããã
2.ãããã§ããåæããã¨ããè°è«ã«ã¤ãã¦
ç·ãã¦ããããã»ã³ã¤ã³/ãããã¯ãã§ã¼ã³ã®ç¾ç¶ã®è°è«ã¯ã忣ã·ã¹ãã å±ããè©å¤ãæªããããã¦ãã®äººã¯ããªãã ãéåæããããã¨ããã®ãæ®éã ã¨æãã
ããã¯ããã¶ããããããã³ã¤ã³/ãããã¯ãã§ã¼ã³ãã®ãªãªã¸ãã«ã¨ããã®alternativeã¨ãããããã®ã»ãã®ãã¬ã¼ã ã¯ã¼ã¯ã¨ã®éãã®æ··åã«ãããã®ã ã¨æããç¾ç¶ã®ããããã³ã¤ã³/ãããã¯ãã§ã¼ã³ããåæã®ä»çµã¿ãæä¾ããªã以ä¸ãæ®éã«èããã°ãåæã®æ©è½ã¯ã¦ã¼ã¶ã¨ãã¦ã¯ã»ããããalternativeã«ãã¦ããªãªã¸ãã«ã«å¯¾ãã¦ãæè¡çã«ãåªä½ãªæ©è½ã«è¦ããã
ãªã®ã§ãalternativeã¯ããåæãä»çµã¿ã®æä¾ã«è¡éãä¸ããããããããã¢ãã¼ã«ããã¦ããã確ãã«åæãæä¾ã§ããã°ããããã¯ãã§ã¼ã³ããã¼ã¹ã«ãããããã³ã¤ã³ã®alternativeãããã¶ã³ãã³é害ãå æãã忣åæã®åé¡ãã解決ããæ¬¡ä¸ä»£ã®ä»çµã¿ãæä¾ãããã¨ããè¨ãæ¹ã¯çãéãããå®éã«ã§ããã°ç»æçã§ãããã
ãã®æç¹ã§ãåãã¦ããããã³ã¤ã³/ãããã¯ãã§ã¼ã³ãã¯Byzantine agreementãç¸æã«ãããã¨ã«ãªããã¨ãããã¨ã§ãã¡ã³ãã¼ã·ããã©ããããã ã¨ããfailure detectorã©ããããã ã¨ããé å»¶ã©ã¼ããã ã¨ããã¾ãæ°åå¹´ã«ããããæ±ºãã¦ã®ãªãåé¡ãå¦çããç¾½ç®ã«ãªããç¾å®ã«ã¯ä½é å»¶ã®ä»çµã¿ã§ããããããå¶éãããã£ã¦ãªãã¨ãåæã§ããã®ãç¾ç¶ã®æè¡æ°´æºã§ãããã¤ã³ã¿ã¼ãããã®ããã«é å»¶ã大ããããªã±ã¼ã¹ã§ã¯ãå¶éãªãã§ã¯ä¸å¯è½ã¨ããã®ãç¾å®ã ã
ã¨ããããè¯ãããè°è«ã¯ããªãªã¸ãã«ã¨alternativeããã£ã¡ãã«ãã¦ãããªãããããã³ã¤ã³/ãããã¯ãã§ã¼ã³ãã¨ãã¦èªã£ã¦ãããã¨ãå¤ããããã¯ããã ãããããããã³ã¤ã³/ãããã¯ãã§ã¼ã³ãã®å®ç¸¾ã¨ããæå³ã§ã¯ãalternativeã¯ã»ã¨ãã©å®ç¸¾ããªããç¾å®ã«å½±é¿åããã£ã¦ããã®ã¯ããªãªã¸ãã«ã®æ¹ãªã®ã ãããããããåãé¢ãã¦æ´çããé端ã«ãå®ç¸¾ã¨ããæå³ã§ã¯ãalternativeã¯ã¡ãããå¥ããããã¨ã«ãªã£ã¦ãã¾ãã
ãªãªã¸ãã«ã¯åæã¯å½¢æãããããããalternativeã¯åæã売ãã«ãã¦ãããåæã®æç¡ã¯ã忣ã·ã¹ãã ãå°ãã§ãåã£ããã¨ããã人ã«ã¯èªæã ããjavaã¨java scriptã»ã©éãããã®æå³ã§ããªãªã¸ãã«ã¨alternativeã¯ãåãããããã³ã¤ã³/ãããã¯ãã§ã¼ã³ãã¨ç§°ãã¦ããããå®éã¯ã¾ã£ããã®å¥ç©ã ã忣çè«ã§ã¯ãéåæã®åæ£åæã¯å¶éããªãå ´åã¯çè«ä¸ã§ããªããã¨ã証æããã¦ããï¼FLPå®çï¼ãåæãã¨ãã®ã§ããã°ãç¾å®çã«ã¯ãåæã¢ãã«ã«ãã¦å種ã®failureã«å¯¾å¿ãããã¨ãå¿ é ã§ãããããªãã®å¶ç´ãçºçãããæ®éã¯ãä¿¡é ¼æ§ã®ä½ãããã¤ãé«ã¬ã¤ãã³ã·ã¼ã§ã®ç³»ã§ã¯ç¾å®çã«ã¯çµ¶æçã«ã¹ã±ã¼ã«ããªãã®ãæ®éã ã
è¦ããã«ãalternativeã¯ãééããä½ã¬ã¤ãã³ã·ã¼ã®ç°å¢ä¸ãªãã¨ããããã¤ã³ã¿ã¼ãããã§ã¯å®ç¸¾ãã§ãã©ããããããããã¡ããã¨æ©è½ãã¦ãããç¨åº¦ã®ä½ã¬ã¤ãã³ã·ã¼ãç¶æãã¤ã¤ãã¹ã±ã¼ã«ãããã¯æªããã¨æãããããããã¯ããããªãã®ãéãããããã³ã¤ã³/ãããã¯ãã§ã¼ã³ãã«ã¯åãã¦ãã¾ã£ã¦ãããããããªã¨ããã®æ ªä¾¡ã«ãå½±é¿ãã¦ãã¾ã£ã¦ããããã¾ãããalternativeå¢ã¯å¾ã«ã¯å¼ããªããæå³çã«ãªãªã¸ãã«ã¨ãã£ã¡ãã«ãã¦ããã«ãå®ç¸¾ãããã¾ããã¨ãã風ã«è¦ãã以å¤ã«éãå»¶ã³ãéã¯ãªãããªã®ã§ãããã¨è°è«ãæ··ä¹±ããããã©ã¤ããããï¼ããã«ããæ¹ãã鲿¢ãã¡ããã¨ããã°ãåæãã¾ãããããã¨ããããã«åæã®åé¡ãæ¹ãã鲿¢ã«å·§ã¿ç½®ãæããè°è«ãããè¦ããããã¯æå³çã ã¨æããï¼
ããããããªãªã¸ãã«ã®ããããã³ã¤ã³/ãããã¯ãã§ã¼ã³ãã®é¢ç½ãã¨ããã¯ã忣åæã®å°é£ãã®è§£æ±ºãããããçµæã¨ãã¦ç©æ¥µçã«æ¾æ£ããã¨ããã«ããã¨æãããåæã§ããªããã¨ãããã¡ãªãããéæã«ã¨ã£ã¦ããæçµçã«åé§ã§ããå¯è½æ§ããããã¦ä½ããã¨ããå½¢ã«å©ç¨ãã¦ãããããã¯P2Pã®ä¸ã¤ã®ãå½¢ãã®ããã«æããã確ãã«ãã®æ¹æ³ã¯ãããä¸å®ã®ã»ã°ã¡ã³ãã§ã¯æç¨ã«æãããï¼ããã¦ãããã¯å¤åæå³ããçµæã§ã¯ãªãããã¾ãã¾ããã£ãã¨ãã風ã«è¦ããããã®æå³ã§ãé常ã«é¢ç½ããï¼éèã®ããã«ãã¨ã«ããã·ã¹ãã ã§ä¸æã«æ ä¿ãããã¨ãããã¨ãå¿ è¦ãªä»çµã¿ã§ããã°ã¾ã£ããå½¹ã«ã¯ç«ããªããããã£ããã§ããã®ã§ã100%ã®ä¿è¨¼ã§ã¯ãªãããã©ãããç¨åº¦ãå¤ã®æ ä¿ãã§ããã°ãããã¨ãããã®ã«ã¯å½¹ã«ã¯ãã¤ã¨æãã仿¹alternativeã¯ãã®å¥è²¨ããããã¹ãã¤ã«ããæ¹åã«è¦ãããããããæè¡çãªé£æåº¦ã¯é常ã«é«ããã¯ã¦ãã¦ã»ã»ã»
3.ããã¾ãï¼ãªãªã¸ãã«ã®ããããã³ã¤ã³/ãããã¯ãã§ã¼ã³ãã«ã¤ãã¦ã¯éåº¦ã«æ¿æ²»çãªãã®ã«ãªã£ã¦ããããã«ãè¦ããã
ã¤ãã§ã®è©±ã ããä¸è¨ã®ä¾ã§ã¯æèå®é¨ã¨ãããã¨ã«ãã¦ããããå®ã¯ã¢ãã«ãããã以ä¸ã¯å人çã«ã¯é¢ç½ããªã¨æã£ã¦ããã
ã»é¨åç³»Aãä¸å½ã¨ãã
ã»ãã®ã»ãã®ç³»!Aãæ¬§ç±³ã»æ¥æ¬ã¨ãã®éèæ©é¢ã¨ãã
ã»ç¾ç¶Minerã®å¤§åãä¸å½ã§ãããã®ã§ãä¸å½å
é¨ã§ã¯æ´»çºã«BitCoinãå¿åããã¦ããã®ã¯æãã
ã»ã§ä¸å½å½å±ã¯ãèªå½ã®éèååã»éè²¨ã®æã¡åºãã¯è¦å¶ãããã¨ãã
ã»ä¸å½å½å±ã¯ã¤ã³ãã¼ãããã¨ã人åã§å¶éã§ããã¨ããã
ãã§ãã©ããªããã£ã¦ã®ããå人çãªèå³ã§ãããåºæ¬çã«asyncã§ããã®ã§ãä¸å¤®é権çã«å¦å®ãããã¨ã¯çè«ä¸ã§ããªããä»ã®ä¸å½å½å ã®ããéæã¡ããä½ãèãããï¼ã¯å®¹æã«æ³åã¯ã§ããããã»ã»ã»ã»å®éã¯ãããã話ã§ã¯ãªãã¨æããã©ãæèå®é¨ã¨ãã¦ã¯é¢ç½ããªã¨æã£ã¦ããããããªãã¨ããç¾å¨ã®Minerã®å¤§åãä¸å½ã¨ããã®ã¯ãããããèããã¨è峿·±ãã
ã»ã»ã¾ããããã«ãããããããã³ã¤ã³/ãããã¯ãã§ã¼ã³ãã¯ããããªæå³ã§ç¢ºå®ã«ããããã®å±éã«ãªã£ã¦ããã¨å人çã«ã¯æãã
ï¼ä»¥ä¸ã¯èªåã®å人çãªè¦è§£ãªãã§ãèªãã§ã人ã¯åèªèªåã§ã¡ããã¨èããäºããå§ããã¾ããã³ã¬ãæ©ã«åæ£åæã«ã¤ãã¦ãããã調ã¹ãã¨ããããããã¾ãããã»ã»ã¨ã«ãããã«ããåæï¼consensus)ã®è©±ããã¤ã®éã«ãæ¹ãã鲿¢ã®è©±ã«ãªã£ã¦ãããæ³¨æããã»ããããã¨ã¯æãã¾ãããï¼
以ä¸ã§ãã