ãã«ã¢ããµãã·ã®è«æã«ããã2009幎ã«éçºããã Bitcoin ã¯é貚ã»è²šå¹£ã«ãããé©æ°çãªçºæã 㚠謳ãããéå æã®ãããªåŸãçŸããªããäžå€®é貚管çå±ããããªãã¯ãããŠã® ããžã¿ã«è²¡ç£ ã®äŸã§ãã( intrinsic value ) ãããããã®å£®å€§ãª Bitcoin ã®å®éšã«ããããããç¹çãã¹ãéèŠéšã¯å¥ã®æã«ãããŸãã ããã¯åæ£å倧è¡æ±ºå®ã®ããŒã«ãšããŠããŸãã«ãã®åºç€ããªã Blockchain ã®æè¡ã§ãããæ¥éã«äººã ã®æ³šç®ãéãã€ã€ãããŸãã
äžè¬çã«ã blockchain ãã¯ãããžãŒãåŒçšããŠãã Bitcoin ã®ä»£æ¿ã¢ããªã§ã blockchain äžã®é»å財ç£ãå®è£ ãããã®ãšããŠ:
- äžå®ååŒéã®ããé貚ãéèååããããããã® ( colored coins )
- åºç€ãšãªãç©çããã€ã¹ã®æææš© ( smart property )
- ãã¡ã€ã³ã®ãããªæè³å¯Ÿè±¡å€ã®è²¡ç£ ( Namecoin )
ããããããè€éãªã¢ããªã±ãŒã·ã§ã³ãšããŠã¯ä»¥äžã®ãã®ãæããããŸã:
- (圹人ãéè¡å¡ã«åã£ãŠä»£ãã)ãã³ãŒãã£ã³ã°ã§ããããã«ãŒã«ãå®è£ ããåã ã®é»åè³ç£ã管çãããã®( smart contracts )
- äžèšã®ã¹ããŒãã³ã³ãã©ã¯ãã blockchain äžã§å®è£ ãããã® ( DAO )
Ethereum ãæäŸããããšããŠãããã®ã¯ã ãã¥ãŒãªã³ã°å®å šãªããã°ã©ãã³ã°èšèªã®å®æåã blockchain ã«åã蟌ã¿æäŸããããšã«ãããŸãã ãã®èšèªã¯ã"contract" ãçæããããã«äœ¿çšããã "contract" ãšã¯ãããã é¢æ° ãããã°ã©ã ãããã®ã§ãã ããã«ããããŠãŒã¶ãŒã¯äžèšã®å šãŠã®ã·ã¹ãã ãå®è£ ããããšãå¯èœã§ã ããããããŸã æ³åããããŠããªãå€ãã®å¯èœæ§ãã è«çãç§ããæ°è¡ã®ã³ãŒããæžãäžããã ãã§å®çŸã§ããããã«ãªããŸãã
- Bitcoin ãžã®å°å ¥ ãš æ¢åã®æŠå¿µ
- Ethereum
- ã¢ããªã±ãŒã·ã§ã³
- éé² ãš é¢å¿äº
- çµè«
- è泚 åã³ åèæç®
äžè¿°ã®è³ç£ç»é²ãã·ã³ã®ãããªä»£æ¿ã¢ããªãã åæ£åããžã¿ã«é貚ã®æŠå¿µãçŸãå§ããã®ã¯ãããæ°å幎ã§ãã 80ã90幎代ã«ãããŠãDavid Chaum ã®ããã©ã€ã³ãã£ã³ã°çœ²å blinding signatureããããã©ãããšãã å¿åã®ããžã¿ã«é貚ãããã³ã«ãããããéçºãããé«ããã©ã€ãã·ãŒããã€é貚ãæäŸããŸãããã ãããã¯äžå€®éçŽåã®åªäœã«äŸåããŠãããããåºã泚ç®ã济ã³ãã«ã¯è³ããŸããã§ããã 1998幎ã«çºè¡šããããWei Daiã«ãã b-money ãã çŸè¡ã®åæ£åã®ã³ã³ã»ã³ãµã¹ãšåæ§ã®ãã®ã§ãèšç®åé¡ã解ãããšã«ãã£ãŠ ãéãåµé ãããšããã¢ã€ãã¢ããã¯ãããŠå°å ¥ããäºäŸãšãªããŸãã ãããããã®ããããŒã¶ã«ã®è©³çŽ°ã¯äžååã§ãã£ããããå®çšçãªåæ£åã®å€§è¡ææ決å®ãå®è£ ããããšãã§ããŸããã§ããã 2005幎ãHal Finney ããæå·é貚ã®ã³ã³ã»ãããã€ãããããããã«ã ABCD Hashcash ããºã«[jp-1] ãš b-money ããã¢ã€ãã¢ãããŒãäœãããã·ã¹ãã ã§ãã "reusable proofs of work" ãšããã³ã³ã»ãããçºè¡šããŸããããããã¯ãšã³ãã«ãä¿¡çšã®ããèšç®æ©ã䜿çšããªããã°ãªããªãã£ããããçã«åæ£åãšã¯åŒã¹ããåã³å€±æããŸããã 2009幎ã®ãã«ã¢ããµãã·ã«ããå®çšçãªå®è£ ãã¯ãããŠã®åæ£åã®é貚ãšãªããŸããã ããã¯ãæãããã£ããå ¬ééµæå·ïŒæææš©ã管ç) ã㚠倧è¡ææ決å®ã¢ã«ãŽãªãºã ã§ããã "proof of work" (誰ãã³ã€ã³ãææããŠããã®ã远跡)ã ãçµã³ãããããã®ãšãªããŸãã
proof of work ã®èæ¯ã«ããæè¡ã¯å®å®å²ã«åãå»ãã»ã©ã®é£èºçé²æ©ã§ãããŸããã ãªããªã proof of work ã¯ãåæã«äºã€ã®é£é¡ã解決ããã®ã§ãã
- ã²ãšã€ãã¯ãåçŽæå¿«ã§é©åãªåœ±é¿åããã€å€§è¡ææ決å®ã®ã¢ã«ãŽãªãºã ã®æäŸã§ã ãããã¯ãŒã¯äžã®ããŒãã¯Bitcoinã®åž³ç°¿ã®ãäžè¬èŠåã«åŸãç¶æ æŽæ°ããã§ããããã«ãªããŸããã
- ãµãã€ãã¯ã倧è¡ææ決å®ã®ããã»ã¹ãžã®èªç±åå ãå¯èœã«ããã¡ã«ããºã ã®æäŸã§ã 誰ããã³ã³ã»ã³ãµã¹ã«åœ±é¿ãããããã®ããšããããšã決ããæ¿æ²»çåé¡ã解決ããã®ã§ãã ããã¯åæã« Sybil AttackïŒã²ãšãã§ããŒããå€æ°çæãå€æ°æ±ºçã«æ»æããææ³ïŒãé²ãããšã«ã€ãªãããŸãã
ããã¯æ¬¡ã®ããã«ããŠãåå åºæºãå®åŒåãããšããããšã§ãã
- ããŒãã«å¯Ÿããç¹å®ãªã¹ãã«ãããå¯äžæ§ã®èšŒææžã®æåºãèŠæ±ãã
- ããã«ã倧è¡ææ決å®ã®ããã»ã¹ã«ãããåäœããŒãã®éã¿ã¯ãããŒãã®ãã€èšç®èœåã«å¿ããŠåé ããã ãšãã ãšã³ãããã¯ããªã¢[jp-2] ãæ¡çšãã
ãã®åŸãproof of stake ãšåŒã°ããææ³ãææ¡ãããŠããŸãã èšç®è³æºã§ã¯ãªãä¿æããŠããé貚éã«æ¯äŸããŠããŒãã®éã¿ãèšç®ãããšãããã®ã§ãã 2ã€ã®ææ³ã®çžå¯Ÿçãªå©ç¹ã«é¢ããè°è«ã¯ãã®çœæžã®æ ãè¶ ããŠããŸããŸããã ã©ã¡ãã®ææ³ãæå·é貚ãæ¯ããå±å°éªšãšããŠå©çšãããŠããããšã¯èšåããŠãããŠè¯ãã§ãããã
æŽå²ã«é¢ããŠã¯ãEthereum ãåµèšãã Vitalik Buterin ã®ããã°èšäº Ethereum pre-history ããããŸãã ãããªãæŽå²ã«ã€ããŠã¯ ãã¡ã ã®èšäºããããŸãã
æè¡ç芳ç¹ããèŠããšãïŒæ¬æ¥ Bitcoin ã¯ãç¶æ ãæããªãããã ã®é¢æ°ã®éã«éããªãçŽç²ãªãã®ã§ãããïŒ Bitcoin ãã¯ãããšããæå·é貚ã®åž³ç°¿ã¯ãå š bitcoin ã®ææç¶æ³ããããããç¶æ ããšãç¶æ ãšååŒ(ãã©ã³ã¶ã¯ã·ã§ã³ãç¶æ é·ç§»é¢æ°ã®ããš)ããæ°ããªç¶æ ãåºåãããç¶æ é·ç§»é¢æ°ãããã£ãããç¶æ é·ç§»ãã®ã·ã¹ãã ãšããŠã¿ãããšãã§ããŸãã äžè¬çéè¡ã®ã·ã¹ãã ã§ã¯ãããšãã°ãç¶æ ãã¯ãã©ã³ã¹ã·ãŒãã«ãããã ããã©ã³ã¶ã¯ã·ã§ã³ãã¯AããBã«Xãã«ç§»åããŠããããšãããªã¯ãšã¹ãã«ãããã ãã®ç¶æ é·ç§»é¢æ°ã¯ãXãã«ã ãAã®å£åº§ã®æ®é«ãæžãããBã®æ®é«ãå¢ãããŸãã ãããAã®å£åº§ã®æ®é«ãXãã«ã«æºããªãã£ãå Žåã«ã¯ã ç¶æ é·ç§»é¢æ°ã¯ãšã©ãŒãè¿ããŸãã ãããå®åŒåãã
APPLY(S,TX) -> S' or ERROR
ãã®éè¡ã·ã¹ãã ã¯ä»¥äžã§å®çŸ©ããã以äžã¯ãã®é©çšäŸã§ãã
APPLY({ Alice: $50, Bob: $50 },"send $20 from Alice to Bob") = { Alice: $30, Bob: $70 }
APPLY({ Alice: $50, Bob: $50 },"send $70 from Alice to Bob") = ERROR
Bitcoin ã«ããããç¶æ stateããšã¯ãå šã³ã€ã³ã®éå ã§ããã æè¡çã«èª¬æããããŸããšã çºè¡ãããŠããã³ã€ã³ã®ãã¡ã§ãUTXOïŒæªäœ¿çšã®ååŒåºåå€ïŒãã®å šéå ãšãªããå UTXO ã«ã¯ããããããæ®é«ããšãææè ããèšé²ãããŠããŸãã ãææè ãã¯ãåºæ¬çã«ãæå·çè«ã«ãããå ¬ééµ[1]ã§ãã20ãã€ã(160bit)ã®ã¢ãã¬ã¹ãšãªããŸãã ããã©ã³ã¶ã¯ã·ã§ã³ãã¯ãç¶æ é·ç§»é¢æ°ã§ãããäžä»¥äžã®å ¥åå€ ãš äžä»¥äžã®åºåå€ ããšããŸãã åå ¥åå€ã¯ããæ¢åã® UTXO ãžã®åç §ããšãææè ã®ã¢ãã¬ã¹ãšé¢é£ä»ããããç§å¯éµã«ããæå·çœ²åã ããæ§æããã ååºåå€ã¯ããæ°ããçæããã UTXOããä¿æããŠããŸãã
ç¶æ
é·ç§»é¢æ° APPLY(S,TX) -> S'
ãå®çŸ©ããããã°ã©ã ã®æŠç¥ã¯ä»¥äžãšãªããŸãã:
- åå
¥å
TX
ã«å¯ŸããŠ:- ãããåç
§å
ã® UTXO ããç¶æ
S
ã«ä¿æãããŠããªããªãã°ããšã©ãŒãè¿ãã - ãããæäŸããã眲åããã® UTXO ã®ææè ã®ãã®ãšãããããªããã°ããšã©ãŒãè¿ãã
- ãããåç
§å
ã® UTXO ããç¶æ
- ãããå ¥åçšã®å š UTXO ã®äŸ¡å€ã®åèšããåºåçšã®å š UTXO ã®äŸ¡å€ã®åèšããå°ãããã°ããšã©ãŒãè¿ããŸãã
- å
¥åçšã®å
š UTXO ãåãé€ããåºåçšã®å
š UTXO ãå ããæ°ããªç¶æ
S
ãè¿ããŸãã
ã²ãšã€ãã®ã¹ãããã«ããã ååéšã«ããããã©ã³ã¶ã¯ã·ã§ã³ã®éä¿¡è ããååšããªãã³ã€ã³ãäžæ£ã«éãããšãé²æ¢ãã åŸåéšã«ããããã©ã³ã¶ã¯ã·ã§ã³ã®éä¿¡è ããä»äººã®ã³ã€ã³ãåæã«éãããšãé²æ¢ããŸãã ãµãã€ãã®ã¹ãããã«ãã£ãŠãããŒã¿ã«ããªã¥ãŒã®ä¿åïŒå ¥åå€ã®ç·èš ã åºåå€ã®ç·èš ãšçããïŒãå·è¡ãããŸãã ãããå®çšçãªæ¯æãã«é©çšããããã®ããããã³ã«ã¯ä»¥äžã®ããã«ãªããŸãã
ã¢ãªã¹ãããã« 11.7 BTC ãéä¿¡ããããšããŸãã ãŸãã¯ããã«ãã¢ãªã¹ã¯ãå©çšå¯èœãª UTXO ãèªåã®æã£ãŠãããã®ã®äžããããéãã å°ãªããšãç·èš 11.7 BTC ã«ãªãããã«ããŸããã¢ãªã¹ã® UTXO ãéããŠã¡ããã© 11.7 BTC ãã€ããããšã¯ã§ããã6+4+2=12 BTC ãã¢ãªã¹ã®åŸãæå°ã®å€ã§ãã ãããŠåœŒå¥³ã¯ãïŒã€ã®å ¥åå€ãšïŒã€ã®åºåå€ããã€ãã©ã³ã¶ã¯ã·ã§ã³ãã€ãããŸãã ã²ãšã€ãã®åºåå€ã¯ 11.7 BTC ã§ããã®ã¢ãã¬ã¹ãææè ãšããŠèšé²ããã ãµãã€ãã®åºåå€ã¯ 0.3 BTC ã®"ãé£ã"ãã¢ãªã¹èªèº«ãææè ãšããŠèšé²ãããŸãã
ãããã¢ã¯ã»ã¹å¯Ÿè±¡ãšããŠä¿¡çšååŒå¯èœãª äžå€®éçŽå ã®ãµãŒãã¹ã䜿ã£ãŠããã®ã§ããã°ã ãã®ã·ã¹ãã ã®å®è£ ã¯è³æ¥µç°¡åãªãã®ã§ãã£ãã§ãããã åã«äžèšã®ããã°ã©ã ã³ãŒããèšãã®ã«ãäžå€®ãµãŒããŒã®ããŒããã£ã¹ã¯ã䜿çšãããç¶æ ããèšé²ã»ç¶æããã°æžã話ã§ãã£ãã§ãããã ããããããããã¡ã Bitcoin ãçšããŠããããšããŠããã®ã¯ãåæ£åé貚ã·ã¹ãã ã®æ§ç¯ã§ãã ãªã®ã§ããã©ã³ã¶ã¯ã·ã§ã³ã®é çªãã¿ããªãåæã§ããããšã確çŽããããã«ã ç¶æ é·ç§»ã·ã¹ãã 㚠倧è¡ææ決å®ã®ã·ã¹ãã ããã£ã€ããŠãããªããŠã¯ãªããŸããã Bitcoin ã®åæ£å倧è¡æ±ºå®ããã»ã¹ã§ã¯ãããããã¯ããšåŒã°ããããã©ã³ã¶ã¯ã·ã§ã³ã梱å ãããã®ããäœãç¶ããããšããã ãããã¯ãŒã¯äžã®ããŒããå¿ èŠã§ãã ãããã¯ãŒã¯ã¯ãã ããã10åæ¯ã«ã²ãšã€ã® ããã㯠ãçæããããã«èšèšãããŠããã åã ã®ãããã¯ã¯ã
- ãã¿ã€ã ã¹ã¿ã³ãã
- ããã³ã¹ã
- ãçŽåã®ãããã¯ãžã®åç §å€ã
- ãïŒçŽåã®ãããã¯çæåŸããçŸåšãŸã§ã«éè¡ãããïŒãã©ã³ã¶ã¯ã·ã§ã³ã®ãªã¹ãã
ãä¿æããŸããïŒ â» ãã³ã¹ïŒãããã¯çææã«ã€ã³ã¯ãªã¡ã³ãããç¶ããåäœèå¥ããã·ã¥å€ã§ããã€ããŒããããã¯ãæãåœãŠãããšãç®æšã«ããŠç¬èªã«ã€ã³ã¯ãªã¡ã³ããããïŒ ãã®ãããã¯ãæéçºå±ããããšã«ãã£ãŠã Bitcoin ã®åž³ç°¿ãææ°ç¶æ ã«æŽæ°ãç¶ããã æ°žç¶çãã€æä¹ çæé·ããªã " blockchain " ïŒãããã¯ã®éïŒãçæããŸãã
çŸãã©ãã€ã äžã«ãããŠããããã¯ãæå¹ãã©ããããã§ãã¯ããã¢ã«ãŽãªãºã ã¯ä»¥äžãšãªããŸãïŒ
- ãã®ãããã¯ãåç §ããçŽåã®ãããã¯ãååšãããããæå¹ã§ãããããã§ãã¯ããã
- ãã®ãããã¯ã®ã¿ã€ã ã¹ã¿ã³ããçŽåã®ãããã¯[2] ãã倧ããããã€ïŒæéåŸã®æªæ¥ã«ããããã®ãŸã§ããã«ããããã®ããå°ãããã確èªããã
- ãã®ãããã¯äžã§ã®ãproof of work ãæå¹ããã§ãã¯ããã
- çŽåã®ãããã¯ã®çµç¶æ
ã
S[0]
ãšããŸãã TX
ãn
åã®ãã©ã³ã¶ã¯ã·ã§ã³ãããªãããªã¹ããã ãšããŸãã0...n-1
ã«ããããå šãŠã®i
ã«å¯ŸããS[i+1] = APPLY(S[i],TX[i])
ãšé çªã«é©çšããŸãããããäžã€ã§ããšã©ãŒãè¿ãã°ãexit ããfalse ãè¿ããŸãã- true ãè¿ãããã®ãããã¯ã®æåŸã®ç¶æ
ãšããŠ
S[n]
ãèšé²ããŸãã
åºæ¬çã« ãããã¯å ã®åãã©ã³ã¶ã¯ã·ã§ã³ã¯ã ãã©ã³ã¶ã¯ã·ã§ã³å·è¡åã® éå»ã®ç¶æ ãããšã«ããŠãæå¹ãªç¶æ é·ç§»ãæäŸããªããã°ãªããŸããã ãç¶æ ãã¯ãããªãç¹ã«ãããŠãããããã¯å ã«èšè¿°ãããªãããšã«æ³šæããŠãã ãããïŒãããã¯ã¯ç¶æ é·ç§»é¢æ°ãã€ãªãåãããé¢æ°ãã®ãã®ã§ãããå ¥åå€ ã§ãããç¶æ ãã«ã€ããŠã¯äœãæžãããŠããŸããïŒïŒ ïŒãã®ã¢ã«ãŽãªãºã ã¯ããæ€èšŒããŒããã説æããç°¡åãªæœè±¡äŸã§ããã ã©ã®ãããã¯ã®æ€èšŒã«ãããŠããéå§ç¶æ ãããå šãããã¯ã®å šãã©ã³ã¶ã¯ã·ã§ã³ãé çªã«é©çšããããšã«ãã£ãŠã ç®çãšãªããããã¯ã®ç€ºãç¶æ ãèšç®ããã°ååãšãªããŸããïŒ ããã«ãæ¡æè minerãããã©ã³ã¶ã¯ã·ã§ã³ããããã¯ã«åã蟌ãé çªããšãŠãéèŠã ãšããããšã«æ³šæããŠãã ããã ïŒãããAãBãšããäºã€ã®ãã©ã³ã¶ã¯ã·ã§ã³ããã£ãŠãBã¯Aã®çæãã UTXO(æªäœ¿çšåºåå€) ã䜿ãå Žåã«ãããŠã Aã®ããšã«BãããŠãããããã¯ã¯æå¹ã§ãããããã§ãªãå Žåã¯ç¡å¹ãšãªã£ãŠããŸããŸããïŒ
ä»ã®ã·ã¹ãã ã§ã¯èŠåããããªãä»æ§ãšããŠã äžè¿°ã®ãã©ã³ã¶ã¯ã·ã§ã³ãªã¹ãã¯ãïŒã©ã®ãã©ã³ã¶ã¯ã·ã§ã³ãã©ãã«åãå ¥ãããããããããã¯åãå ¥ããããªããªã©ãã«ãã£ãŠæ°å€ã®éžæè¢ãèããããŸãããïŒããã§ãæå¹ãªãã®ãäžã€éžã¶ããã®éžå®æ¡ä»¶ãã "proof of work" ã«ã¯å¿ èŠãšãªããŸãã å³å¯ãªå®çŸ©ã¯ã å šãŠã®ãããã¯ã® double-SHA256 hashå€ïŒ256bit ã®æ°å€ïŒã åçã«å€åããããã«èšèšããããç®çå€ targetãããå°ãããªãããšãã§ããã ç®çå€ã¯ããããå·çããŠããåœæã§ã¯ãçŽ2187ã§ããã ããã¯ããããã¯çæãèšç®ç§åŠäž "é£ãã" ããçºã§ããã ãã®çµæãSybil AttackïŒã²ãšãã§ããŒããå€æ°çæãå€æ°æ±ºçã«æ»æããææ³ïŒã«ããæ»æè ãèªèº«ã®å¥œããªããã« å š blockchain ãæ¹ç«ããŠããŸãããšãé²æ¢ããããŸãã SHA256ïŒãšã¹ãšã€ããšãŒã«ããïŒã¯ãå®å šã«äºæž¬äžå¯èœãªæ¬äŒŒä¹±æ°é¢æ°ãšããŠèšèšãããŠããã æå¹ãªãããã¯ãã€ããå¯äžã®æ¹æ³ã¯ãåã« ãã³ã¹ ãã€ã³ã¯ãªã¡ã³ãããŠã¯ãã®æ°ãã hashå€ ãé©åãããã確ããããšãããè©Šè¡é¯èª€ãç¹°ãè¿ããããããŸããã
çŸåšã«ããã ~ 2187ã®ãç®çå€ãã§ã¯ã ãããã¯ãŒã¯ã¯ ~ 269 åã®è©Šè¡é¯èª€ãããŠãã£ãšãããã¯ãèŠã€ããããšãã§ããŸãã ãµã€ããç®çå€ ã¯ããããã¯ãŒã¯äžã§2016ãããã¯çæãããæ¯ã«åèšå®ããã ãããã¯ãŒã¯äžã«ããããŒãã«ãããããã¯ã®çºæãå¹³åããŠ10åæ¯ã«çãããã調æŽãããŸãã æ¡æè ã«ç«¶ãããŠãã®èšç®ããããããã®èšå®ãšããŠã ãããã¯ãæ¡æãããã®ã¯ãã©ããããšããªã湧ããèªåãžã®25BTCã®å ±é ¬ãã ãã©ã³ã¶ã¯ã·ã§ã³ãšããŠæåŸã«ä»ãå ããŸãã ããã«ã å šå ¥åå€ãå šåºåå€ããã倧ãããããªå šãŠã®ãã©ã³ã¶ã¯ã·ã§ã³ã«ãããã ãã®å·®é¡ã¯ãååŒææ°æ transaction feeããšããŠãæ¡æè ã®ããšãžè¡ãä»çµã¿ã§ãã ãšããã§ãããã¯Bitcoinãçºè¡ãããå¯äžã®ã¡ã«ããºã ãšãªããŸãã ã€ãŸããåæç¶æ ã«ãããŠã¯ãBitcoin ã¯çç¡ã§ãã£ãããã§ãã
ãã€ãã³ã°ã®ç®çãããæ·±ãç解ããããã«ã æªæããæ»æè ã®ãããäºä»¶ã«ãã£ãŠäœããããã®ããèŠãŠãããŸãããã Bitcoin ã®åºç€ãšãªãæå·çè«ã¯ã»ãã¥ãªãã£ã®é«ããã®ãšç¥ãããŠããã®ã§ã æ»æè ã®çãç®ãšããŠã¯ãçŽæ¥ãæå·çè«ã§å®ãããŠããªãéšå : ãã©ã³ã¶ã¯ã·ã§ã³ã®é åº ãšãªãã§ãããã
æ»æè ã®æŠç¥ã¯ç°¡åãªãã®ã§ã:
- ããå売人㫠100 BTC ãããååã®è³Œå ¥ä»£éãšããŠéã (ç¬éçãªçºéãã§ããããžã¿ã«ååã奜ãŸããŸã)
- ååã®å°çãåŸ ã€
- èªåèªèº«ã« 100 BTC ãéãå¥ã®ãã©ã³ã¶ã¯ã·ã§ã³ãçæãã
- ãããã¯ãŒã¯ããåŸã«äœã£ãæ¹ã®ãã©ã³ã¶ã¯ã·ã§ã³ã®é çªãæåã«ãããããªãããã¯ããæ¿èªããããã«è©Šã¿ã
äžåºŠãã¹ããã 1 ãå±¥è¡ããããš
æ°ååŸã«æ¡æè
ããã©ã³ã¶ã¯ã·ã§ã³ããããã¯ã«å«ããŸãã
ãããã¯çªå·ã¯ 270000 ãšããŸãã
äžæéåŸãïŒå以äžã®ãããã¯ãããã®ãããã¯ã®åŸãã«è¿œå ããã
ãã®ïŒã€ã®ãããã¯ããéæ¥çã«ãã®ãã©ã³ã¶ã¯ã·ã§ã³ãåç
§ããŠããããã
ãã©ã³ã¶ã¯ã·ã§ã³ã¯ãæ¿èª confirmingãããããšããããšã«ãªããŸãã
ãã®æç¹ã§ã
å売人ã¯ãæ¯æãã確å®ãããã®ãšã¿ãªããååãçºéããŸãã
ããã§ã¯ããžã¿ã«ååãèããååãããã«å±ãããšãšããŸãã
ããŠããŸãæ»æè
ããå¥ã®ãã©ã³ã¶ã¯ã·ã§ã³ãäœæããèªåå®ã« 100BTC ãéããã®ãšããŸãã
æ»æè
ããããåã«ãããéã«æŸã£ãã ããªãã°ã
ãã®ãã©ã³ã¶ã¯ã·ã§ã³ã¯åçãããªãã§ãããã
æ³ã®çªäººã§ããæ¡æè
ã¯ãAPPLY(S,TX)
ãå®è¡ãããšããTX
ãã䜿çšæžã¿UTXO ã䜿çšããããšããŠããããšã«æ°ã¥ãã§ãããã
ãªã®ã§ä»£ããã«ã
æ»æè
ã¯ãããã¯ãã§ãŒã³ãåå²ããã
芪ãšããŠåã 269999 çªç®ã®ãããã¯ãåç
§ãã 270000 çªç®ã®æ°ããããŒãžã§ã³ã®ãããã¯ãçæããŸãã
ããã§ã¯ãããšã®ãããã¯ã«å«ãŸããŠãããã©ã³ã¶ã¯ã·ã§ã³ã¯å«ãŸãããæ°ãããã©ã³ã¶ã¯ã·ã§ã³ãè¿œå ãããŠããããšãšãªããŸãã
ãããã¯ã®ããŒã¿ã®äžèº«ãéãã®ã§ã
æ»æè
㯠proof of work ãããçŽãå¿
èŠããããŸãã
ããã«ãæ»æè
ã®æ°ããããã㯠270000 ã§ã¯ãç°ãªãããã·ã¥å€ãçæããã®ã§ã
ããšã®ãããã¯ãã§ãŒã³äžã®ããã㯠270001 ~ 270005 ã¯ããã®ãããã¯ãåç
§ããŸããã
ãã®ããã«ãããšã®ãããã¯ãã§ãŒã³ãšæ»æè
ã®ãã§ãŒã³ã¯å®å
šã«åæãããã®ã§ãã
ãã®ãšãé©çšãããã«ãŒã«ã¯æ¬¡ã®ããã«ãªããŸãã
ãããã¯ãã§ãŒã³ã®åå²æã¯ã
äžçªé·ããããã¯ãã§ãŒã³ã "ä¿¡çš" ãããã®ãšããŠéžæãããŸãã
ãªã®ã§ãæ»æè
ãæ°ãã 270000 ã®ãããã¯ãã§ãŒã³äžã§æ¡æãç¶ããåã§ã
ãã®ã·ã¹ãã ã®æ³ã®çªäººã§ããæ¡æè
éã¯ããšã® 270005 ã®ãããã¯ãã§ãŒã³ãæ¡æãç¶ããããšã«ãªããŸãã
æ»æè
ããèªåã®ãããã¯ãã§ãŒã³ãæé·ã«ããããã«ã¯ã
ãããã¯ãŒã¯äžã®æ®ãã®ãã¹ãŠã®ããŒãã®ç·åãããé«ãèšç®èœåãèªãå¿
èŠãããã
ãããã51%æ»æããšåŒã³ãŸãã
å·Šã : ã åå²ã®æ£åœæ§ã®èšŒæã«ã¯ãå°ãã®ããŒããäžããŠããã ãã§ãã
å³ã : ã ã©ã®éšåã«ãããªãå€åãä»äžããŠããéã®äžæ¹ã§å¿ ãäžäžèŽãçã
Bitcoin ã®éèŠãªã¹ã±ãŒã©ããªãã£ç¹æ§ã¯ããããã¯ã¯å€å±€ããŒã¿æ§é ã§ä¿ç®¡ãããããšããããšã§ãã ãããã¯ã®ãããã·ã¥å€ããšã¯å®ã¯ããããã¯ãããïŒå é éšïŒã®ããã·ã¥å€ ã«éãããããã¯çŽ 200 byte ã®ããŒã¿ã§ããã
- ã¿ã€ã ã¹ã¿ã³ã
- ãã³ã¹
- çŽåã®ãããã¯ã® ããã·ã¥å€
- ããŒã¯ã«æšïŒãããã¯å ã®å šãã©ã³ã¶ã¯ã·ã§ã³ãä¿æããããŒã¿æ§é ïŒã® ã«ãŒãïŒæ ¹ã®å ãšãªãéšåïŒã® ããã·ã¥å€
ãä¿æããŸããããŒã¯ã«æšã¯ããã€ããªæšã®ã²ãšã€ã§ã以äžã®äžã€ããæ§æãããŸãã
- åºç€ããŒã¿ãä¿æããæšæ§é ã®æäžå±€ã®ãèïŒãªãŒãããŒãïŒãã®éå
- äºã€ã® åããŒã ã®ããã·ã¥å€ã§ãããæïŒäžéããŒãïŒãã®éå
- å¯äžã®ãæ ¹ïŒã«ãŒãããŒãïŒãïŒäºã€ã®åããŒãã®ããã·ã¥å€ã§ "é äž" ã«ãããã®ïŒ
ããŒã¯ã«æšã¯ããããã¯äžã®ããŒã¿ããã©ãã©ã«éæ¬ããããã«ã€ããããŸããã ããŒãã¯ãã²ãšã€ã®ãœãŒã¹ïŒãããã¯ãŒã¯äžã®èªèº«ãšã¯å¥ã®ããŒãïŒãããããã¯ãããã ããã å¥ã®ãœãŒã¹ãããå¿ èŠãªãã©ã³ã¶ã¯ã·ã§ã³ã«é¢é£ããå°ããªéšåæšããããŠã³ããŒãããããšãã§ããããã§ããªãå šããŒã¿ã®æŽåæ§ãä¿èšŒã§ããã®ã§ãã ãããããŸãåäœããæ以ã¯ãããã·ã¥å€ãäžã«äŒæããŠãããšãã ã§ããïŒ ããæªæã®ãããŠãŒã¶ãŒãåœç©ã®ãã©ã³ã¶ã¯ã·ã§ã³ãããŒã¯ã«æšã®åºã®ããŒããšåãæ¿ããããšãããšããã®å€åã¯ãã®èŠªã®ããŒããå€åãããç¹°ãè¿ãäŒæããããšã§æçµçã«ã«ãŒãã®å€ãå€åãããŸãã ã€ãŸãããããã¯ã®ããã·ã¥å€ãå€åããããŒã¯ã«æšã®ãããã³ã«ã«ãããçµæãšããŠãå šãå¥ã®ãããã¯ãšããŠèšé²ããããã®ãããã¯ã¯åäžå «ä¹ proof of work ãç¡å¹ãšãªããŸãã
ããŒã¯ã«æšã®ãããã³ã«ã¯ãèšããŸã§ããªãé·æã«ãããã¢ããªã±ãŒã·ã§ã³ã®ç¶æã®ããã«å¿ èŠã§ãã Bitcoin ãããã¯ãŒã¯ã«ããããå®å šããŒãããã«ããŒãããšã¯ããå šãããã¯ã®å šãã©ã³ã¶ã¯ã·ã§ã³ãä¿ç®¡ã»åŠçããããŒããã®ããšã§ã 2014幎4æã®æç¹ã§ 15GB ã®å®¹éããšããã²ãšæãããïŒGB以äžã®éãã§å¢ãç¶ããŠããŸãã çŸåšãããã¯ãã¹ã¯ãããã³ã³ãã¥ãŒã¿äžã§ç®èŠã§ããŸãããæºåž¯é»è©±ã§ã¯ç¢ºèªã§ããŸããã 容éçãªèŠ³ç¹ãããåŸã ã®æªæ¥ãå®å šããŒã ã«åå ã§ããã®ã¯ãããžãã¹ã趣å³ã®ç¯çã«éãããŠããã§ãããã ãSPV ïŒç°¡çŽ ãªæ¯ææ€èšŒïŒããšããŠç¥ããããããã³ã«ã«ããããå®å šããŒãããšã¯å¥ã¿ã€ãã®ããŒããéçºãããŸããã ã軜éããŒããã©ã€ãããŒãããšåŒã°ãããã®ããŒãã¯ããããã¯ããããããŠã³ããŒããããããã¯ããã㧠proof of work ãæ€èšŒãããããŠèªèº«ã«é¢ä¿ã®ãã ãã©ã³ã¶ã¯ã·ã§ã³ã®ãæããã©ã³ããã ããããŠã³ããŒãããŸãã 軜éããŒãã¯ãã»ãã¥ãªãã£ã匷ãä¿ã£ããŸãŸããã©ã³ã¶ã¯ã·ã§ã³å±¥æŽãæ®é«ããç¶æ é·ç§»é¢æ°ã«ãã決å®ããããšãã§ãããšããã®ã«ã å šãããã¯ãã§ãŒã³ã®å°ããªéšåæšãããŠã³ããŒãããã°ããããšãããã®ãªã®ã§ãã
åºç€æè¡ã§ãã blockchain ã®ä»ã³ã³ã»ãããžã®å¿çšã¯ãããããŸããé·ãæŽå²ããããŸãã 2005 幎ãNick Szabo ã "secure property titles with owner authorityïŒèªå·±ã®æš©åšã«ããã»ãã¥ã¢ãªè²¡ç£ã®ç²åŸïŒ" ãšããã³ã³ã»ãããçºè¡šããŸããããã®è«æã¯ãè€è£œããŒã¿ããŒã¹ã®æè¡ã®é²æ©ã«ãããããã«ã㊠blockchain åºèª¿ã®ã·ã¹ãã ããåå°ææã®ç»èš ã®ä¿ç®¡ãå¯èœã«ããã®ããèšè¿°ãã ãéæ homesteadingããäžæ³å æ adverse possesionãããžã§ãŒãžã®åå°èª²çš Georgian land taxããšãã£ãã³ã³ã»ãããå«ãæ çµã¿ããèŠåŽããŠç¯ãäžããŸããã ããããæ®å¿µãªãããåœæå©çšã§ãããå¹æçãªè€è£œããŒã¿ã·ã¹ãã ããªãã£ãããããããã³ã«ãå®éã«å®è£ ãããããšã¯ãããŸãã§ããã ãšã¯èšããã®ã®ã2009 幎㫠Bitcoin ã®åæ£åã³ã³ã»ã³ãµã¹ ãäžåºŠéçºãããŠããã¯ãæ¥éã«ä»£æ¿ã¢ããªãåºçŸãå§ããŸããã
-
Namecoin - 2010幎ã«äœããã Namecoin ã¯ãåæ£åååç»é²ããŒã¿ããŒã¹ããšè¡šçŸãããŸãã Tor ã Bitcoin , BitMessage ã®ãããªåæ£åãããã³ã«ã§ã¯ãåäœèå¥ã« ã¢ã«ãŠã³ã ãå¿ èŠã§ããã®ããä»äººã«ããå¹²æžãå¯èœã§ããã ã©ã®ããã«ããŠãå©çšå¯èœãªèå¥åã¯ã
1LW79wp5ZBqaHW1jL5TCiBCrhQYtHagUWy
ã®ãããªæ¬äŒŒä¹±æ°ãšãªããŸãã ã§ããã° "ãžã§ãŒãž" ã®ãããªååãã€ããããšãã§ããããããªããšèããã§ãããã ããããªãããåé¡ãªã®ã¯ "ãžã§ãŒãž" ãšããååã誰ã§ããåãããã»ã¹ããã©ãããšã§ç»é²ã§ãã"ãžã§ãŒãž"ãšããŠæ¯èããã®ã§ãã å¯äžã®è§£æ±ºç㯠ãfirst-to-file ãã©ãã€ã ããçšããããšã§ãã ããã¯ãæåïŒfirstïŒã®ç»é²è ã¯ç»é²ïŒfileïŒã«æåããäºçªç®ä»¥éã§ã¯å€±æãããšãããã®ã§ãã ãã®åé¡ã¯ Bitcoin ã®å€§è¡ææ決å®ã®ãããã³ã«ã«å®å šã«åèŽãã Namecoin ã¯äžæ©ãã«ãã®èãã䜿ã£ãŠååç»é²ã®ã·ã¹ãã ãå®è£ ããèŠäºã«æåããŸããã -
Colored coins - colored coins ã®ç®çã¯ãBitcoin ã® blockchain äžã«ãèªèº«ã§äœã£ãããžã¿ã«é貚ããã é貚ã®éèŠãªæ§è³ªã§ããå°é¡äœ¿çšã®äŸãšããŠãŠããããæ¡çšãããããžã¿ã«ããŒã¯ã³ãããæ§ç¯ã§ãããããã³ã«ãæäŸããããšã§ãã colored coins ã®ãããã³ã«ã§ã¯ã ç¹å®ã® Bitcoin UTXO ã«ãè²ããèšå®ããããšã§ã æ°ããé貚ã "çºè¡" ããŸãã ãããã³ã«ã¯ãcolered coins ãçæãããã©ã³ã¶ã¯ã·ã§ã³ã®å ¥åå€ã«ãè²ããä»ããŠããã°ãä»ã® UTXO ãåããè²ãã§ãããã®ãšååž°çã«å®çŸ©ããŸãã ïŒæ§ã ãªãè²ãã®å ¥åãæ··ãã£ãå Žåã¯ãç¹å¥ãªã«ãŒã«ãé©çšãããŸããïŒ ãã®ããšã§ããŠãŒã¶ãŒã¯ç¹å¥ãªè²ã® UTXO ã ããä¿æãã財åžãç¶æãã ã»ãšãã© Bitcoin ãšåãããã«åšå²ã«å¯Ÿãééããããšãå¯èœã§ã åãåã£ã UTXO ã®è²ãç¹å®ããã«ã¯ blockchain ãé¡ããŸãã
-
Metacoins - metacoins ã®èæ¯ãšãªãææ³ã¯ã Bitcoin ãåå°ãšããŠããã®äžã§åäœãããããã³ã«ããã€ãã§ããã metacoins ã®ãã©ã³ã¶ã¯ã·ã§ã³ã®ä¿ç®¡ã«ãBitcoin ã®ãã©ã³ã¶ã¯ã·ã§ã³ã䜿çšããŸãããBitcoin ãšã¯å¥ã® ç¶æ é·ç§»é¢æ°
APPLY'
ãä¿æããŸãã metacoins ã®ãããã³ã«ã¯ãç¡å¹ãª metacoins ãã©ã³ã¶ã¯ã·ã§ã³ã Bitcoin blockchain äžã«ã§ãŠããããšãé²æ¢ããããã«ã èŠåã ifAPPLY'(S,TX)
returns an error, the protocol defaults to `APPLY'(S,TX) = S ããå ããŸãã metacoins ã¯ãä»»æã®ç¬èªæå·é貚ãã€ããããã® ç°¡åãªã¡ã«ããºã ãæäŸããŠããã Bitcoin èªäœã®ã·ã¹ãã å éšã«ãããŠã¯è¡šé¢åããããšã®ãªã å é²çãªç¬èªæ©èœ ãæãããããšãã§ããŸãã æ¡æãšãããã¯ãŒã¯ã®ã·ã¹ãã ãšãã£ãè€éãªéšåããã§ã« Bitcoin ãããã³ã«ã«ãã£ãŠåŠçãããŠããã®ã§ã éçºã³ã¹ãã¯ãšãŠãäœãæžã¿ãŸãã metacoins ã¯ããã€ãã®éèå¥çŽãååç»é²ãåæ£åäž¡æ¿æãå®è£ ããã®ã«äœ¿ãããŠããŸãã
äžè¬çã«èšã£ãŠã倧è¡ææ決å®ãããã³ã«ãæ§ç¯ããæ¹æ³ã¯äºçš®é¡ãããŸãã ãç¬èªã®ãããã¯ãŒã¯ãã€ããæ¹æ³ããšãBitcoin ãåå°ãšããæ¹æ³ãã§ãã åè ã®æ¹æ³ã¯ãnamecoin ã§ã¯é©åºŠãªæåãåãããã®ã®ãå®è£ ããã®ã倧å€ã§ãã ãšèšããŸãã®ã¯ãç¬èªã®å®è£ ã¯ããããã«ãããŠãç¬èªã®ãããã¯ãã§ãŒã³ãã€ããå¿ èŠãããã åæ§ã«ãããã«å¿ èŠãªç¶æ é·ç§»ãšãããã¯ãŒã¯ãæ§æããã³ãŒãã®ãããããã«ãã»ã¢ã³ãã»ãã¹ããå¿ èŠãšãªããŸãã ããã«ãããããŠã§ããåæ£å倧è¡æ±ºå®ã®ã¢ããªã±ãŒã·ã§ã³ã®æ°ã ã®éåã¯ã æ¡æïŒpowerïŒãšæ€èšŒïŒlawïŒã®åæ£ãæããä»®ã«ã¢ããªã±ãŒã·ã§ã³ã®äžã§ã¯å€æ°æŽŸã§ãã£ããšããŠãã èŠæš¡ãå°ããããŠèªåã®ãããã¯ãã§ãŒã³ãå ¬æ£ãªãã®ãšããããšãã§ããªãããšãã£ãäºæ ãæããŸãã ãããŠæ¬¡ã®ããšãèªèããã«è³ããŸããã 倧ããªçš®é¡ã®åæ£åã¢ããªããã£ããšããŠããšãããåæ£åèªåçµç¹ã§ã¯ã ãããã¯ãäºãã«æãåãåããªããã°ãªããŸããã
äžæ¹ã§ããBitcoin ãåå°ãšããæ¹æ³ãã§ã¯ãBitcoin ã® SPV ç¹æ§ ãç¶æ¿ããªããšããæ¬ é¥ããããŸãã SPV 㯠Bitcoin ã§ã¯åäœããŸããããã㯠blockchain ã«ããããããã¯ã®ãæ·±ããã ãã®æ£åœæ§ ã代åŒããããã§ãã äžåºŠããã©ã³ã¶ã¯ã·ã§ã³ã®ç¥å ãæ·±ããšãããžè¡ã£ãŠããŸãã°ã ãã®ãã©ã³ã¶ã¯ã·ã§ã³ã¯ãçŸåšã®ãç¶æ ããæ§æããæ£åœãªç¶æ é·ç§»é¢æ°ã§ãããšãå®å¿ããŠèšãããšãã§ããŸãã äžæ¹ãmeta ãããã³ã« ã§ã¯ããã®ã³ã³ãã¯ã¹ãå ã§ãã©ã³ã¶ã¯ã·ã§ã³ãç¡å¹ã§ãã£ãŠãã Bitcoin ã® blockchain ã«ãããŠããããçµã¿èŸŒãŸããããšãé»æ¢ããæ¹æ³ã¯ãããŸããã ïŒBitcoin ã®ã³ã³ãã¯ã¹ã ãš Meta ãããã³ã« ã®ã³ã³ãã¯ã¹ãã¯ç°ãªããŸããïŒ ãã®ããã«ããããå®å šã«ã»ãã¥ã¢ãª SPV meta ãããã³ã«ã®å®è£ ãååšãããªãã°ã ãããã©ã³ã¶ã¯ã·ã§ã³ãæå¹ãã©ãããå€å®ããããã«ã Bitcoin ã® blockchain ã®äžçªæåãŸã§å šéçšãé¡ã£ãŠã¹ãã£ã³ããå¿ èŠãããã§ããããçŸåšãmeta ãããã³ã« ã®è»œéå®è£ ã¯ãããŒã¿ãæäŸããä¿¡çšæ©é¢ãšããŠã®ãµãŒããŒã«äŸåããŠããã èšããŸã§ããªãããšãããæå·é貚ã®åœåã®ç®çã®äžã€ããä¿¡çšæ©é¢ã®å¿ èŠæ§ã®æ¶å»ãã§ãããããªç¶æ³äžã§ã¯ãæè¯ã®çµæã§ãããšã¯å°åºèšããŸããã
ããšããŸã£ããæ¡åŒµããããšããå®ã¯ãBitcoin ãããã³ã«ã¯ã smart contracts ãã³ã³ã»ããã® æ©èœçã«åŒ±ãããŒãžã§ã³ ãç°¡åã«å®è£ ãããã®ãªã®ã§ãã Bitcoin ã® UTXO ã¯ããå ¬ééµãã«ä¿æãããã ãã§ãªãã ç°¡çŽ ãªã¹ã¿ãã¯ã»ããŒã¹ã»ããã°ã©ãã³ã°èšèªã§è¡šçŸãããå°ãè€éãªãã¹ã¯ãªãããããä¿æããããšãã§ããŸãã ãã®ãã©ãã€ã ã®äžã§ã ãã©ã³ã¶ã¯ã·ã§ã³ãã ã¹ã¯ãªããä¿æã® UTXO ã å ¥åå€ ãšããã°ã ã¹ã¯ãªããã®èšè¿°å 容ãæºããããŒã¿ã åºåå€ ãšãªãããã«ã ãã©ã³ã¶ã¯ã·ã§ã³ã®èšè¿°ããããªããã°ãªããŸããã ããã«ã¯ã åºæ¬çãª å ¬ééµä¿æã¡ã«ããºã ïŒãã®å ¬ééµã䜿çšãããã©ã³ã¶ã¯ã·ã§ã³ããããã¯å ã«ãããã©ãããæ€èšŒããã¡ã«ããºã ïŒ ã§ãããã¹ã¯ãªãããéããŠå®è£ ãããŠããŸãã ãã®ã¹ã¯ãªããã¯ã ãããã¯çæã®èšŒã§ãã æ¥åæ²ç·çœ²å ãå ¥åå€ãšããŠåãåãã ãã©ã³ã¶ã¯ã·ã§ã³ãšãã® UTXO ãææããã¢ãã¬ã¹ïŒå ¬ééµïŒã«å¯ŸããŠãã®çœ²åãæ€èšŒãã æ€èšŒãæåããã° 1 ãè¿ããããã§ãªããã° 0 ãè¿ããŸãã ä»ã«ããããè€éãªã¹ã¯ãªãããæ§ã ãªäœ¿çšå Žé¢ã®ããã«ååšããŸãã äŸãã°ã ãã©ã³ã¶ã¯ã·ã§ã³æ€èšŒã®éãäžããããäžã€ã®éµã®çµã®ãã¡äºã€ã®çœ²åãå¿ èŠãšãã ã¹ã¯ãªããïŒãã«ãã·ã° multisigïŒãã äŒæ¥ã¢ã«ãŠã³ãããã»ãã¥ãªãã£ã®é«ãå£åº§ã¢ã«ãŠã³ããå売ã«ããããšã¹ã¯ããŒãå¿ èŠãªç¶æ³ã«åœ¹ç«ã€ åæèšå® ãæ§ç¯ããããšãã§ããŸãã ã¹ã¯ãªããã¯ãèšç®åé¡ã®çãã«å¯Ÿããæžè³éã®æ¯æãã«ãããŠã䜿çšããã ãããããªãããã®é¡ã® Dogecoin ã®ãã©ã³ã¶ã¯ã·ã§ã³ãéä¿¡ãããšãã SPV proof ãæäŸã§ãããªãã°ããã® Bitcoin ã¯ããªãã®ãã®ã ããšãã£ããããªããšãèšè¿°ããã¹ã¯ãªããã§ããæ§ç¯å¯èœã§ãã ãããŠåºæ¬çã«ã¯ãåæ£åã®ã¯ãã¹æå·é貚ã®ååŒãå¯èœã§ãã
ããããªãããBitcoin ã«å®è£ ããããããªã¹ã¯ãªããèšèªã«ã¯ããã€ãã®éèŠãªå¶éããããŸããïŒ
-
ãã¥ãŒãªã³ã°å®å šæ§ã®æ¬ åŠ - ã€ãŸããšãããBitcoin ã¹ã¯ãªããèšèª ã¯èšç®çè«ã®å€§éšåããµããŒãããŠããŸãããã»ãŒå šãŠãšããèš³ã§ã¯ãããŸããã ãµããŒãããŠããªã代衚çãªãã®ãšã㊠ã«ãŒã ãæããããŸãã ããã¯ããã©ã³ã¶ã¯ã·ã§ã³ã®æ€èšŒäžã«ç¡éã«ãŒãã«é¥ãäºãé¿ããããã«é€å€ãããŸããã çè«çã«ã¯ãããã°ã©ãã«ãšã£ãŠã¯ããã¯ç°¡åã«å æã§ããé害ã§ãifæãšäžç·ã«åºæ¬ã³ãŒããç¹°ãè¿ãã°ãããããã«ãŒããæš¡å£ã§ããŸããã ã¹ã¯ãªãããèšé²ããïŒãããã¯ãã§ãŒã³äžã®ïŒã¹ããŒã¹ã極ããŠéå¹çã«äœ¿çšããããšã«ãªããŸãã ããšãã°ãæ¥åæ²ç·çœ²åã®ä»£æ¿ã¢ã«ãŽãªãºã ãã¹ã¯ãªããäžã«å®è£ ãããªãã°ã å šãåãã§ããæãç®ã®åœä»€ã»ããã256ååå¥ã«èšè¿°ãããŠããŸããŸãã
-
å€ãå®ãŸããªãåé¡ - UTXO ãä¿æãã ã¹ã¯ãªããããååŒéããã现ããã«ç®¡çããæ¹æ³ã¯ãããŸããã ããšãã°ã ããããç¥ã®ã¿ãç¥ããããªå 容ã®å¥çŽã®å€§ããªååŒã ã£ãšããããããã¯äŸ¡æ Œæäœçã®çããããããžã³ã°å¥çŽãšãªã£ãŠããŸãã§ãããã ããã¯æ¬¡ã®ãããªç¶æ³ã§ãã AãšBããããã $1000 çžåœã®BTC ãã¹ã¯ãªããã«æåºããã¹ã¯ãªããã30æ¥åŸã«$1000çžåœã®BTCãAã«æ®ããBã«éããã®ãšããŸãã 30æ¥åŸã® 1 BTC ã® USãã«äŸ¡æ Œ ã決å®ããã®ã«ã¯ç¥èšãå¿ èŠãšãªããããããããã¯ãçŸåšå©çšå¯èœãªå®å šãªäžå€®éçŽåã®æ¹æ³ã§ãããä¿¡çšãšã€ã³ãã©ã®èŠ³ç¹ã§å€§ããªæ¹è¯ãå¿ èŠãšãªããŸãã ããããªããã UTXO ã¯äœ¿ãã䜿ããªããã®ïŒæãªã®ã§ã ç¥èšãæ瀺ããããã¹ãŠã®äŸ¡æ Œã UTXO ã§è¡šãã«ã¯ã2é²æ°èšç®ãããªãããã®ãã極ããŠéå¹ç㪠UTXO ã®"ãããã³ã°"ãå¿ èŠã§ãæ§ã ãªæ®é«ã® UTXO ãçšæããå¿ èŠããããŸãã ããšãã°ã2k ã®å€ãã〠UTXO ã k = 0 ,..., 30 ãŸã§ 31å ã€ããã°è¯ãã§ãããã
-
ç¶æ ã®æ¬ åŠ - UTXO ã¯äœ¿ããã䜿ãããªããã®ã©ã¡ãããå¿ ã決å®ããŠãããªããã°ãªããŸããã ãã®ãããå éšã«ãç¶æ ããä¿æããå€å±€åœ¢åŒã®å¥çŽãã¹ã¯ãªãããèšè¿°ããããšãã§ããŸããã ãã®ããšã«ãããå€åå²éžæå¯èœãªå¥çŽããåæ£åååŒã®ãªãã¡ãŒãïŒæ®µéã®æå·çè«ã«ãã決å®ãããã³ã«ïŒã»ãã¥ãªãã£ã®é«ãèšç®åé¡ã®è³éãäžããå Žåã«å¿ èŠã§ãïŒãã€ããã®ã¯ãšãŠãå°é£ãšãªã£ãŠããŸããŸãã ããã«ã UTXO ã¯åçŽãªäžåºŠããã®å¥çŽãã€ããããšã«ãã䜿çšã§ãããåæ£åçµç¹ã®ãããªãããè€éãªãç¶æ ããä¿æããå¥çŽãèšè¿°ã§ããã meta ãããã³ã«ã®å®è£ ãå°é£ãªãã®ãšããŸãã ãŸããå€ã®å®ãŸããªã2é²æ°ç¶æ ã§ã¯ããåŒãåºãå¶éããäžå¯èœãšãªããŸããããã¯éèŠãªã¢ããªã±ãŒã·ã§ã³ã§ããã倧ããªåŒå®³ã§ãããšèšããã§ãããã
-
Blockchain ãèŠããªãåé¡ - UTXO ã¯ããã³ã¹ãã¿ã€ã ã¹ã¿ã³ããçŽåã®ãããã¯ã®ããã·ã¥ãšãã£ã blockchain ã®ããŒã¿ã«å¯ŸããŠç²ç®ã§ãã ãã®ããšã«ãããã¹ã¯ãªããèšèªããã©ã³ãã æ§ã®èŠ³ç¹ã§æœåšç䟡å€ã®ãããœãŒã¹ãåç §ããã®ãé²ãã§ããŸãã ã®ã£ã³ãã«ã»ã¢ããªã±ãŒã·ã§ã³ãä»ã®ã«ããŽãªã®ããã€ãããå³ããå¶éããŠããŸãããšã«ãªããŸãã
ãã®ããã«ã
æå·é貚ã®äžã«é²ååã®ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããæ¹æ³ãïŒã€èŠãŠããŸããã
ã²ãšã€ãã¯ãæ°ãã blockchain ã Bitcoin ãåå°ãšããäžã«ã€ãããã¹ã¯ãªããèšèªã䜿çšããmeta ãããã³ã«ãå®è£
ããæ¹æ³ã§ãã
ãµãã€ãã¯ãæ°ãã blockchain ãã€ããæ¹æ³ã§ããã®æ§è³ªã決å®ããã®ã«ç¡éã®èªç±ãåŸãããŸããã
éçºæéã«é¢ããã³ã¹ãåé¡ãã¹ã¿ãŒãã¢ããã«é¢ããåé¡ãšã»ãã¥ãªãã£ãŒé¢ã®åé¡ãåæ§ã«åŸãããŸãã
ã¿ã£ã€ãã¯ãBitcoin ã®ã¹ã¯ãªããèšèªã䜿çšããæ¹æ³ã§ãéçºãäžè¬åã¯ç°¡åã§ããã
å¯èœæ§ãéãããŠããããšãmeta ãããã³ã«ã®å®è£
ã¯ç°¡åã§ãããã¹ã±ãŒã©ããªãã£ã®æ¬ ç¹ã«æ©ãããšã«ãªããŸãã
Ethereum ã§ã¯ã ããããã¯ã代æ¿ãšãªãéªšæ Œãç¯ãäžãã ç°¡åãªéçºã§ãã£ãŠãã倧ããªææç©ãåŸããã ã¹ããã©ã®ãããªã©ã€ãã»ã¯ã©ã€ã¢ã³ãã®ãã€è²¡ç£ã«å¯ŸããŠã匷åºãªãã®ãæäŸãã åæã«ãã¢ããªã±ãŒã·ã§ã³ã çµæžç°å¢ ãš blockchain ã»ãã¥ãªã㣠ãšãå ±æã§ãããã®ãæäŸããããšãæå³ããŠããŸãã
Ethereum ã®ç®çã¯ãåæ£åã¢ããªã±ãŒã·ã§ã³ã®ããã®ä»£æ¿ãããã³ã«ãåµé ãã 倧èŠæš¡ãªåæ£åã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠããããããéåžžã«åœ¹ç«ã€ã ãããšä¿¡ãããšããã®ãæ°ã ã®ä¿®æ£ãå ãæäŸããããšã§ãããŸãã ããã«ãããŠãã¢ããªã®é«ééçºã«ãããæéãå°èŠæš¡ãã€æ» å€ã«äœ¿ãããªãã¢ããªã«å¯Ÿããã»ãã¥ãªãã£ãä»ã¢ããªéã®å¹çã®ããçžäºäœçšãå¯èœãšããããšããéèŠèŠãããŸãã Ethereum ã¯ãåºæ¬çã«ç©¶æ¥µã®æœè±¡åºç€å±€ãšãªããã®ã®æ§ç¯ã«ããã以äžã®ç®çãæãããŸãã 究極ã®æœè±¡åºç€å±€ãšã¯ãåã蟌ã¿åãã¥ãŒãªã³ã°å®å šãªããã°ã©ã èšèªã䌎ã blockchain ã§ããã ããã«ãããææã»ãã©ã³ã¶ã¯ã·ã§ã³ã®åœ¢åŒã»ç¶æ é·ç§»é¢æ°ã«é¢ãããä»»æã®ç¬èªèŠåãåµé ããããšã®ã§ããæ©èœãåãã smart contracts ãš åæ£åã¢ã㪠ãã ãã§ãèšè¿°ããããšãã§ããŸãã Namecoin ã®éªšæ Œã ããæãåºããå®è£ ã¯ãäºè¡ã®ã³ãŒãã§èšè¿°ã§ããŸãã é貚ãè©å€ã管çããã·ã¹ãã ã¯ïŒïŒè¡ä»¥äžã§æ§ç¯å¯èœã§ãã ã Smart contracts ããšåŒã°ããæå·çè«ã§å®è£ ããããç®±ãã¯ãå€ãä¿æããããæ¡ä»¶ãæŽã£ãæã«ã ãã解é ã§ããŸãã ãã®ãsmart contracts 㯠Ethereum ãã©ãããã©ãŒã äžã«æ§ç¯å¯èœã§ããã ãã¥ãŒãªã³ã°å®å šæ§ãå€ãå®ãŸãä»æ§ãç¶æ ã®ä¿æããã³ blockchain ãžã®åç §ãå¯èœãšãªããšããããã Bitcoin ã¹ã¯ãªããã«ã¯ãªããåºå€§ãã€ãã匷åãªãã©ãããã©ãŒã ãšãªããŸãã
Ethereum ã§ã¯ããç¶æ ãã¯ããã¢ã«ãŠã³ãããšåŒã°ãããªããžã§ã¯ãããäœãäžããããåãã¢ã«ãŠã³ããã¯ã20 byte ã® ã¢ãã¬ã¹ ãšãã¢ã«ãŠã³ãéã«ãããå€ãæ å ±ã®çŽæ¥çãããšãã§ãã ç¶æ é·ç§» ãä¿æããŸããEthereum ã¢ã«ãŠã³ãã¯ïŒã€ã®ãã£ãŒã«ããå«ã¿ãŸãã
- nonce ãåãã©ã³ã¶ã¯ã·ã§ã³ã®åŠçãäžåºŠããã§ããããšã確çŽããããã®ã«ãŠã³ã¿ãŒ
- ã¢ã«ãŠã³ãã®çŸåšã® ether balance
- ã¢ã«ãŠã³ãã® contract code ïŒããååšããã°ïŒ
- ã¢ã«ãŠã³ãã® storage ïŒããã©ã«ãã¯ç©ºïŒ
Ether ã¯ãEthereum ã«ãããäž»èŠãªå éšæå·çæã§ããããã©ã³ã¶ã¯ã·ã§ã³ææ°æãæ¯æãããã«äœ¿çšãããŸãã äžè¬çã«ãã¢ã«ãŠã³ãã«ã¯äºã€ã®çš®é¡ããããŸãã ç§å¯éµã«ãã管çããã EOA (externally owned accounts) ãšèªèº«ã®ã³ã³ãã©ã¯ãã³ãŒãã«ãã管çããã contract (contract account) ã§ãã EOA ã¯ã³ãŒããæãããEOA ãããã©ã³ã¶ã¯ã·ã§ã³ãçæã眲åããããšã«ãã£ãŠ ã¡ãã»ãŒãž ãéãããšãã§ããŸããcontract ã§ã¯ãã¡ãã»ãŒãžãåä¿¡ããæã¯ãã€ãä¿æã³ãŒããã¢ã¯ãã£ããŒãããå éšã¹ãã¬ãŒãžãèªã¿æžãå¯èœã«ããã¡ãã»ãŒãžãéä¿¡ãããããã¯æ°ããã³ã³ãã©ã¯ããäœãããšãã£ãå 容ã®ããšãé çªã«å®è¡ãããŸãã
Ethereum ã«ããã contract ã¯å±¥è¡ãããã¹ããããã¯äžç·ã«ã³ã³ãã€ã«ãããã¹ããã®ãšãããããã¯ãããã Ethereum å®è¡ç°å¢ãè·å ŽãšãããèªåéèãšãŒãžã§ã³ãããšãã£ããã®ã«äŒŒãŠãããã¡ãã»ãŒãžããã©ã³ã¶ã¯ã·ã§ã³ã«ãã£ãŠèµ·åããããšãã«ã¯ããã€ãããç¹å®ã®ã³ãŒããå®è¡ããèªèº«ã® ether æ®é«ãšããªãã©ã䜿ãå€æ°ãææ¡ããã®ã«å¿ èŠãª key/value ã¹ãã¬ãŒãž ãçŽæ¥ç®¡çããæš©éãæã£ãŠããããšããããšã«æ³šæããŠãã ããã
Ethereum ã«ãããŠãããã©ã³ã¶ã¯ã·ã§ã³ãã¯ã EOA ããéãããã¡ãã»ãŒãžã貯èµãã 眲åä»ããŒã¿ããã±ãŒãž ãåç §ããããã«äœ¿çšãããŸãã ãã©ã³ã¶ã¯ã·ã§ã³ã¯ã以äžãå«ã¿ãŸãã
- ã¡ãã»ãŒãžã®åé 人
- éä¿¡è ãç¹å®ãã眲å
- éä¿¡è ããåé 人ãžéããã ether ã®é
- ãªãã·ã§ãã«ããŒã¿ãã£ãŒã«ãïŒçœ²åä»ãããŒã¿ããã±ãŒãžïŒ
STARTGAS
å€ïŒãã©ã³ã¶ã¯ã·ã§ã³ã®å®è¡ã«ããã èšç®ã®ã¹ãããæ° ã®æ倧å€GASPRICE
å€ïŒéä¿¡è ãæ¯æããïŒèšç®ã¹ããããããã®ææ°æ
æåã®ïŒã€ã¯ãã©ããªæå·é貚ã«ãããæšæºçãªããã©ã³ã¶ã¯ã·ã§ã³ã®ããã£ãŒã«ããã§ãã ïŒã€ç®ã®ããŒã¿ãã£ãŒã«ãã¯ãããã©ã«ãã§ã¯é¢æ°ãæã¡ãŸããã ããããEthereum ä»®æ³ãã·ã³ã¯ãcontract ã䜿çšãã opcode ãä¿æããå¿ èŠãããããã®éãã®ããŒã¿ãã£ãŒã«ãã䜿çšãããŸãã opcodeãšã¯ãã contract ãããŒã¿ã«ã¢ã¯ã»ã¹ããã®ã«äœ¿çšãã opcodeïŒãªãã¬ãŒã·ã§ã³ã³ãŒãïŒãã§ãã ãããcontract ã blockchain äžã®ãã¡ã€ã³ç»é²ãµãŒãã¹ãšããŠæ©èœããŠãããªãã°ã contract ã¯æããããããŒã¿ããµãã€ã®ããã£ãŒã«ãããä¿æãããã®ãšããŠè§£éããããããšã§ãããŸãããã ã²ãšã€ãã®ãã£ãŒã«ãã¯ãç»é²ãããã¡ã€ã³ã§ããµãã€ãã®ãã£ãŒã«ãã¯IPã¢ãã¬ã¹ã§ãã ã³ã³ãã©ã¯ãã¯ã opcode ã«ãã£ãŠãã¡ãã»ãŒãžã«å«ãŸãããããã®å€ãèªã¿èŸŒãããšã§ãé©åã«ã¹ãã¬ãŒãžã®äžã«é 眮ããããšãå¯èœãšãªãããã§ãã
STARTGAS
ãš GASPRICE
ã®ãã£ãŒã«ã㯠Ethereum ãµãŒãã¹ ã«å¯Ÿããã¢ãã«æåŠéåãå°ã蟌ããçãããããŸãã
å¶çºçãããã¯æ
æã«ããç¡éã«ãŒããä»ã®èšç®çè«çã«ç¡é§ãªã³ãŒãã®æ¶è²»ãé¿ããããã«ã
åãã©ã³ã¶ã¯ã·ã§ã³ã«ã¯ããããå®è¡ããã³ãŒãã®èšç®ã¹ãããæ°ã®äžéãèšããå¿
èŠããããŸãã
èšç®ã®åºæ¬ãŠãããã¯ã gas ããšåŒã³ãŸãã
ãããŠããïŒèšç®ã¹ããã㯠1 gas ãæ¶è²»ããŸãã
ãããã幟ã€ãã®åœä»€ã§ã¯ãèšç®éçã«èŠãŠããé«äŸ¡ã§ããããã
å°ãããã㪠gas ã®éãå¿
èŠãšãããŸãã
ãŸããç¶æ
ã®äžéšãšããŠä¿æããªããã°ãªããªãããŒã¿éãå¢ãããããŸãã
ãã©ã³ã¶ã¯ã·ã§ã³ã«ããŒã¿ãåã蟌ãéã«ã¯ã1 byte æ¯ã« 5 gas ã®ãææ°æããããããŸãã
ãææ°æãã·ã¹ãã ã®æå³ãããšããã¯ãæ»æè
ã«å¯Ÿããèšç®è³æºã垯åãã¹ãã¬ãŒãžãå«ããã
圌ããæ¶è²»ããå
šãªãœãŒã¹ã®éã«æ¯äŸããæ¯æãã匷èŠããããã§ãã
ãã®ããã«ããŠããããã¯ãŒã¯ãæ¶è²»ããã©ããªãªãœãŒã¹ã«ããããã倧éæ¶è²»ãšã€ãªãããããªç¶æ³ãçã¿åºãã
ãã¹ãŠã®ãã©ã³ã¶ã¯ã·ã§ã³ã«å¯ŸããŠãæ¶è²»éã®å¢å ã«æ¯äŸãã gas ã®æ¯æãã匷èŠããããšãšãªããŸãã
contract ã¯ä»ã® contract ã«å¯ŸããŠãã¡ãã»ãŒãžããéä¿¡ããããšãå¯èœã§ãã ãã¡ãã»ãŒãžãã¯ãããã¯ãŒã¯ã«å¯ŸããŠé ä¿¡ãããããšããªãã Ethereum å®è¡ç°å¢å ã§ã®ã¿ååšããŸããã¡ãã»ãŒãžã¯ä»¥äžãå«ã¿ãŸãã
- ã¡ãã»ãŒãžã®éä¿¡è (implicit)
- ã¡ãã»ãŒãžã®åä¿¡è
- ã¡ãã»ãŒãžãšäžç·ã«éä¿¡ãããetherã®é
- ãªãã·ã§ãã«ããŒã¿ãã£ãŒã«ã
STARTGAS
å€
åºæ¬çã«ã¯ãã¡ãã»ãŒãžãã¯ãã©ã³ã¶ã¯ã·ã§ã³ã®ãããªãã®ã§ããã
contract ã«ããçæãããå€éšã§ã®åäœã¯ããªãããšããç¹ã§ç°ãªããŸãã
ã¡ãã»ãŒãžã¯ contract ã CALL
opcode ãå®è¡ããŠããæã«çæããã
ãã® opcode ã¯ãã¡ãã»ãŒãžããçæããå®è¡ããŸãã
ãã©ã³ã¶ã¯ã·ã§ã³ã®ããã«ã
ã¡ãã»ãŒãžã¯ãããã«èšè¿°ãããã³ãŒããå®è¡ãã åä¿¡è
ã®ã¢ã«ãŠã³ã ãžãšå°ãããŸãã
ãã®ããã«ããŠãcontract ã¯EOAã®ããæ¹ãšå
šãåãæ¹æ³ã§ãä»ã® contract ãšé¢ä¿æ§ããã€ããšãã§ããŸãã
ãã ãã以äžã®ããšã«æ³šæããŠãã ããã ãã©ã³ã¶ã¯ã·ã§ã³ãã³ã³ãã©ã¯ãã«ãã£ãŠçœ²åããã gas ã®èš±å®¹å€ã¯ããã®ãã©ã³ã¶ã¯ã·ã§ã³ãšãã©ã³ã¶ã¯ã·ã§ã³é äžã®å®è¡ã¹ãããã«ãããŠæ¶è²»ããã gas ã®ç·éã«é©çšãããŸãã ããšãã°ããããå€éšç®¡çè ã§ãã A ã B ã«å¯Ÿãã1000 gas ãšäžç·ã«ãã©ã³ã¶ã¯ã·ã§ã³ãéä¿¡ããB ã¯ãC ã«ã¡ãã»ãŒãžãéä¿¡ããåã« 600 gas ãæ¶è²»ããC ã®å éšå®è¡ãšããŠæ»ãå€ãè¿ããŸã§ã« 300 gas ãæ¶è²»ããããšãããšã B ã¯ããã¬ã¹æ¬ ããšãªããªãããã«ã¯ããã 100 gas ã䜿çšããããšãå¯èœã§ããïŒ ã¬ã¹æ¬ ãšãªã£ãŠããŸããšãšã©ãŒãè¿ãããã©ã³ã¶ã¯ã·ã§ã³ã¯å®è¡ãããŸãããïŒ
Ethereum ã® ç¶æ
é·ç§»é¢æ°, APPLY(S,TX) -> S'
ã¯æ¬¡ã®ããã«å®çŸ©ã§ããŸã:
- ãã©ã³ã³ã¶ã¯ã·ã§ã³ã ã well-formed ãã§ãããïŒäŸãã°ãå€ãæ£ããæ°å€ã§ãããïŒãã§ãã¯ãã 眲åãæå¹ã§ããã°ããã³ã¹ãéä¿¡è ã®ã¢ã«ãŠã³ãã®ãã®ãšåèŽããããã§ãã¯ããŸãããããããã§ãªããã°ããšã©ãŒãè¿ããŸãã
- ãã©ã³ã¶ã¯ã·ã§ã³ã®ææ°æã
STARTGAS * GASPRICE
ãšããŠèšç®ãã眲åããéä¿¡ã¢ãã¬ã¹ã決å®ããŸãã éä¿¡è ã®ã¢ã«ãŠã³ãã®æ®é«ããææ°æãå·®ãåŒããéä¿¡è ã®ãã³ã¹ã次ã®å€ãžãšã€ã³ã¯ãªã¡ã³ãããŸãã ãããæ®é«äžè¶³ã§ããã°ããšã©ãŒãè¿ããŸãã GAS = STARTGAS
ãšããŠãGAS
å€ãåæåãããã©ã³ã¶ã¯ã·ã§ã³ã«ããã byteããŒã¿é ã®ã¶ãã ã byte ãããäžå®éã® gas ãæ¯æããŸãã- éä¿¡è ã®ã¢ã«ãŠã³ãããåä¿¡è ã®ã¢ã«ãŠã³ãã«ãã©ã³ã¶ã¯ã·ã§ã³ã®å€ã転éããŸãããããåä¿¡è ã®ã¢ã«ãŠã³ããååšããªããã®ã§ãã£ããªãã°ããããããã€ãããŸãããããåä¿¡è ã®ã¢ã«ãŠã³ãã contract ã§ããã°ããã¹ãŠã®å®è¡ãå®äºããããããã㯠ã¬ã¹æ¬ ã«ãªããŸã§ contract ã®ã³ãŒããå®è¡ããŸãã
- ãããéä¿¡è ãååãªãéãæã£ãŠããªãã£ããã ã¬ã¹æ¬ ã®ããã«ãå€ã®è»¢éã倱æããå Žåã«ã¯ãææ°æã®æ¯æããé€ããŠãå šç¶æ ãå ã«æ»ããææ°æã¯ãã€ããŒã®ã¢ã«ãŠã³ãã«å ããŸãã
- ããã§ãªããã°ãäœã£ãå šãŠã® gas ãå šãŠéä¿¡è ã«è¿ããæ¶è²»ãã gas ã¯æ¡æè ã«æ¯æãããææ°æãšããŠéä¿¡ããŸãã
ããšãã°ãcontract ã³ãŒã ã以äžã§ãããããªå ŽåãèããŸãããã
if !self.storage[calldataload(0)]:
self.storage[calldataload(0)] = calldataload(32)
å®éã¯ãcontract ã³ãŒãã¯äœçŽEVMèšèªïŒã¢ã»ã³ãã©ïŒã§ããããšã«æ³šæããŠãã ããã ãã®ã³ãŒã㯠Ethereum ã«ãããé«çŽèšèªã§ããã²ãšã€ã§ãã Serpent èšèªã§æžãããŠãããã³ãŒãã確çŽãããã®ã«ããããã«ã äœçŽEVMã³ãŒããžã³ã³ãã€ã«ããããšãå¯èœã§ãã ããã«æ¬¡ã«èšãç¶æ³ãæ³å®ããŸãããã ãã® contract ã®ã¹ãã¬ãŒãžã¯ç©ºã®ç¶æ ããå§ãŸãã
- 10 ether ã®å€ãšã
- 0.001 ether / gas ã® gasprice 㧠2000 gas ããããŠ
- 64ãã€ãã®ããŒã¿ïŒ0-31ãã€ããæ°å
2
ãè¡šãã32~63ãã€ãçªå°ãCHARLIE
ãšãã string ãè¡šããŠãããã®ãšããŸããïŒ
ã®ïŒã€ãããã©ã³ã¶ã¯ã·ã§ã³ãšãšãã«éä¿¡ããããã®ãšããŸãã ãã®å Žåãç¶æ é·ç§»é¢æ°ã®ããã»ã¹ã¯ä»¥äžã®ããã«ãªããŸãã
- ãã©ã³ã¶ã¯ã·ã§ã³ãæå¹ã〠well-formed ã§ããã確èªããã
- ãã©ã³ã¶ã¯ã·ã§ã³éä¿¡è ããæäœé 2000 * 0.001 = 2 ether ãææããŠããã確èªããã ãããææããŠããã°ã2 ether ãéä¿¡è ã®ã¢ã«ãŠã³ãããå·®ãåŒãã
- gas ã®éã gas = 2000; ãšããŠåæåããŸãããã©ã³ã¶ã¯ã·ã§ã³ã®ãã€ãé·ã 170 byte ã§ãããšãããšãbyte ãããã®ææ°æã 5 ã§ãã£ãããšããã850 ãå·®ãåŒãããšãªãã1150 gas ãæ®ããŸãã
- éä¿¡è ã®ã¢ã«ãŠã³ããã 10 ether ãå·®ãåŒãããããéä¿¡å ã§ãã contract ã¢ã«ãŠã³ãã«å ããŸãã
- ã³ãŒããèµ°ãããŸããä»åã¯ãšãŠãã·ã³ãã«ã§ãã
ãŸã contract ã¯èªèº«ã®ã¹ãã¬ãŒãžã«ããã
2
çªç®ã®é ç®ã䜿ãããŠããã確èªãã æªäœ¿çšã§ããããšã確èªããã¹ãã¬ãŒãžã®2
çªå°ã«CHARLIE
ãšããå€ãã»ããããŸãã
ãã®æäœã§ã187 gas ãæ¶è²»ãããšããŸãããããããšæ®ãã® gas 㯠1150 - 187 = 963 ãšãªããŸãã
- 963 * 0.001 = 0.963 ether ãéä¿¡è ã®ã¢ã«ãŠã³ãã«è¿éããçµæãšããŠåºãŠãããç¶æ ããè¿ããŸãã
ãããããã©ã³ã¶ã¯ã·ã§ã³ã®åä¿¡åŽã« contract ããªãã£ãããåœè©²ãã©ã³ã¶ã¯ã·ã§ã³ã«ãããå
šææ°æã¯ãããã«ããã©ã³ã¶ã¯ã·ã§ã³ã®ãã€ãé·ã« äžãããã GASPRICE
ã®å€ãããããã®ãšãªãããã©ã³ã¶ã¯ã·ã§ã³ãšäžç·ã«éãããããŒã¿ã¯å
šãé¢ä¿ã®ãªããã®ãšãªã£ãŠããŸãã§ãããã
Note that messages work equivalently to transactions in terms of reverts: ããã¡ãã»ãŒãžã gas ã䜿ãæãããŠããŸã£ããã°ããã®ã¡ãã»ãŒãžãããã¯ãã®ã¡ãã»ãŒãžãåŒãéãšãªããã¹ãŠã®å®è¡åŠçãããšã«ãã©ãããŠããŸããŸããããã®ã芪ãã®å®è¡ã«é¢ããŠã¯ãããçŽãã«ãªãå¿ èŠããããŸããã ããã¯ãcontract ãä»ã® contract ãåŒã¶ããšã«é¢ããŠãå®å šãã§ããããšãæå³ããããã¯ãA ã G gasãã£ãŠ B ãåŒã³åºããšãA ã«ããå®è¡ã¯ããã ã G gas åã§ããããšãä¿èšŒãããŠããããšæããããšãã§ããŸãã
æåŸã«ãcontract ãçæãã opcode ã§ãã CREATE
ãããããšã«æ³šæããŠãã ããã
ãã®å®è¡ã¡ã«ããºã ã¯äžè¬çã«èšã£ãŠ CALL
ã«äŒŒãŠããŸãããå®è¡çµæããããããäœãããã³ã³ãã©ã¯ãã®ã³ãŒããè¿ããšããç¹ãé€ããŠåãã«ãªããŸãã
è£è¶³ïŒcontract ãå®éã«ä¿¡çšãããã®ãšããŠãæ©èœãããã©ããã«ã€ããŠã§ããã äŸãšããŠïŒäººéã®è³åããããŸããšãäºäººã®ãéãé ããããšã«ãªãã³ã³ãã©ã¯ãã¯ãã¡ããšä»äºããããšããä¿èšŒãå¿ èŠã§ãã çäžæ¹ãäœæããéšãåããšããããšãå¯èœã«æãããŸããããããããã¯ç°¡åã«è§£æ±ºã§ããŸããçæ¹ã«ããäœæãããã³ã³ãã©ã¯ãã®å ¬ééµã¯ããã£ãŠããã®ã§ããã®ã³ãŒããå®è¡ããå 容ã¯æãã¿ã«ã§ãŠããããšãã¥ã¬ãŒã¿ãŒã䜿ã£ãŠããã¡ããšåäœããããšã確èªããããšã§ãç°¡åã«ã³ã³ãã©ã¯ãã®å®å šæ§ãéäžç¢ºèªããããšãã§ããŸãã
Ethereum ã® contract ã³ãŒãã¯äœçŽã¹ã¿ãã¯ã»ããŒã¹ã»ãã€ãã³ãŒãèšèªã§æžãããŠãããã Ethereum ä»®æ³ãã·ã³ã³ãŒã ããã EVM code ããªã©ãšåŒã°ããŠãããŸãã
ãã®ã³ãŒãã¯äžé£ã®byteåããæ§æãããŠãããå byte ã¯ã²ãšã€ã®åœä»€ãè¡šããŠãããŸãã
äžè¬çã«ãã³ãŒãå®è¡ãšã¯ãããã°ã©ã ã«ãŠã³ã¿ãŒãçŸåšç€ºããšããã®åœä»€ãå®è¡ããŠã¯ããã°ã©ã ã«ãŠã³ã¿ãŒãïŒã€ã€ã³ã¯ãªã¡ã³ãããç¹°ãè¿ãã«ããæ§æããããç¡éã«ãŒãã§ããããšã©ãŒã STOP
ããã㯠RETURN
ãšãã£ãåœä»€ãæ€åºããããŸã§çµããããšããããŸããã
EVM ã«ããã åœä»€ ã¯ããŒã¿ã貯èµããããã«å¿ èŠãª äžçš®é¡ã® ã¹ããŒã¹ ã«ã¢ã¯ã»ã¹ããŸãã
- stack, åŸå ¥ãå åºãã®ã³ã³ããã§ãpush ãš pop ãšããäºã€ã®åœä»€ã«ããå€ãåºãå ¥ãããŸãã
- Memory, ç¡éæ¡åŒµããã³ç¡éå±éå¯èœãªãã€ãé å
- storage, contract ãä¿æããé·æä¿åçšã¹ãã¬ãŒãžã§ ãKey/value ã®è²¯èµåº«ãã¹ã¿ãã¯ãã¡ã¢ãªã§ã¯èšç®å®è¡åŸæ¯ã«ãªã»ãããããã®ã«å¯Ÿããstorage ã§ã¯é·æéãå€ãä¿æãããã
ã³ãŒãããåä¿¡ããã¡ãã»ãŒãžã«ããã å€ã»éä¿¡è ã»ããŒã¿ ã«ã¢ã¯ã»ã¹å¯èœã§ãããŸã ãããã¯ããã ã®ããŒã¿ã«ãåæ§ã«ã¢ã¯ã»ã¹ã§ããŸããã³ãŒãã¯åºåãšã㊠byte é åã®ããŒã¿ ãæ»ãå€ãšããŠè¿ãããšãåºæ¥ãŸãã
EVM ã³ãŒã ã«ãããã圢ã ãã®å®è£
ãæœãããå®è¡ã¢ãã«ã¯ãé©ãã»ã©ã·ã³ãã«ã§ããEthereum ä»®æ³ãã·ã³ ãåäœããŠãããšãã
ãããã¯ãŒã¯å
šäœã«ããããå
šä»®æ³ãã·ã³èšç®ç¶æ
ã¯æ¬¡ã®ã¿ãã«ã«ãã決å®ãããŸãã(block_state, transaction, message, code, memory, stack, pc, gas)
ããã§ã
block_state
ã¯ãå
šã¢ã«ãŠã³ããä¿æããæ®é«ãã¹ãã¬ãŒãžãšãã£ãããŒã¿ãã²ãããã ã global ãªç¶æ
ããè¡šããŸãã
å®è¡ã®éå§ææ¯ã«ãã åœä»€ ãã¯ãå€æ°pc
çªç®ã® byte ã³ãŒããåã£ãŠããŸããpc >= len(code)
ã®æ¡ä»¶äžã§ã¯ 0 ãšãªããŸãã
ååœä»€ã¯ã¿ãã«ã«å¯ŸããŠãã©ã®ããã«åœ±é¿ããã®ããšããç¹ã«é¢ããŠãç¬èªã®å®çŸ©ããããŸãã
äŸãã°ã
ADD
ã¯ã¹ã¿ãã¯ãããäºã€ã¢ã€ãã ãåŒãåºã(pop)ããã®åèšããŸãã¹ã¿ãã¯ãžæŒã蟌ããŸã(push)ã
SSTORE
ã¯äžéšãããµãã€ã®ã¢ã€ãã ã pop ã®äžãäºã€ç®ã®ã¢ã€ãã ã contract ã®ã¹ãã¬ãŒãžã«ããããäžã€ç®ã®ã¢ã€ãã ã瀺ãçªå°ã«æ ŒçŽããŸãã
å³æã³ã³ãã€ã«ã«ãã EVM ãã·ã³å®è¡æé©åã®æ¹æ³ã¯ããããããã«ãããããããEthereum ã¯åºæ¬çã«ãå®è£
ãããšæ°çŸè¡ã»ã©ã® byte ã³ãŒãã¹ããŒã¹ãè²»ãããŸãã
Ethereum ã® blockchain ã¯å€ãã®ç¹ã§ Bitcoin ã®ãããšäŒŒãŠããŸãããããã€ãéãç¹ããããŸãã bockchain ã®ã¢ãŒããã¯ãã£ã«é¢ãã Ethereum ãš Bitcoin ã®éãã¯ã次ã®ããã«ãªããŸãã Bitcoin ãšã¯éã Ethereum ã®ãããã¯ã¯ãã©ã³ã¶ã¯ã·ã§ã³ã®ãªã¹ããšãããã¯çææç¹ã® ç¶æ ã®ã³ããŒãå éšã«ä¿æããŠããŸãã èéã«ãããŸããããããã¯çªå· ãš difficulty ãšãããã¹ã€ã®äºã€ã®å€ããããã¯ã«è²¯èµãããŸãã Ethereum ã«ãããåºæ¬çãªããããã¯æå¹å ã¢ã«ãŽãªãºã ã¯ä»¥äžãšãªããŸãã
- ãããã¯ã®åç §ãã çŽåã®ããã㯠ãååšãããããæå¹ã§ãããããã§ãã¯ããŸãã
- ã¿ã€ã ã¹ã¿ã³ãã ãçŽåã®ã«ããããããããå€ã倧ããã15åããã®æªæ¥ãŸã§åŸåºã®ãã®ããå€ãå°ããããšã確èªããŸãã
- ãããã¯çªå·ãé£æ床ããã©ã³ã¶ã¯ã·ã§ã³ã®ã«ãŒããUncle ã®ã«ãŒã ããã³ ã¬ã¹ã®äžéïŒæ§ã ãªãäœçŽEthereumã®ä»æ§æŠå¿µïŒãæå¹ã§ããã確èªããŸãã
- ãããã¯ã®æå¹èšŒã§ãã proof of work ãæå¹ã§ããã確èªããŸãã
- çŽåã®ãããã¯ã®æåŸã®ç¶æ
ã
S[0]
ãšããã TX
ããã©ã³ã¶ã¯ã·ã§ã³ã»ãªã¹ããšããn
åã®ãã©ã³ã¶ã¯ã·ã§ã³ãå«ããã®ãšããã0...n-1
ãŸã§ã®å šãŠã®æ°ã«å¯ŸããS[i+1] = APPLY(S[i], TX[i])
ãšããã ãããã¢ããªã±ãŒã·ã§ã³çŸ€ã®ã©ããäžã€ã§ããšã©ãŒãè¿ãããããããã¯ã§æ¶è²»ãããå š gas éããã®æ®µéã§GASLIMIT
ãè¶ éããŠããããããšããšã©ãŒãè¿ããŸããS[N]
ãS_FINAL
ãšããŸãããæ¡æè ãžã®ãããã¯æ¡æã«å¯Ÿããå ±é ¬ãå ããŸãã- ç¶æ
S_FINAL
ã® ããŒã¯ã«æš ã® ã«ãŒã ããããã¯ãããã«ãããŠäžãããã æçµç¶æ ã®ã«ãŒã ãšäžèŽããã確ãããŸãã ããããã§ããã°ããããã¯ã¯æå¹ã§ãããã§ãªããã°ããããã¯ã¯ç¡å¹ã§ãã
ãã£ãšç®ãéããã ãã§ã¯ããã®ã¢ãããŒãã¯ãšãŠãéå¹çã«æããããããŸããã ãªããªãã°ããã®ããæ¹ã§ã¯ãåãããã¯ã§ å šãããã¯ãŒã¯ã®ç¶æ ãä¿åããå¿ èŠãããããã§ãã ããããçŸå®çã«ã¯ãEtherum ã®å¹çã¯ãBitcoin ã®ãããšæ¯ã¹ãªããã°ãªããŸããã ãšããã®ã¯ããã㧠ä¿åãããç¶æ ã¯ããã®ããŒã¿æšæ§é ã«è²¯èµããããããã¯æ¯ã«ããã®å°ããªéšåæšãå€æŽãããå¿ èŠããããŸãã ãã®ããã«ãããšãäžè¬çã«ãé£ãåãäºã€ã®ãããã¯éã§ã¯ãæšã®å€§éšåã¯åããšãªãã¯ãã§ããã ããã§ããããããããŒã¿ã¯ãäžåºŠè²¯èµããããã€ã³ã¿ïŒã€ãŸãéšåæšã®ããã·ã¥å€ïŒã䜿çšããŠäºåºŠ åŒçšç¬Š ãä»å ãããããšãã圢åŒããšããŸãã ãã®ãç¶æ ãã®ä¿åæ¹æ³ãéæããããã«ã ãããªã·ã¢æš ããšåŒã°ãã ç¹å¥ãªããŒã¿æš ã䜿ããã ãããªã·ã¢æšã¯ãããŒã¯ã«æšã®ã³ã³ã»ããã«å¯ŸããŠä¿®æ£ããªãããŠãããããŒãã®æ¿å ¥ã»åé€ãå¯èœã§ããã ãã å€ããã ãã§ãªããå¹çãè¯ããªããŸãã ããã«ãå šç¶æ ã®æ å ±ããææ°ã®ãããã¯ã«å«ãŸããŸãã®ã§ããããã¯ãã§ã€ã³ã®å šå±¥æŽãä¿åããå¿ èŠããããŸããã ããã¯ãBitcoin ã«é©çšããããã5 - 20åã®ã¹ããŒã¹ç¯çŽã«ãªã æè¡æŠç¥ ã§ãã
ã²ããå°ããããã®ãããã©ã㧠contract ãå®è¡ãããã®ãããšãã質åã§ãç©çããã€ã¹äžã§ã©ããïŒãšããããšã§ãã
ãã®è³ªåã«å¯ŸããŠã¯ãã·ã³ãã«ãªåçããããŸãã
ã contract ã®å®è¡ããã»ã¹ã¯ããã®ç¶æ
é·ç§»é¢æ°ã®å®çŸ©ã®äžéšã§ãããããæ
ãããã¯ã®æå¹åã¢ã«ãŽãªãºã ã®äžéšãšãªããŸãã
ãªã®ã§ããããã©ã³ã¶ã¯ã·ã§ã³ãããã㯠B
ã«ä»å ããããªãã°ãã®ãã©ã³ã¶ã¯ã·ã§ã³ã«ããçãŸããã³ãŒãå®è¡ã¯å
šãŠã®ããŒãã§å®è¡ãããŸãã
ãã®æç¹ããæªæ¥ã«ãããŠããããã¯B
ãããŠã³ããŒãããå
šãŠã®ããŒããšããããšã§ããã
äžè¬çã«ãEthereum äžã«ã¯ã3 çš®é¡ã®ã¢ããªã±ãŒã·ã§ã³ããããŸãã äžã€ç®ã®ã«ããŽãªãŒã¯ãéèç³»ã®ã¢ããªã±ãŒã·ã§ã³ã§ãééã䜿çšããå¥çŽã«å¯Ÿããå°å ¥ã»ç®¡çã®åŒ·åãªæ段ããŠãŒã¶ãžæäŸãããã®ã§ãã ããã«ã¯ãå¯æ¬¡é貚ãéèãã£ãªããã£ãããããžã³ã°å¥çŽãé éãè³ç£çžç¶ææžããããã«èšåããŸããšãåŽåå¥çŽæžãŸããŸãå«ãããã®ãªã©ããããŸãã äºã€ç®ã®ã«ããŽãªã¯ãæºéèç³»ã¢ããªã§ãããééèçäºè±¡ã®çµæã«å¯ŸããŠééã絡ããŠãããããªãã®ã§ããã®è¯ãäŸãšããŠãèšç®çè«ã«ãããé£é¡ã«å¯Ÿãæžè³éãèªåå·è¡ãããããªã¢ããªãæããããŸãã äžã€ç®ãšããŠã¯ããªã³ã©ã€ã³éžæ ã åæ£å統治æ©æ§ ããããŸãã
ãããã¯ãã§ã€ã³äžã® 蚌ææžçºè¡ã·ã¹ãã (token system) ã«ã¯ãå€ã ã®ã¢ããªã±ãŒã·ã§ã³ãããã USãã«ãéãè¡šãå¯æ¬¡é貚ãããæ ªåŒãã¹ããŒãããããã£ãšããŠå人çºè¡ãã蚌ææžãå ç¢ã§åœé äžå¯ãªåååžããããã¯å šãã®ç¡ããæ°ãã«äœããã貚幣蚌æžã§ãããã®ç¯å²ã«å«ãŸããçµæžåçãšãªãïŒäººã ã®è¡åã®åæ©ä»ããšãªãïŒãã€ã³ã(皌ã)ã®ã·ã¹ãã ãšããŠäœ¿ãããŸãã
Ethereum äžã§ 蚌ææžçºè¡ã·ã¹ãã ãå®è£ ããã®ã¯é©ãã»ã©ã«ç°¡åã§ãã ç解ããããã«éèŠç¹ã¯ã é貚ã蚌ææžã·ã¹ãã ãšãã£ãåºè»žãšãªããã®ã¯ãã¹ãŠã ããã²ãšã€ã®æäœããšããªãããŒã¿ããŒã¹ ã ãšããããšã§ãã ãã®ã²ãšã€ã®æäœãšã¯ :
A ãã X åäœãå·®ãåŒããããã B ã«ãã
ãã®æã®æ¡ä»¶ãšããŠ
(1) A 㯠ãã©ã³ã¶ã¯ã·ã§ã³ä»¥åã« å°ãªããšã X åäœ ãä¿æããŠãã
(2) ãã©ã³ã¶ã¯ã·ã§ã³ã A ã«ãã£ãŠæ¿èªããã
ããŒã¯ã³ã·ã¹ãã ã®å®è£ ããã®ã«ãããæéã¯ããã®ããžãã¯ã contract ã«å®è£ ããã ãã§ãã ããŒã¯ã³ã·ã¹ãã ã® Serpent ã«ãããå®è£ ã®åºæ¬ã³ãŒãã¯ä»¥äžã®ããã«ãªããŸã:
def send(to, value):
if self.storage[msg.sender] >= value:
self.storage[msg.sender] = self.storage[msg.sender] - value
self.storage[to] = self.storage[to] + value
ããã¯ãåºç€çã«ããã®ããã¥ã¡ã³ãã®åé ã§èª¬æãã"éè¡ã·ã¹ãã " ã®ç¶æ é·ç§»é¢æ°ã®æåéãã®å®è£ ãšãªããŸãã ãã®ã³ãŒããšã¯å¥ã«ãåæåã¹ããããšããŠé貚åäœãå ±æãããããã¯ãã®ä»ç¹äŸã®ããã«ãæ°è¡å¿ èŠãšãªãã ç念ãšããŠã¯ããã function ã¯ãä»ã® contract ã«ãããã¢ãã¬ã¹ã®æ®é«ãæ¢çŽ¢ããŠãããããã«è¿œå ããããã®ã§ããã ã³ãŒãã®èšè¿°ã¯ããã§ååã§ãã çè«çã«ãEthereum åºç€ã®èšŒææžçºè¡ã·ã¹ãã ã§å¯æ¬¡é貚ãšããŠãµããŸããã®ã¯ã æœåšçã«å¥ã®éèŠãªç¹åŸŽãæã£ãŠããŸãããã㯠Bitcoin åºç€ã® meta currency ã«ã¯ç¡ããã®ã§ã å¯æ¬¡é貚ã§çŽæ¥ãã©ã³ã¶ã¯ã·ã§ã³ã®ææ°æã®æ¯æããå¯èœã ãšããæ©èœã§ãã ãããããå®è£ ãããªãã°ã ææ°ææ¯æãã«äœ¿çšããã ether ãéä¿¡è ã« åæ¯èŸŒ ããæ¹æ³ããšãã contract ã¯ããã®æã® ether æ®é«ãç¶æ管çããããšã«ãªãããšæããŸãã ææ°ææ¯æãæãããã³åžžé§ã®ãªãŒã¯ã·ã§ã³ã«ãããŠå¯æ¬¡é貚ãå床売ãæãã«äœ¿çšãããããã®å éšä¿æãããŠããå¯æ¬¡é貚åäœãéããããšã§ãether ã®æ®é«ãå床æºããããšã«ãªãã§ãããã ãŠãŒã¶ã¯ãã®ãã ether ã§ã¢ã«ãŠã³ããã¢ã¯ãã£ããŒãããå¿ èŠããããŸããã äžåºŠ ether ã確èªããããšãcontract ããã®åºŠããšã«å床æ¯èŸŒãããã®ã§ãåå©çšå¯èœãšãªãã§ãããã
éèãã£ãªããã£ã ã¯ãæãäžè¬çãªãsmart contract ã®ã¢ããªã±ãŒã·ã§ã³ã§ãããã³ãŒãå®è£ ãæãç°¡åãªãã®ã®ã²ãšã€ã§ãã éèå¥çŽã®å®è£ ã«ãããäž»ãªè©Šç·Žã¯ããã®å€§éšåãäŸ¡æ Œè¡šç€ºåšãžã®å€éšåç §ãå¿ èŠãšãªããšããããšã§ãã äŸãã°ããšãŠãæãŸããã¢ããªã±ãŒã·ã§ã³ã®äŸãšããŠãUSãã«ã«å¯ŸããEtherïŒãããã¯å¥ã®æå·é貚ïŒã®äŸ¡æ Œå€åã«å¯ŸããŠããªã¹ã¯åé¿ããããªã smart contract ããããŸããã ãããè¡ãã«ã¯ãETH/USD ã®äŸ¡æ Œããããã§ããããç¥ãããã® contract ãå¿ èŠãšãªããŸãã ãã¡ã°ãã·ã³ãã«ãªå®è¡æ¹æ³ãšããŠã¯ãå¿ èŠã«å¿ã㊠contract ãæŽæ°ããèœåããã€ããã«èšèšããã(NASDAQã®ãããª) ç¹å®ã®åå è ã«ããç¶æ管çãããã ããŒã¿ãã£ãŒã contract ããéãæ¹æ³ããããŸããããã«ãããä»ã® contract ã¯ãã®ããŒã¿ãã£ãŒã contract ã«ã¡ãã»ãŒãžãéä¿¡ããäŸ¡æ Œæ å ±ãäžããããè¿çãåãåãããšãã§ããŸãã
ãããã®éèŠãªææãäžããããŠãããšããŠ, ãªã¹ã¯åé¿ contract ã¯æ¬¡ã®ããã«ãªãã§ããã :
- åå è A ã 1000 ether å ¥éããã®ãåŸ ã¡ãŸã
- åå è B ã 1000 ether å ¥éããã®ãåŸ ã¡ãŸã
- 1000 ether ã® USD ã§ã®äŸ¡å€ãèšé²ããŸããããã¯ããŒã¿ãã£ãŒã contract ãæ¢çŽ¢ããããšã§èšç®ãããã¹ãã¬ãŒãžã«å¯ŸãããXãã«ã ããšåããŸãïŒèšé²ããŸãïŒ
- 30æ¥åŸãïŒããŒã¿ãã£ãŒã contract ããåŸãããæ°ããäŸ¡æ Œã«ãã£ãŠèšç®ãããïŒXãã«çžåœã® ether ãAã«éä¿¡ãã æ®ããBã«éãã®ã«ãA ããã㯠B ã è©²åœ contract ãåã¢ã¯ãã£ããŒãããããšãã§ããããã«ããŸãã
ãã®ãã㪠contract ã«ã¯æå·åååŒã«ãããéèŠãªæœåšäŸ¡å€ãããã§ãããã æå·é貚ãååŒçã«åŒçšãããšãã«çŸããäž»èŠãªåé¡ãšããŠãäŸ¡æ Œå€åã倧ãããšããããšããããŸãã å€ãã®ãŠãŒã¶ãå売人ãæå·è³ç£ã®ååŒã®å®å šæ§ãå©äŸ¿æ§ãæãã§ãããããããªãã«ããããããã ãã£ã1æ¥ã§è³éã®23ïŒ ã倱ããšããå Žé¢ã«ã¯çŽé¢ããããªãã§ãããã ãã®åé¡ã«å¯ŸããŠãããŸãŸã§ã«ææ¡ããããæãäžè¬çãªè§£æ±ºçãšããŠããã®ã¯ãçºè¡è ã®åŸãçŸã®ããè³ç£ã§ãã ãã®èãã¯ãçºè¡è ãçºè¡äžŠã³ã«ç¡å¹åã®æš©å©ãæããå¯æ¬¡é貚ãã€ããã éãUSDã®ãããªç¹å®ã®åè³ç£ã®äžåäœããªãã©ã€ã³ã§æäŸããå šãŠã®äººã«å¯Ÿãããã®å¯æ¬¡é貚ã®äžåäœãæäŸãããšãããã®ã§ãã ãããŠçºè¡è ã¯ããã®å¯æ¬¡è³ç£ãéãè¿ããããšãã«ã¯ãåè³ç£ãæäŸããããšãçŽæããŸãã ãã®ä»çµã¿ã«ãã£ãŠãå šãŠã®éæå·åè³ç£ããæå·è³ç£ãžãš "äžå Ž" ãããããšãå¯èœãšãªããŸãããããã¯çºè¡äž»äœãä¿¡çšå¯èœã§ããããšã«ããå®çŸããŸãã
ãããå®éã¯ãçºè¡äž»äœã¯åžžã«ä¿¡çšã«äŸ¡ãããšã¯éããã äžã«ã¯ããã®éè¡ã·ã¹ãã ã¯ããŸãã«ãè匱ã§ãã£ããã ããŸãã«ã顧客察æçã§ãããããªããšãèŠåãããã ãã®ãããªéèãµãŒãã¹ã¯å®çŸãé£ããã®ãšãªãããŸãã éèãã£ãªããã£ã ã¯ããã«åã£ãŠä»£ãããŸãã éèãã£ãªããã£ãã«ãããŠã¯ãè³ç£ãè£ä»ããè³éãæäŸããåäžã®çºè¡äž»äœã®ä»£ããã«ã åæ£åã®æè³åžå Žãã€ãŸã ETH ãããªåºæºãšãªãæå·è³ç£ã®äŸ¡æ Œãäžæãããè³ããããå Žæãããã®åœ¹å²ãæ ããŸãã çºè¡äž»äœãšã¯éã£ãŠãæè³å®¶ã¯èªåãã¡ã®éœåã§å£²ãåºãããªãã£ãããšã«ããããšãã§ããŸããããšããã®ã¯ãã ãããžã³ã° contract ãããšã¹ã¯ããŒãšããŠè³éãä¿æããŠããããã§ãããã®æ¹æ³ã§ãããŸã å®å šã«éäžå€®éçŽåããããã§ã¯ãªãããšã«æ³šæããŠãã ããããšããã®ã¯ãäŸ¡æ Œè¡šç€ºåšãæäŸããã®ã«ä¿¡çšããããŒã¿ãœãŒã¹ãå¿ èŠãšãªããŸãããšã¯ãããã®ã®ãã€ã³ãã©ã«å¯ŸããèŠæ±äºé ãæžããïŒå¯æ¬¡é貚ã®çºè¡äž»äœãšãªãã®ãšã¯éã£ãŠãäŸ¡æ ŒããŒã¿ã®çºè¡ã¯ã©ã€ã»ã³ã¹ãå¿ èŠãšããããè¡šçŸãèªç±ãªç¯çã«åé¡ãããå¯èœæ§ãé«ãã®ã§ãïŒããã€è©æ¬ºã®å¯èœæ§ãæžãããç¹ã§å€§ããªé²æ©ãšèšããŸãã
ãã¹ãŠã®ä»£æ¿æå·é貚ã®ãªãã§ãã¡ã°ãæ©ãã«ç»å Žãã Namecoin ã¯ã ååç»é²ãµãŒãã¹ã« Bitcoin ãšäŒŒã blockchain ãçšããè©Šã¿ãè¡ããŸããã ããã§ã¯ããŠãŒã¶ã¯ä»ã®ããŒã¿ãšãšãã« åå ãå ¬å ±çãªããŒã¿ããŒã¹ã«ç»é²ããããšãã§ããŸãã Namecoin ã®æãåºãæ®åããå©çšæ¹æ³ã¯ãDNS ã·ã¹ãã ãšããŠäœ¿ãæ¹æ³ã§ã "bitcoin.org" ã®ãããªååããIPã¢ãã¬ã¹ã«å¯Ÿå¿ïŒ mapping )ã¥ãããã®ã§ãã ä»ã®äœ¿çšæ¹æ³ãšããŠãemail authentication ããæœåšççºå±æ§ã®ãã reputation ã·ã¹ãã ãªã©ãèããããŸãã 以äžã«ãNamecoin ã«äŒŒãååç»é²ã·ã¹ãã ã® Ethereum äžã§ã®ãåºæ¬ contract ã瀺ããŸãã
def register(name, value):
if !self.storage[name]:
self.storage[name] = value
contract ã¯ãšãŠãã·ã³ãã«ã§ãã ã·ã¹ãã ã®å šå®¹ã¯ãè¿œå ã®ã¿ãå¯èœã§åé€ããã³ä¿®æ£ãäžå¯èœãª Ethereum ãããã¯ãŒã¯å éšã«ããããŒã¿ããŒã¹ã§ãã 誰ã§ãã幟ã€ãã®å€ãšãšãã«ååãç»é²ããããšãå¯èœã§ããã®ç»é²å 容ã¯æ°žé ã«ä¿ç®¡ãããŸãã ããæŽç·Žãããååç»é² contract ã¯ãä»ã® contract ããã®å 容ãæ¢çŽ¢ã§ããããã«ããããã® é¢æ°ç¯ïŒ (å éš)é¢æ° ïŒããã€ã§ãããã åæ§ã«ãïŒäŸãã°ãåæç»é²è ã®ãããªïŒ ååã®ææè ãããŒã¿ãå€æŽãããæææš©ã移è¡ãããããããã®ã¡ã«ããºã ã®ãããªãã®ãèããããŸãã reputation ã webäžã®ä¿¡çšåºŠ ãšãã£ãæ©èœæ§ãããã·ã¹ãã ã®äžå±€ã«è¿œå å¯èœã§ãã
éå»æ°å¹Žã«ãããããªã³ã©ã€ã³äžã§ã®ãã¡ã€ã«ã¹ãã¬ãŒãžã»ãµãŒãã¹ã®ã¹ã¿ãŒãã¢ãããåºçŸããããããã®éåžžã«äººæ°ãããã®ãçãŸããŸããã äžçªäººæ°ã®ããã®ããDropbox ã§ãããŠãŒã¶ã¯ããŒããã©ã€ãã®ããã¯ã¢ãããã¢ããããŒãããä¿ç®¡ããŠãããããšãå¯èœã§ãæé¡äœ¿çšæãšåŒãæãã«ãã®ããŒã¿ã«ã¢ã¯ã»ã¹ã§ããŸãã ããããªããã䜿çšæéæ¯æãã®ç¹ã§ãã¡ã€ã«ã¹ãã¬ãŒãžã®åžå Žã¯æ¯èŒçéå¹çã§ãã ãã®äœ¿çšæéåé¡ã«é¢ããæ§ã ãªçŸåã®è§£æ±ºæ¹æ³ãæŠèŠ³ããŠãã" uncanny valley "ãšåŒã°ããã20-200 GBã¬ãã«ã§ã¯ãç¡æå©çšãäŒæ¥å²åŒãå šãååšããããã¡ã€ã«ã¹ãã¬ãŒãžã®ã¢ã¯ã»ã¹ã«å¯Ÿããæé¡æéã¯ãåç容éã®ããŒããã©ã€ãã®èª¿éã«èŠããå šã³ã¹ãããã£ãäžã¶æã®ãã¡ã«äžåã£ãŠããŸããŸãã Ethereum ã® contract ã«ãã£ãŠãåæ£åãã¡ã€ã«ã¹ãã¬ãŒãžãšããæ°ããçµæžåãéçºããããšãå¯èœã§ãããã§ã¯ãå人ãŠãŒã¶ãèªåã®ããŒããã©ã€ãã貞ãåºãããšã§ãå°é£ã皌ããå¯èœãšãªããããã«æªäœ¿çšé åã䜿çšãããã°ããã¡ã€ã«ã¹ãã¬ãŒãžã®ã³ã¹ãã¯äžãããŸãã
ãã®ãããªããã€ã¹ãè£ã§ç¹ããšããŠããããã® éµ ãšããŠã" åæ£å Dropbox contract " ãšåœåãããã®ããããŸãã ãã® contract ã¯æ¬¡ã®ããã«åäœããŸãã
- ãŸãã¯ããã«ãä¿åãããããŒã¿ããããã¯ã«åå²ãããã©ã€ãã·ãŒã®ããã«åãããã¯ãæå·åãã ãã®æå·åãããããã¯çŸ€ãããïŒããŒã¿ä¿ç®¡æšãšããŠïŒã²ãšã€ã®ããŒã¯ã«æšãäœãäžããŸãã
- N ãããã¯æ¯ã«ãcontract 㯠ããŒã¯ã«æšããã©ã³ãã ã«åç §å ãéžã³ã ïŒã©ã³ãã æ§ãæäŸãããã®ãšããŠã¯çŽåã®ãããã¯ããã·ã¥ã䜿çšããcontract ã³ãŒãã§ã¢ã¯ã»ã¹ã§ããããã«ããŸãïŒã ãã®ããŒã¿æšã«ããããã®ç¹å®ã®åç §å ã«ããããã®ãããã¯ã®ææã®SPV蚌æã®ãããªãã®ïŒãããã¯ãé ãã人ã¯åœç¶ãªããç§å¯éµãæã£ãŠããããã®é ã人ã®åºãã¯ã€ãºã«å¯ŸããŠç°¡æœã«åçãã蚌ææžïŒãèŒãããã©ã³ã¶ã¯ã·ã§ã³ãäžçªã¯ããã«æäŸããå人ã«å¯ŸããŠãX ether ãäžããŸãã
ãŠãŒã¶ããããã®ãã¡ã€ã«ãåããŠã³ããŒãããããšãã¯ã micropaymentãchannel ãããã³ã« ã䜿çšããããšãã§ãã ïŒäŸãã° 32 KB㧠1 szabo æ¯æããšãã£ãå ·åã§ã) ãã¡ã€ã«ã埩å ããããšã§ããŸãã micropayment channel ãå©çšããæãæ¯æãå¹çã®ããæ¹æ³ã¯ã æ¯æãè ããã®çµãããŸã§ãã©ã³ã¶ã¯ã·ã§ã³ãçºè¡ããã ãããã«ããã®ãã©ã³ã¶ã¯ã·ã§ã³ã32KBæ¯ã«åããã³ã¹ã䜿çšã㊠埮éã§ã¯ãããã®ã®ããå©çãçããã©ã³ã¶ã¯ã·ã§ã³ã«çœ®ãæãç¶ãããšããããæ¹ã§ãã
ãã® åæ£å dropbox protocol ã®éèŠãªæ§è³ªãšããŠã é ã人ã¯ããããã®ä¹±éãªããŒãããã¡ã€ã«ãå¿ããŠããŸããšãã決å®ãããªããã®ãšä¿¡çšããŠããããã«èŠãããããããŸãããã ç§å¯å ±æãéããŠããã¡ã€ã«ãããããã®æçãžãšåå²ããããšã§ããŸãåæçãã©ããã®ããŒãã«æªã ã«ä¿åãããŠããããšã確èªããããã« contract ãç£èŠããããšã§ããã®ãªã¹ã¯ã¯éããªããŒãã«è¿ã¥ããŸãã ããããã® contract ããéã®æ¯æããç¶ããŠãããªãã°ãããã¯ã誰ããŸã ãã¡ã€ã«ãææããŠãã人ããããšãã£ã æå·åŠç蚌æ ãæäŸããŠããããšãšãªããŸãã
åæ£åèªåŸçµç¹ Decentralized autonomous organization (DAO) ã®äžè¬çãªæŠå¿µãšããŠã¯ã äŒå¡ãããã¯æ ªäž»ãã67%以äžã®å€æ°æŽŸãå ãããšãcontract ã³ãŒãã®ä¿®æ£ããè³éã®æ¶è²»ãå¯èœãšãªããä»®æ³å£äœãšããŠã®ãã®ã§ãã äŒå¡ã§ããã°ããŸãšãŸãããšã§è³éã®äœ¿ãéã決å®ããããšãã§ããã§ãããã è³éã®äœ¿ãéãšããŠã¯ãæžè³éã絊æããããã¯ãåŽåå ±é ¬ãšããŠäœ¿çšäŸ¡å€ã®ããåå é貚ã®ãããªã ç°æåå°åã«ãããä»çµã¿ã«ãããé©çšããããã§ããŸãã ããã¯åºç€çã«ã äŒçµ±çãªäŒç€Ÿãéå¶å©çµç¹ãåæ³çã«ãšãããããšã®ã§ããæ çµã¿ã§ãããŸããã å·è¡ã«éã䜿çšããã®ã¯ãæå·çè«ã«åã£ã blockchain ãã¯ãããžãŒ ã ããšãªããŸãã
DAO ã®è°è«ãããã«é²ãããšãé åœæ ªäž»ãæ ªåžããšããªã åæ£åèªåŸæ ªåŒäŒç€Ÿ DACorp (decentralized autonomous corporation) ãšãã£ãè³æ¬äž»çŸ©ãæšãé²ããã¢ãã«ã«è¡ãåœãããŸããã 代æ¡ãšããŠãããåæ£åèªåŸå ±åäœ DACom (decentralizd autonomous community) ã§ã¯ã äŒå¡ã®é€åãããã¯å ¥äŒãæ¿èªãããšãã£ã決å®ã«é¢ããå šäŒå¡ãå¹³çã«æš©å©ãä¿æããåšç±äŒå¡ã®67ïŒ ã®æ¿èªãå¿ èŠãšããŸãã ãšããã®ã¯ãäžäººäžäŒå¡ã®ã¿ãšããèŠæãããã°ãã°ã«ãŒãã«ãã£ãŠãŸãšãŸã£ãŠå·è¡ãããå¿ èŠãæãã®ã§ãã ïŒéäžå€®åèªåæ ªåŒäŒç€Ÿã§ã¯ãåœç¶å€§æ ªäž»ã決å®æš©ãæ¯é ããã®ã§ããããã£ãèŠæã¯ãåŽäžãããã§ããããïŒ
DAO ãã³ãŒãåããæ¹æ³ã®æŠèŠã¯æ¬¡ã®ããã«ãªããŸãã äžçªã·ã³ãã«ãªèšèšã瀺ããŸããšãããã¯ãããã2/3ã®äŒå¡ãè³åããã°ãå€æŽããããšãã£ã èªå·±ä¿®æ£ã³ãŒã ã§ãã çè«çã«ã¯ contract ã³ãŒãã¯äžå€ãªãã®ã§ããã å¥ã®ãšããã« contract ãè€æ°ä¿æãã ã¹ãã¬ãŒãžã¯ä¿®æ£å¯èœãªã®ã§ãããã«åŒã³åºã contract ã®ã¢ãã¬ã¹ãä¿æããããšã§ã äºå®ãšããŠãcontract ã®æžãæããå¯èœãšãªããŸãã DAO contract ã®ãããªãã®ã®ç°¡çŽ ãªå®è£ ã«ãããŠããã®ãã©ã³ã¶ã¯ã·ã§ã³ãæäŸããããŒã¿ã«ãã£ãŠã äžçš®é¡ã«åããããšãã§ããŸãã
[0,i,K,V]
to register a proposal with indexi
to change the address at storage indexK
to valueV
[0,i]
to register a vote in favor of proposali
[2,i]
to finalize proposali
if enough votes have been made
contract ã¯ãããåçš®é¡ããšã«ãè€æ°ã®æ¡é ãæã€ã§ãããã contract ã¯ã誰ãæ祚ããããšãããªã¹ãã«åŸããå šãªãŒãã³ã¹ãã¬ãŒãžã®æžãæããç¶æ管çããã§ãããã ããã«ãcontract ã¯ãå šäŒå¡ã®ãªã¹ããä¿æããã§ãããã ã©ããªã¹ãã¬ãŒãžã®å€åãããããæ祚ããäŒå¡ã®2/3ã«éãããšããããæçµæ±ºå®ãã©ã³ã¶ã¯ã·ã§ã³ããã®å€åãå·è¡ã§ããããšãšãªãã§ãããã ããæŽç·Žãããæ çµã¿ãšããŠã¯ã ãã©ã³ã¶ã¯ã·ã§ã³ã®éä¿¡ãäŒå¡ã®é€åãå ¥äŒã®ãããªç¹åŸŽãçµã¿èŸŒãã æ祚ã·ã¹ãã ãä¿æãããã®ãããã ãããŠæµåçæ°äž»äž»çŸ© Liquid Democracy ã¹ã¿ã€ã«ã®ä»£è°å¡è°äŒã®æ祚ã§ããæäŸå¯èœã§ãã ïŒâ»èª°ã§ã代è°å¡éžåºãå¯èœã§ããã®éžåºæ祚ã¯ãé·ç§»çã§ãããçµæãããAãBããBãCãéžåºãããªãã°ãCã¯Aã®æ祚暩ãä¿æããããšã«ãªããŸããïŒ ãã®èšèšã§ããã°ãDAO ã¯åæ£åã³ãã¥ããã£ãšããŠãææ©çæé·ãéããããšãå¯èœã§ã æ°è¡ã¯çµæçã«ãäŒå¡ã®éžåºäœæ¥ãå°é家ã«å§ä»»ããããšãå¯èœãšãªããŸãã ãããããã㯠"çŸè¡ã®æ¿æ²»ã·ã¹ãã "ã«ã¿ããããããããªãã®ãšã¯ç°ãªãã åã ã®ã³ãã¥ããã£ã¡ã³ããææºå ãå€ããããšã§ãæé軞äžã«ãããŠãå°é家ã¯ç°¡åã«åºçŸãšæ¶å€±ïŒåãæ¿ãïŒããããšãå¯èœã§ãã
代ãããšãªãåæ£åæ ªåŒäŒç€Ÿã®ã¢ãã«ã§ã¯ã0以äžã®æ ªåŒããã€ã¢ã«ãŠã³ãããããæ ªåŒã® 2/3 ã決å®ã«å¿ èŠãšãããŸãã å®ç§ãªæ çµã¿ãšããŠã¯ã財ç£ç®¡çæ©èœããæ ªåŒå£²è²·ã®ç³è«æ©èœããã³åè«Ÿæ©èœãåãããã®ãããã§ããããïŒ contract å éšã«æ³šæäžèŽãããæ©èœãããããšãæãŸããã§ãããïŒ ä»£è°å¡éžåºã«ããå§ä»»ã¯ãæµåçæ°äž»äž»çŸ©ãååšããã" ææ決å®æ©é¢ " ãšããæŠå¿µãäžè¬åãããã®ã§ãããã
1. é éãŠã©ã¬ãã. 次ã®ãããªå Žé¢ãèããŠäžãããã¢ãªã¹ã¯ãèªåã®è³éãå®å šã«ç®¡çããããšããŸãã ããã圌女ã¯ãè³ç£ã倱ãããšãç§å¯éµããããã³ã°ãããããšãå¿é ããŠããŸããããã§åœŒå¥³ã¯ãéè¡ãšãªããããšãšãã«ã contract ãã€ãããether ããã®äžã«ä¿ç®¡ããŸããããã¯ä»¥äžã®ããã«ãªããŸãã
- ã¢ãªã¹ã¯èªåäžäººã§1æ¥ãããæ倧è³éã®1%ãåŒãåºãããšãå¯èœã§ãã
- ããã¯èªåäžäººã§1æ¥ãããæ倧è³éã®1%ãåŒãåºãããšãå¯èœã§ããããããã¢ãªã¹ã¯èªåã®ç§å¯éµã§ãã®ããã®èœåã奪ãå»ããã©ã³ã¶ã¯ã·ã§ã³ãäœæããããšãã§ããŸãã
- ã¢ãªã¹ãšããã¯äžç·ã§ããã°ã©ããªé¡ã§ãåŒãåºãå¯èœã§ãã
éåžžã1æ¥1ïŒ ãšããã¯ãã¢ãªã¹ã«ãšã£ãŠååãªé¡ã§ããããããã以äžåŒãåºãããã®ã§ããã°ãããã«é Œãã°æžã話ãšãªããŸãã ãããã¢ãªã¹ãç§å¯éµããããã³ã°ããããªãã°ãã¢ãªã¹ã¯ãããã®ãšããã«é§ãå¯ãããµããã§æ°ãã contract ã«è³éã移ããŸãã ããã圌女ãç§å¯éµããªãããŠããŸãã°ãçµæãšããŠãããã¯è³éãåŒãåºãããšã«ãªãã§ãããã ãããããããæªæããã£ãŠãããšããã£ããªãã°ãã¢ãªã¹ã¯ãããã®åŒãåºãèœåãæ¶å»ã§ããŸãã
2. 蟲äœç©ä¿éº. éèãã£ãªããã£ã contract ã¯ç°¡åã«äœæå¯èœã§ãããããŒã¿ãã£ãŒããšããŠãäŸ¡æ Œè¡šç€ºåšã§ãªã倩åã䜿çšããŸãã ã¢ã€ãªã¯ ã«ãã蟲家ããéã«ã¢ã€ãªã¯ ã«ãããéæ°Žéãåºç€ãšããŠéã«æ¯æãããããã£ãªããã£ããè³Œå ¥ãããšãããšã ããå¹²ã°ã€ããã£ããªãã°ã蟲家ã¯èªåçã«ãéãåãåããããååãªéæ°Žããã£ããªããäœç©ãåæ§ã®åããããŠãããã®ã§ã蟲家ã¯å¹žéãæã«å ¥ããããšãã§ããŸããããã¯äžè¬çã«ãèªç¶çœå®³ã®ä¿éºã«ãæ¡åŒµå¯èœã§ãã
3. åæ£åããŒã¿ãã£ãŒã. éè contract ãã®ä»ã«ãããŠã"SchellingCoin" ãšåŒã°ãããããã³ã«ãéããŠããŒã¿ãã£ãŒããåæ£åããããšãå®éå¯èœã§ãã SchellingCoin ã¯åºæ¬çã«æ¬¡ã®ããã«åäœããŸãã N åã®ããŒãã£ãå šãŠãããäžããããäžã€ã®ããŒã¿ïŒäŸãã° ETH/USD ã®äŸ¡æ ŒïŒã®å€ãããããæäŸãããã®ãšããŸãã ãã®äŸ¡æ Œã®å€ã¯ãœãŒãããããã®å€ã®é çªã 25% ~ 75% ã§ãããã®ããå ±é ¬ãåŸãããããã«ããŸãã å šå¡ããä»ã®å šå¡ãæäŸããã ããçããæäŸããã€ã³ã»ã³ãã£ããä¿æãããã®å€§å€æ°ã®ãã¬ã€ã€ãçŸå®çã«èªããå¯äžã®äŸ¡æ Œããæçœãªåºæºãšãªããããã¯ä¿¡çšã®ããããã®ãšãªããŸãã ããã«ãã£ãŠãçè«çã«ã©ããªæ°å€ããæäŸããããšãå¯èœãªãåæ£åãããã³ã«ãäœãããŸãã ããã«ã¯ãETH/USDäŸ¡æ Œããã«ãªã³ã®æ°æž©ããããã¯ç¹å®ã®éãèšç®ã®çµæãã§ããå«ãŸããŸãã
4. ã¹ããŒãã»ãã«ãã·ã°ãã㣠èªèšŒ. Bitcoin ã§ã¯ ãã«ãã·ã°ããã£ã»ãã©ã³ã¶ã¯ã·ã§ã³ contact ãå¯èœã§ãäŸãã°ãïŒã€ã®ç§å¯éµã®ãã¡ãïŒã€ãæãã°è³éã䜿çšã§ãããšãã£ããã®ã§ãã Ethereum ã§ã¯ããã詳现ãªèšèšãå¯èœã§ããããšãã°ãïŒã€ã®ãã¡ïŒã€ã§å šãŠäœ¿çšå¯èœãšããïŒã€ã®ãã¡ïŒã€ã§1æ¥10%䜿çšå¯èœãšããïŒã€ã®ãã¡ïŒã€ã§1æ¥0.5%䜿çšå¯èœãšããããšãã§ããŸãã å ããŠãEthereum ãã«ãã·ã°ããã£ã¯åæããŸãããšããã®ã¯äºã€ã®ããŒãã£ããå¥ã ã®æéã« blockchain äžã«çœ²åãç»é²ããããšãå¯èœã§ããã®æåŸã®çœ²åãè¡ãããã°ãèªåçã«ãã©ã³ã¶ã¯ã·ã§ã³ã¯éä¿¡ãããŸãã
5. ã¯ã©ãŠãã»ã³ã³ãã¥ãŒãã£ã³ã°. EVM ãã¯ãããžã¯ãæ€èšŒå¯èœãªèšç®ç°å¢ãæ§ç¯ããç®çã§ã䜿çšããã ãŠãŒã¶ã¯ä»äººã«å¯ŸããŠãèšç®ã®å®è¡ãäŸé Œããããšãã§ããŸãããŸããªãã·ã§ã³ãšããŠã©ã³ãã ã«éžæãããã§ãã¯ãã€ã³ãã«ããããèšç®ã®æŽåæ§ã瀺ãã蚌æ ã®æåºãäŸé Œããããšãã§ããŸãã ããã«ãã£ãŠãã¯ã©ãŠãã»ã³ã³ãã¥ãŒãã£ã³ã°ã®åžå Žãäœãããšãå¯èœã§ãã©ããªãŠãŒã¶ã§ãããã¹ã¯ãããåãããã¯ããŒãããœã³ã³ãããã¯ç¹ååãµãŒããçšããŠåå ããããšãå¯èœã§ãããããŠãã»ãã¥ãªãã£èª²éãçšããã¹ããããã§ãã¯ã«ãããã·ã¹ãã ãä¿¡çšã«è¶³ãããšããããšã確ãããŸããïŒçµæããŒãã¯ããŒãããããšã«ãã£ãŠãããå©çãåŸãããšã¯ã§ããŸãããïŒ ãã®ãããªã·ã¹ãã ã¯ãããããã¿ã¹ã¯ã«é©ããããšããããšã¯ãªããããããŸãããããšãã°ãå éšããã»ã¹ã«ãããé«åºŠãªé£æºãå¿ èŠãªã¿ã¹ã¯ã ãšè€æ°ã®ããŒãã«ãã倧ããªã¯ã©ãŠãã«ãããŠãç°¡åã«èšç®ããããšã¯äžå¯èœã§ãã ããããªãããä»ã®ã¿ã¹ã¯ã¯å®¹æã«äžŠååå¯èœã§ãSETI@home ãfolding@home ã éºäŒçã¢ã«ãŽãªãºã ã®ãããªãããžã§ã¯ãã¯ç°¡åã«ããã©ãããã©ãŒã äžã«æ§ç¯å¯èœã§ãã
6. P2P è³å. P2Pè³åãããã³ã«ã¯ãããã§ãå®è£ å¯èœã§ãäŸãã°ã Frank Stajano ãš Richard Clayton ã«ãã Cyberdice 㯠Ethereum blockchain äžã§å®è£ ã§ããŸãã ç°¡çŽ ãªè³åãããã³ã«ã¯å®ã¯ãã ã®æ¬¡ã®ãããã¯ã®ããã·ã¥å€ãåœãŠãã ãã® contract ã§ãããé²åãããããã³ã«ã¯ããããäœãäžããããšãå¯èœã§ãããŒãäžå¯èœãªææ°æãïŒã«è¿ãè³åãµãŒãã¹ãäœãããšãã§ããŸãã
7. åžå Žäºæž¬. SchellingCoin ããã㯠Oracle ãæäŸãããããšã§ãåžå Žäºæž¬ããŸãå®è£ ã容æãšãªããŸãã åžå Žäºæž¬ãš SchellingCoin ãäžç·ã«ãªãããšã§ãéäžå€®çµç¹ã®çµ±æ²»ãããã³ã«ã§ãã futarchy ã®äž»æµã¢ããªã±ãŒã·ã§ã³ãšããŠã¯åã®ãã®ãšæãå¯èœæ§ããããŸãã
8. blockchain äžã®åååŒåžå Ž, Identity ãš Reputation ã®ã·ã¹ãã ãåºç€ãšããŸãã
Greedy Heavist Observed Subtree (GHOST) ã¯ãYonatan Sompolinsky ãš Aviv Zoharã«ãã£ãŠ2013幎12æã«åããŠå°å ¥ãããã€ãããŒã·ã§ã³ã§ãã GHOSTéçºã®åæ©ã¯ãblockchain ã®æ€èšŒæéãççž®ãããšã çŸè¡ã®ã·ã¹ãã ã§ã¯ããéåæç¶æ ãïŒææ°ã®ãããã¯ãšåæããŠããªãç¶æ ïŒã®å²åãå¢ããããã ã»ãã¥ãªãã£ãæžå°ãããŠããŸããšããåé¡ã«èŠããã§ããŸãã ãšããã®ã¯ããããã¯ã¯ãããã¯ãŒã¯ãéããŠäŒæããã®ã«ããçšåºŠã®æéããããããã ããããã€ããŒAããããã¯ãçºæããã€ãã«ãã€ããŒBãããŸããŸAã®ãããã¯ãBã«äŒãã£ãŠããåã«ãã®ä»ã®ãããã¯ãèŠã€ããå Žåã ãã€ããŒBã®ãããã¯ã¯æçµçã«ç¡é§ãšãªãããããã¯ãŒã¯ã»ãã¥ãªãã£ã«è²¢ç®ããªãããšãšãªããŸãã ããã«ã¯äžå€®éçŽã®åé¡ããããŸãã ããã¯ããããã€ããŒAã30%ã®æ¡æèœåãæã€ãã€ãã³ã°ããŒã«ã§ãBã10%ã®æ¡æèœåãæã€ãã®ãšãããšã Aã«ã¯ãæ¡ææéã®70%ã¯ç¡å¹ãªãããã¯ãçæãããªã¹ã¯ãããã ïŒæ¡ææéã®30%ã®ããã ãAã¯æå¹ãªæçµãããã¯ãçæããŠãããšããããšãªã®ã§ãæ¡æããŒã¿ãããã«åŸãäºãã§ããŸããïŒ äžæ¹ãBã«ã¯ãæ¡ææéã®90%ã¯ç¡å¹ãªãããã¯ãçæãããªã¹ã¯ããããŸãã ãã®ããç¶æ³ã§ã ãããã¯çæã®ééããéåæç¶æ ãã®å²åãé«ããªããããã«ååããããã¯éã®ã€ã³ã¿ãŒãã«ãçããšã Aã¯ãåã«èªèº«ã®ããŒã«ã®ãµã€ãºããåŸãããå¹èœã«ãã£ãŠãå®è³ªäžããã«å¹ççãšãªããŸãã ãããäºã€ã®å¹æãçµã³ã€ãããšã§ã ãããã¯çæã®éããããã¯ãã§ãŒã³ã¯ããããã¯ãŒã¯äžã®æ¡æèœåã®ãã¡å€§ããªå²åãå ãããããªãã ãã€ãã³ã°ã®ããã»ã¹å šäœãã³ã³ãããŒã«ã§ãããã€ãã³ã°ããŒã«ãçã¿åºããŠããŸããŸãã
Somopolinsky ãš Zohar ã®èª¬æã«ãããšã GHOSTã¯ãæé·ãã§ã€ã³ã®èšç®äžã«ãããŠãç¡å¹ãããã¯ãæ¡ãå ¥ããããšã§ã äžã€ç®ã®ãããã¯ãŒã¯ã»ãã¥ãªãã£æ倱ã®åé¡ã解決ããŸãã ã€ãŸãã芪ãããã¯ãå ç¥ãããã¯ã®ã¿ã§ãªãã proof-of-workã®è£ä»ããããããã¯ãŒã¯äžã§æé·ãã§ã€ã³ãèªãã å ç¥ãããã¯ã®ç¡å¹ãªåå«ããã㯠( ethereum çšèªã§ã¯ ã uncle (åç¶) ã) ãèšç®ã«å ããããŸãã äºã€ç®ã®äžå€®éçŽã®ãã€ã¢ã¹ãããããšããåé¡ã解決ããããã«ã¯ã Somopolinsky ãš Zohar ã«ãã£ãŠæããããããã³ã«ã®ããã«å ãèããå¿ èŠãããã ç¡å¹ãããã¯ãžã®å ±é ¬ãäŸçµŠããå¿ èŠããããŸãã ç¡å¹ãããã¯ã¯å ãšãªãå ±é ¬ã®87.5%ãåãåãã uncle ãšããŠç¡å¹ãããã¯ãæ¡ãå ¥ãã nephew (ç¥)ãããã¯ã«ã¯æ®ãã®12.5%ãèŽãããŸãã ããããªããããã©ã³ã¶ã¯ã·ã§ã³ææ°æ㯠uncle ã«ã¯äžããããŸããã
Ethereum ã¯ãïŒå±€ã ãé¡ãç°¡æç GHOST ãå®è£ ããŸããã ä»æ§ãšããŠã¯ä»¥äžã®éãã§ãã
- A block must specify a parent, and it must specify 0 or more uncles
- An uncle included in block B must have the following properties:
- It must be a direct child of the kth generation ancestor of B, where 2 <= k <= 7.
- It cannot be an ancestor of B
- An uncle must be a valid block header, but does not need to be a previously verified or even valid block
- An uncle must be different from all uncles included in previous blocks and all other uncles included in the same block (non-double-inclusion)
- For every uncle U in block B, the miner of B gets an additional 3.125% added to its coinbase reward and the miner of U gets 93.75% of a standard coinbase reward.
ãã®å¶éçã® GHOST ã§ã¯ãïŒäžä»£äžãŸã§ã® uncle ãåã蟌ã¿ãŸããããããæ¡æãããã®ã«ã¯ïŒã€ã®çç±ããããŸããã ã²ãšã€ããšããŠãç¡å¶éã® GHOST ã ãšãäžãããããããã¯ã«å¯Ÿããã©ã® uncle ãæå¹ãªã®ã確ãããèšç®ãè€éã«ãªããããŸãã ãµãã€ããšããŠãç¡å¶éã® GHOST ãš Ethereum ã§äœ¿çšãããŠããå ±é ¬ã®æ¹æ³ãåããããšãæ¡æè ããã¡ã€ã³ãã§ã€ã³äžã§æ¡æããåæ©ãåãå»ã£ãŠããŸããæ»æè ã®ãã§ã€ã³ã«ãããŠã¯ããã§ãªãã®ã§ãæ»æãããããªããŸãã
blockchain äžã«çºè¡ãããå šãã©ã³ã¶ã¯ã·ã§ã³ã¯ããããã¯ãŒã¯ã«å¯Ÿãã ããŠã³ããŒããšæ€èšŒã«éãå¿ èŠãªã³ã¹ãã®æ¯æãã匷ããã®ã§ã ä¹±çšãé²ãããã«ããã©ã³ã¶ã¯ã·ã§ã³ææ°æã«ä»£è¡šããããäœããã®èŠå¶ã¡ã«ããºã ãå¿ èŠãšãªããŸãã
Bitcoin ã§ãšãããŠããåæã®ã¢ãããŒãã§ã¯ãçŽç²ãªå¯ä»éãšããŠã®ææ°æããšãã æ¡æè ã«å¯Ÿãããéçªãã®åœ¹å²ãšåçãªæå°é¡ã決ãã圹å²ãäŸé ŒããŠããŸãã ãã®ã¢ãããŒãã¯Bitcoinã³ãã¥ããã£ã«ã¯å¥œæçã«åãå ¥ããããŸããã ããã«ã¯ãæ¡æè ãšãã©ã³ã¶ã¯ã·ã§ã³éä¿¡è éã®é絊ãã©ã³ã¹ã«ããäŸ¡æ Œã決ãŸãããšãã£ãåžå Žåçã«åºã¥ããšããçç±ããããŸãã ããããªããããã®è«çã®éçã«ã¯åé¡ããã£ãŠããã©ã³ã¶ã¯ã·ã§ã³ã®åŠçã¯åžå Žã§ã¯ãªãã®ã§ãããšããã®ã¯ã ãã©ã³ã¶ã¯ã·ã§ã³ãæ¡æè ãéä¿¡è ã«ãªãã¡ãããµãŒãã¹ãšæããããšã«ã¯æ¬è³ªçé åããããŸããã å®éã¯ãæ¡æè ãæ¡ãå ¥ããå šãã©ã³ã¶ã¯ã·ã§ã³ã¯ããããã¯ãŒã¯å ã®å šãŠã®ããŒãã«ãããŠåŠçãããå¿ èŠãããããã ãã©ã³ã¶ã¯ã·ã§ã³å®è¡ã®ããã®å€§ããªã³ã¹ãã¯ãµãŒãããŒãã£ã«ãã£ãŠæ ããã ãããã©ã³ã¶ã¯ã·ã§ã³ãåãå ¥ãããã©ããã®æ±ºå®ã¯æ¡æè ã«æ ãããŠããèš³ã§ã¯ãªãã®ã§ãã ãã®ãããªä»çµã¿ã§ã¯ãã³ã¢ã³ãºã®æ²åã®åé¡ãçºçãã確çãéåžžã«é«ãã®ã§ãã
åžå Žåçã«åºã¥ãã¡ã«ããºã ã«ããããã®æ¬ é¥ãæãã¿ã«ã§ãŸãããã ããç¹å®ã®å³å¯ã§ãªãã·ã³ãã«ãªä»®å®ã®ããšã§ããã®æ¬ é¥ãæåã®ããã«ãã£ã³ã»ã«ããããšãã§ããŸãã è«æ ã¯ä»¥äžã®ãããªãã®ã§ãã
k
åã®ãªãã¬ãŒã·ã§ã³ãå«ããã©ã³ã¶ã¯ã·ã§ã³ã«å¯ŸããŠãéä¿¡è ããã®ãªãã¬ãŒã·ã§ã³ãå«ããæ¡æè ã«å¯ŸããŠkR
ã®å ±é ¬ããªãã¡ãŒãããããã§ãR
ã¯éä¿¡è ã«ãã£ãŠæ±ºå®ãããk
ãšR
ã¯æ¡æè ã«å¯ŸããŠããããã®å€ãäºåã«åããããã«ããã- äžã€ã®ãªãã¬ãŒã·ã§ã³ã¯ã©ã®ããŒãã«ãšã£ãŠã
C
ãšããå®è¡ã³ã¹ããæã€ïŒããªãã¡ããã¹ãŠã®ããŒãã¯åãå¹çããã€ïŒ N
åã®ãã€ãã³ã°ããŒããååšãããšããããããã¯å šãåãåŠçèœåãæã£ãŠããïŒããªãã¡1/N
ã§ããïŒ- æ¡æãããªã ãã«ããŒã ã¯ååšããªã
æ¡æè
ã¯ãæåŸ
ã§ããå ±é
¬ãã³ã¹ããã倧ãããã°ããã©ã³ã¶ã¯ã·ã§ã³ãåãã§åŠçããŸãã
ãããŠãæ¡æè
ã次ã®ãããã¯ãèŠã€ãã確çã¯1/N
ãªã®ã§ãäºæ³ãããå ±é
¬ã¯ kR/N
ãšãªãã
æ¡æè
ã«ãšã£ãŠã®åŠçã³ã¹ãã¯kC
ã ãã§ãã
ãã®ããã«èãããšãæ¡æè
㯠kR/N > kC
ã€ãŸã R > NC
ã®æããã©ã³ã¶ã¯ã·ã§ã³ãåã蟌ã¿ãŸãã
ããã§ãR
ã¯éä¿¡è
ããªãã¬ãŒã·ã§ã³åŠçã®åã«æ¯æãææ°æã§ã
éä¿¡è
ããã©ã³ã¶ã¯ã·ã§ã³éä¿¡ã«ããå©çã享åããã®ã«å¿
èŠãªæäœæéãšãªããŸãã
NCã¯ãªãã¬ãŒã·ã§ã³ãåŠçããããã®ãããã¯ãŒã¯å
šäœã®ã³ã¹ãã§ããã
ãã£ãŠãæ¡æè
ã¯ãå®å©ã®ããŒã¿ã«ãã³ã¹ããè¶
ãããã©ã³ã¶ã¯ã·ã§ã³ã ããåãå
¥ããããšããŸãã
ããããå®éã®ä»®å®ã§ã¯ãããã€ãéèŠãªéžè±ãçããŸãã
- æ¡æè ã¯å®éã«ã¯ä»ã®æ€èšŒããŒãããããã©ã³ã¶ã¯ã·ã§ã³åŠçã«é«ãã³ã¹ããæãäºããããŸããããã¯ãè¿œå ã®æ€èšŒæéããããã¯ã®äŒæ¬ãé ããããããã¯ãç¡å¹ã«ãªãå¯èœæ§ãå¢å ããããã§ãã
- æ¡æãå šãããªããã«ããŒããååšããŸãã
- çŸå®ã«ã¯æ¡æèœåã®åæ£ã¯éåžžã«äžå¹³çãªãã®ãšãªããŸãã
- ææ©å®¶ãæ¿æµããããã¯ãŒã¯ã®ååšã«å¯ŸããŠæ»æãä»æããéå ·ããã£ãç人ãååšããŸãã圌ãã¯é ãè¯ããcontract ã«ãããŠãèªåãã¡ã®ã³ã¹ããä»ã®æ€èšŒããŒããæãã³ã¹ããããããªãäœããããªç°å¢ãèšå®ããŸãã
(1)ã¯æ¡æè
ãå°ããããã©ã³ã¶ã¯ã·ã§ã³ãåã蟌ãŸãªãåŸåãçã¿åºããŠããŸããŸãã
(2)ã¯NC
ãå¢å ãããŸãããã£ãŠã(1)ãš(2)ã¯ãå°ãªããšãäºãã«éšåçã«ãã£ã³ã»ã«ããŸãã
(3)(4)ã¯éèŠãªåé¡ã§ãããããã®åé¡ã解決ããæ¹æ³ãšããŠã¯ãåçŽã«äžéãèšå®ããŸããã
ã©ã®ãããã¯ãBLK_LIMIT_FACTOR
å x é·æææ°é¢æ°ç§»åå¹³å
以äžã®ãªãã¬ãŒã·ã§ã³ãè¡ãããšã¯ã§ããŸããã
ã€ãŸãã
blk.oplimit = floor((blk.parent.oplimit * (EMAFACTOR - 1) + floor(parent.opcount * BLK_LIMIT_FACTOR)) / EMA_FACTOR)
BLK_LIMIT_FACTOR
ãš EMA_FACTOR
ã¯ãåœåã¯ã65536ãš1.5ã«èšå®ãããå®æ°ã§ãããã«è§£æãé²ãã°ãå€æŽãããå¯èœæ§ããããŸãã
Bitcoin ã«èŠããã倧ããªãããã¯ãæšå¥šããªãå¥ã®çç±ãšããŠã 倧ããªãããã¯ã¯äŒæããã®ã«ãæéãããããŸãã ãããŠããã®ããã«ãé«ç¢ºçã§æ°é®®ã§ãªããã®ãšãªã£ãŠããŸããŸãã Ethereum ã«ãããŠã¯ãã¬ã¹æ¶è²»éã®å€§ãããããã¯ãåæ§ã«äŒæããã®ã«æéãããããŸãã ããã«ã¯ãç©ççã«å€§ãããã©ã³ã¶ã¯ã·ã§ã³ã®ç¶æ é·ç§»ãæ€èšŒããã®ã«æéãæãããšããåæ¹ã®çç±ããããŸãã ãã®é 延ãããã®éæšå¥šã¯Bitcoin ã«ãããŠã¯éèŠãªåé¡ã§ããã Ethereum ã«ãããŠã¯ãGHOST ãããã³ã«ã®ãããã§ããã»ã©åé¡ã§ã¯ãããŸããã ãã®ããã«ããããã¯ãèŠå¶ããããšã«ãããããå®å®ããåºç€å·¥çšãã§ãããããŸãã
Ethereum ä»®æ³ãã·ã³ ã ãã¥ãŒãªã³ã°å®å
š ã ãšããã®ã¯ãšãŠãéèŠãªããšã§ãã
ããã¯ãEVMã³ãŒã ãç¡éã«ãŒããå«ãèšç®ãã³ãŒãåã§ããããšãæå³ããŸãã
EVMã³ãŒã ã¯äºã€ã®æ¹æ³ã§ã«ãŒããå¯èœã«ããŸãã
第äžã«ã
JUMP
åœä»€ã¯ããã°ã©ã ã«ã³ãŒãã®ä»¥åã®ã©ããæå®ããå Žæãžãžã£ã³ãããŸãã
JUMPI
åœä»€ã¯while x<27; x= x*2
ã®ãããªæ¡ä»¶åå²ãå¯èœã«ããŸãã
第äºã« contract ã¯å¥ã® contract ãåŒã¶äºãã§ãã
æœåšçã«ååž°ã«ããã«ãŒããå¯èœãšãªããŸãã
ãã®æ¹æ³ã§ã¯åœç¶åé¡ã«è¡ãåœãããŸãã
æªæããã£ããŠãŒã¶ã¯ãç¡éã«ãŒãã«é¥ãããäºã§æ¡æè
ãé»ããããã«ããŒããããŠã³ãããããšãã§ããã®ãïŒãšããåé¡ã§ã
ããã¯ãã³ã³ãã¥ãŒã¿ãµã€ãšã³ã¹ã®ãå®è¡åæ¢åé¡ããšããŠç¥ãããåé¡ãæµ®ãã³äžããããŸãã
å®è¡åæ¢åé¡ãšã¯ãäžè¬çã«äžããããããã°ã©ã ããã€ãŸã§ãåæ¢ããªããã©ãããç¥ãæ¹æ³ãç¡ããšãããã®ã§ãã
"ç¶æ é·ç§»ã®ç« " ã§èª¬æããããã«æã ã®è§£æ±ºæ¹æ³ã¯ã ãã©ã³ã¶ã¯ã·ã§ã³ã«å¯Ÿããèš±ãããæ倧ã®èšç®ã¹ãããæ°ãèšå®ããããå®è¡ãé·åŒãã°èšç®ãå ã«æ»ããè²»çšã ããæ¯æããšãã£ããã®ã§ã ã¡ãã»ãŒãžãåãæ¹æ³ããšããŸãã æã ããã®è§£æ³ãéžãã åæ©ãç解ããããã«ã以äžã®ãããªäŸãèããŠã¿ãŸãããã
- æ»æè ããç¡éã«ãŒããåŒãèµ·ãã contract ãäœããæ¡æè ã«å¯ŸããŠãã®ã«ãŒããåŒãèµ·ãããã©ã³ã¶ã¯ã·ã§ã³ãéä¿¡ããŸãã æ¡æè ã¯ãã©ã³ã¶ã¯ã·ã§ã³ãå®è¡ããç¡éã«ãŒããå®è¡ãããããŠçæãåããã®ãåŸ ã¡ãŸããå®è¡ã¯çæåãã«ãªããéäžã§æ¢ãŸããŸããããã©ã³ã¶ã¯ã·ã§ã³ã¯ãŸã æå¹ã§ãããæ¡æè ã¯åå®è¡ã¹ãããã®ããã®ææ°æãæ»æè ã«èŠæ±ãç¶ããŠããŸãã
- æ»æè
ã¯éåžžã«é·ãç¡éã«ãŒããäœããæ°ãããã¯ãèªèšŒãããã»ã©ã®æéãæ¡æè
ãèšç®ããç¶ããæ¡æè
ããã©ã³ã¶ã¯ã·ã§ã³ãå«ããŠææ°æãèŠæ±ããããšãäžå¯èœã«ãããŸããããããæ»æè
ã¯èšç®ã¹ãããæ°ã®äžéã決ãã
STARTGAS
ã®å€ãæäŸããå¿ èŠãããã®ã§ãæ¡æè ã¯èšç®ãéåžžã«å€§ããªã¹ãããæ°ã§ããããšãåãã£ãŠç¥ããŸãã - æ»æè
ã¯
send(A,contract.storage[A]); contract.storage[A] = 0
ã®ãããªã³ãŒããæã£ã contract ãèŠãŠãæåã®ã¹ãããã®ã¿å®è¡ã§ããŠäºçªç®ã®ã¹ãããã¯å®è¡ã§ããªããããªéã®çæãæã£ããã©ã³ã¶ã¯ã·ã§ã³ãéä»ããŸãã ïŒã€ãŸããåŒãåºãã¯ãããå·®é¡ãæžããããªãïŒãcontract ã®äœè ã¯ãã®ãããªæ»æã«å¯Ÿããé²åŸ¡ãèããå¿ èŠã¯ãªãããªããªãã°ãå®è¡ãéäžã§çµããæã«ã¯ç¶æ ã®å€åã¯å ã«æ»ããŸãã - ããéè contract ããªã¹ã¯ãæžããããã«ïŒã€ã®åºæã®ããŒã¿ãã£ãŒãã®äžå€®å€ããšããšããŸããDAO ã®ç« ã§èª¬æãããããªãåŒåºã¢ãã¬ã¹ãå€æ°åããã¡ã«ããºã ãéããŠå€æŽå¯èœãªèšèšããããŠããäžã€ã®ããŒã¿ãã£ãŒããæ»æè ã¯ä¹ã£åããç¡éã«ãŒããåŒãèµ·ããããã«å€æŽããéè contract ããè³éãèŠæ±ãããã®ãçæåãã«ããŠãããŸããããããªãããéè contract ã¯ãã¡ãã»ãŒãžäžã§çæã®äžéãèšå®ã§ããã®ã§ããã®ãããªåé¡ã¯é²ãäºãã§ããŸãã
ãã¥ãŒãªã³ã°å®å
š ã«åã£ãŠä»£ãããã®ã¯ããã¥ãŒãªã³ã°äžå®å
š ã§ããJUMP
ã JUMPI
åœä»€ã¯ååšããã
ã³ãŒã«ã¹ã¿ãã¯ã«ã¯ããããã® contract ã®äžã€ã ãã®ã³ããŒãååšã§ããŸãã
ãã®ã·ã¹ãã ã§ã¯ãããŸã§ã«è¿°ã¹ãææ°æã·ã¹ãã ãæã
ã®è§£æ±ºçã®å¹æã«ã€ããŠã®äžç¢ºå®æ§ã¯å¿
èŠãªããªããŸãã
ãªããªã contract ãå®è¡ããã³ã¹ãã¯ãã®ãµã€ãºã«ãã£ãŠäžéã決ãŸãããã§ãã
ããã«ããã¥ãŒãªã³ã°äžå®å
š ã¯ããã»ã©å€§ããªå¶çŽã§ã¯ãããŸããã
ãšããã®ã¯ãæã
ãå
éšã§æ³åããå
šãŠã® contract ã®äŸã§ãäžã€ã®ã¿ãã«ãŒããå¿
èŠãšãã
ããã«ãã®ã«ãŒãã¯ã³ãŒãã26åç¹°ãè¿ãäºã«ãã£ãŠåãé€ãããšãã§ããŸããã
ãã¥ãŒãªã³ã°å®å
š ã®ããããå³ãããéå®ãããå©çãèããæã
äœæ
ãã¥ãŒãªã³ã°äžå®å
šãªèšèªã䜿çšããªãã®ã§ããããïŒ
ãããå®éã¯ããã¥ãŒãªã³ã°äžå®å
šã§ã¯ãäžããããåé¡ã®æ£ãã解決ããã¯ã»ã©é ããã®ã§ãã
ãã®çç±ãç¥ãããã«ã以äžã®contractãèããŸãããã
C0: call(C1); call(C1);
C1: call(C2); call(C2);
C2: call(C3); call(C3);
...
C49: call(C50); call(C50);
C50: (run one step of a program and record the change in storage)
ããŸãããã©ã³ã¶ã¯ã·ã§ã³ãAã«éããŸãã ãã®ããã«ã51åã®ãã©ã³ã¶ã¯ã·ã§ã³ã«ãããŠã250 ã®èšç®ã¹ããããæ〠contract ãä¿æãããã®ãšããŸãã æ¡æè ã¯ããããã® contract ã«ä»éããã æ倧ã®èšç®ã¹ãããæ°ããcontract ãåŒåºã contract ãåãã£ãŠèŠãäºã«ãã£ãŠ ãã®ãããªè«çç匟ãäºåã«å¯ç¥ããããšãå¯èœã§ãããããã«ã¯ãæ¡æè ãä»ã® contract ãäœãåºã contract ãçŠæ¢ããå¿ èŠãæããŸãã (ãªããªããäžèšã® 51 åã® contract ã®çæãšå®è¡ã¯ç°¡åã«äžã€ã® contract ã«æžãèšãããšãã§ããã®ã§ããïŒ ä»ã®åé¡ãšãªããã€ã³ãã¯ã¡ãã»ãŒãžã®ã¢ãã¬ã¹ãã£ãŒã«ããå€æ°ã§ãããäžè¬çã« contract ãåŒåºãä»ã® contract ãäºåã«ç解ããããšãäžå¯èœãªããšã§ãã ãã£ãŠãæã ã¯é©ãã¹ãçµè«ãåŸãŸãã ãã¥ãŒãªã³ã°å®å š ã§ã¯é©ãçšå®¹æã«ç®¡çã§ãã äžæ¹ããã¥ãŒãªã³ã°äžå®å š ã§ã¯ããã¥ãŒãªã³ã°å®å šãšåãæ©èœãæãããããšãããšãé©ãçšç®¡çãé£ãããªããŸãã ãã®ãããªå Žåããã¥ãŒãªã³ã°å®å šã«ããªãçç±ã¯ãããŸããã
Ethereum ãããã¯ãŒã¯ã¯ããããã¯ãŒã¯ã«çµã¿èŠèŸŒãŸããèªèº«ã®é貚Etherãæã£ãŠããŸãããã®é貚ã¯äºã€ã®ç®çã§äœ¿ãããŸããäžã€ç®ã¯ãå€æ§ãªããžã¿ã«è³ç£éã®å¹ççãªäº€æãå¯èœã«ãããåºæ¬çãªæµåæ§ã¬ã€ã€ãŒãæäŸããäºã§ããäºã€ç®ã¯ããéèŠã§ããããã©ã³ã¶ã¯ã·ã§ã³ãã£ãŒãæ¯æãã¡ã«ããºã ãæäŸããäºã§ãã話ãç°¡åã«ããããããŸãä»åŸã®è°è«ãé¿ãããã(Bitcoin ã«ããã mBTC/uBTC/satoshi ã«é¢ããçŸåšã®è°è«ãåç §ããŠãã ãã)ãé貚ã®åäœã¯äºã決ãŸã£ãŠããäºå®ã§ãã
- 1: wei
- 1012: szabo
- 1015: finney
- 1018: ether
ããã¯ã"ãã«ãšã»ã³ã"ããããã¯" BTC ãš satoshi "ã®æŠå¿µãåºãããã®ãšèããããã¯ãã§ããè¿ãå°æ¥ãether ã¯éåžžã®ãã©ã³ã¶ã¯ã·ã§ã³ã§äœ¿çšãããfinney ã¯ãã€ã¯ããã©ã³ã¶ã¯ã·ã§ã³ã§äœ¿çšãããszabo ãš wei ã¯ææ°æããããã³ã«å®è£ ã®ãã¯ãã«ã«ãªè°è«ã§çšãããããšäºæ³ããŠããŸããä»ã®åäœã¯ãä»åŸåœ¹ç«ã€äºãšããŠãçŸæç¹ã§ã¯ãã¯ã©ã€ã¢ã³ãã§å©çšããã¹ãã§ã¯ãªãã§ãããã
Ether çºè¡ã®ã¢ãã«ã¯ä»¥äžã®éãã§ãã
- Etherã¯1BTCããã1000-2000 ether ã§ãããªã»ãŒã«ã«ãŠå ¬éãããäºå®ã§ããããã¯ãEthereum Organization ã®è³é調éãšéçºè³éã®èª¿éãç®çãšããŠãããMastercoin ã NXT ã®ãããªä»ãã©ãããã©ãŒã ã§ã䜿ãããæåããŠããæ¹æ³ã§ããããæ©ãè³Œå ¥ãã人ã¯ãã倧ããªãã£ã¹ã«ãŠã³ããåŸãäºãã§ããã§ããããããªã»ãŒã«ã§åŸãããBTCã¯ãå šãŠãéçºè ã®çµŠäžãå ±å¥šéã®æ¯æãã«äœ¿ãããŸãããŸããEthereum ãä»®æ³é貚ãšã³ã·ã¹ãã å ã®ãæ§ã ãªå¶å©ãŸãã¯éå¶å©ãããžã§ã¯ããžã®æè³ã«äœ¿çšãããŸãã
- 0.099 x ããªã»ãŒã«ç·è²©å£²é¡ ( 60,102,216 ETH ) ã¯ãEthereum Organization ãžå²ãåœãŠãããåæã«è²¢ç®ãã人éãžã®å ±å¥šéãšããžã§ãã·ã¹ãããã¯çæéå§åã®ETH建ãŠçµè²»ã®æ¯æãã«å©çšãããŸãã
- 0.099 x ããªã»ãŒã«ç·è²©å£²é¡ã¯ ãé·ææºåéãšããŠç¶æ管çãããŸãã
- 0.26 x ããªã»ãŒã«è²©å£²é¡ã¯ããã以éãã£ãšã1幎æ¯ã«ãã€ããŒãžå²ãåœãŠãããŸãã
Group | At launch | After 1 year | After 5 years |
---|---|---|---|
Currency units | 1.198X | 1.458X | 2.498X |
Purchasers | 83.5% | 68.6% | 40.0% |
Reserve spent pre-sale | 8.26% | 6.79% | 3.96% |
Reserve used post-sale | 8.26% | 6.79% | 3.96% |
Miners | 0% | 17.8% | 52.0% |
é·æçãªäŸçµŠéã®æé·ç(ããŒã»ã³ã)
é貚çºè¡éã¯ç·åœ¢å¢å ããããBitcoin ãšåæ§ãé·æçã«ã¯äŸçµŠéã®æé·çã¯ãŒãã«åæããŠãã
äžèšã¢ãã«ã®äž»ãªç¹åŸŽã¯ã(1)åºéããŒã«ãšãã®èŠæš¡ã(2)Bitcoinã«ããã"äŸçµŠéäžéããã¢ãã«"ãšã¯å¯Ÿç §çãª"äŸçµŠéæé·ã¢ãã«"ãã®äºã€ã§ãã
åºéããŒã«ãæ£åœã§ããçç±ã¯æ¬¡ã®ãšããã§ããããåºéããŒã«ãååšãããåãã€ã³ãã¬çãå®çŸããããã«çºè¡éã0.217åã«æžå°ããããšãããšãether ã®å šäŸçµŠéã¯16.5%æžããether 1åäœã®äŸ¡å€ã¯19.8%äžæããã§ããããåŸã£ãŠãåè¡¡ãæç«ããããªãã19.8%å€ãã® ether ãã»ãŒã«ã§è³Œå ¥ãããã°ã1åäœãåã³ä»¥åãšå šãåã䟡å€ãæã€ããšã«ãªãã§ããããEthereum Organization ã¯ã1.198åã®BTCãæã€ããšã«ãªããŸãããããã¯ããªãªãžãã«ã®BTCãšè¿œå ã®0.198xã®BTCã®äºã€ã«åããäºãã§ããŸããåŸã£ãŠããã®åºéããŒã«ãªãã®ç¶æ³ã¯ãåºéããŒã«ãããç¶æ³ãš å®å šã«ç䟡 ã§ãããäžã€ã ãéèŠãªéãããããŸããããã¯ãEthereum Organization ãçŽç²ã«BTCãä¿æããŠãããether ã®äŸ¡å€ãç¶æããã€ã³ã»ã³ãã£ããæããªããšããäºã§ãã
"äŸçµŠéæé·ã¢ãã«"ã¯ãBitcoin ã«ãããå¯ã®éäžãªã¹ã¯ãæžãããŸãããããŠãçŸåšããã³ä»åŸãå人ã«å ¬å¹³ãªé貚ã®ç²åŸæ©äŒãäžããŸããåæã«ã"ãµãã©ã€æé·ç"ã¯ãŒãã«åæããŠãããããEtherãåŸãŠä¿æããããšãã匷ãã€ã³ã»ã³ãã£ããç¶æããŸãããŸã次ã®ãããªçè«åãã§ããŸããã³ã€ã³ã¯ãäžæ³šæãæ»ããã®ä»ã®çç±ã§æãšå ±ã«å€±ãããŠãããã³ã€ã³ã®æ¶å€±ã¯äžå¹Žãããã®ç·äŸçµŠéã«å¯Ÿããå²åãšããŠã¢ãã«åã§ããŸãããããŠãå šé貚äŸçµŠéã¯ã幎éçºè¡éãæ¶å€±çã§å²ã£ãå€ã«èœã¡çããŸããïŒäŸãã°ãæ倱çã1%ã®å ŽåãäŸçµŠéã26Xã«å°éãããšã0.26Xããã€ãã³ã°ãããŠã0.26Xãæ¯å¹Žå€±ãããã®ã§ãåè¡¡ç¶æ ãæç«ããŸã)ã
å°æ¥ãEthereum ã¯ã»ãã¥ãªãã£ã®ãã proof of stake ã¢ãã«ã«åãæ¿ããå¯èœæ§ãé«ãããšã«çæããŠãã ãããããã«ãããçºè¡éã®å¿
èŠæ¡ä»¶ã¯å¹Žé0ãã0.05Xã®æ°Žæºã«æžããŸããEthereum Organization ãè³éã倱ã£ãããä»ã®çç±ã§æ¶æ»
ããå Žåã«åããŠã"social contract"ãæ®ããŸãã誰ãã 次äžä»£çã® Ethereum ãäœãæš©å©ããããå¯äžã®æ¡ä»¶ã¯ ether ã®ç·é¡ãæ倧㧠60102216 * (1.198 + 0.26 * n)
( n
: ãããã¯çæéå§ããã®å¹Žæ° ) ã«çãããªããã°ãªããªããšããäºã ãã§ããã¯ãªãšã€ã¿ãŒã¯éçºè²»çšãæ»åºããããã«ãèªç±ã«ã¯ã©ãŠãã»ãŒã«ãè¡ã£ãããPoS ã«ããäŸçµŠæ¡å€§ãšäŸçµŠæ¡å€§ã®äžéãšã®å·®ã®äžéšãŸãã¯å
šãŠãèªç±ã«äœ¿çšããããšãã§ããŸããsocail contract ã«æºæ ããªãã¢ããã°ã¬ãŒãçã®åè£ã¯ãæºæ çãšããŠå
¬æ£ã«ãã©ãŒã¯ãããå¯èœæ§ããããŸãã
Bitcoin ã®ãã€ãã³ã°ã¢ã«ãŽãªãºã ã¯ãæ¯åå°ããã€ç°ãªããããã¯ããããŒäžã§ããã€ããŒã«SHA256ã®æŒç®ãäœçŸäžåãç¹°ãè¿ããæçµçã«äžã€ã®ããŒããããã¿ãŒã²ããïŒçŸåšã¯2192)以äžã®ããã·ã¥å€ãèŠã€ãããŸã§ãèšç®ãããããšã§æ©èœããŠããŸãããããããã®ãã€ãã³ã°ã¢ã«ãŽãªãºã ã¯ãäºçš®é¡ã®äžæ¥µéäžã«å¯Ÿããè匱æ§ãæã£ãŠããŸããäžã€ã¯ããã€ãã³ã°ã®ãšã³ã·ã¹ãã ããBitcoinãã€ãã³ã°ã®ã¿ã¹ã¯çšã«ãã¶ã€ã³ãããæ°ååã®å¹çãæã€ASIC(application-specific integrated circuits)ã«æ¯é ãããããã«ãªã£ãŠããŠãããšããäºã§ããã€ãŸããBitcoin ã®ãã€ãã³ã°ã¯ããã¯ãåæ£åãããŠããããã§ãå¹³çãè¿œæ±ããŠããããã§ããããŸããããã€ãã³ã°ã«åå ããŠå ±é ¬ãåŸãããšãããªããæ°çŸäžãã«ãå¿ èŠã«ãªããŸãã第äºã«ãæ®ã©ã®Bitcoinãã€ããŒã¯ãããã¯ã®æ€èšŒããã»ã¹ãå®éã¯ããŒã«ã«ã§ã¯è¡ã£ãŠããŸããããã®ä»£ããããããã¯ããããäŸçµŠããããã«ãäžæ¥µéäžãããã€ãã³ã°ããŒã«ã«äŸåããŠããŸãããã®åé¡ã¯ããããããã£ãšã²ã©ããã®ã§ãããã®æç« ãæžããŠããæç¹ã§ããããïŒã®ãã€ãã³ã°ããŒã«ããéæ¥çã«Bitcoinãããã¯ãŒã¯ã®çŽ50%ã®èšç®ãã¯ãŒãã³ã³ãããŒã«ããŠããŸãã(ããããããã€ãã³ã°ããŒã«ãçµèšãããã€ãã³ã°ããŒã«ã51%æ»æãããããšããå Žåããã€ããŒã¯ä»ã®ãã€ãã³ã°ããŒã«ãžç§»ãäºã§ãã®ç¶æ³ã¯ç·©åã¯ã§ããããã©ã)
çŸåš Ethereum ã䜿çšããããšããŠããã¢ã«ãŽãªãºã ã§ã¯ããã€ããŒã¯ããããã¯ãã§ãŒã³ã®ãç¶æ ããããšã« ã©ã³ãã ãªããŒã¿ ãäœãåºãããããã¯ãã§ã€ã³ã®æåŸã®Nãããã¯ããã©ã³ãã ã«éžã°ãããã©ã³ã¶ã¯ã·ã§ã³ãèšç®ããçµæã®ããã·ã¥ãè¿ãäºãèŠæ±ãããŸããããã¯äºã€ã®éèŠãªå©ç¹ããããŸãã第äžã«ãEthereum ã® contract ã¯ã©ã®ãããªçš®é¡ã®æŒç®ãåã蟌ãäºãã§ãããããEthereumçšã®ASICã¯æ±çšçãªèšç®çšã®ASICã«ãªãã§ããã ㌠ããªãã¡ãããè¯ãCPUã§ãã第äºã«ããã€ãã³ã°ããå®å šãªãããã¯ãã§ã€ã³ãžã®ã¢ã¯ã»ã¹ãèŠæ±ããŸãããã®çµæããã€ããŒã«ãå®å šãªãããã¯ãã§ã€ã³ã®ä¿æããããŠå°ãªããšãå šãŠã®ãã©ã³ã¶ã¯ã·ã§ã³ãæ€èšŒã§ããããšã匷å¶ããŸããããã¯äžæ¥µéäžãããã€ãã³ã°ããŒã«ã®å¿ èŠæ§ãåãé€ãããšã«ãªããŸãããã€ãã³ã°ããŒã«ã¯ãå ±é ¬åé ã®ç¢ºçãå¹³æºåãã圹å²ãæãããŠããŸããããã®ãã€ãã³ã°ããŒã«ã®æ©èœã¯ãP2PããŒã«ã«ãã£ãŠäžå€®çãªç®¡çç¡ãã§ãåããããäžæãå®çŸã§ããŸãã
ãã®ã¢ãã«ã¯ãŸã ãã¹ããããŠããŸããããããŠãã€ãã³ã°ã¢ã«ãŽãªãºã ãšããŠcontractãå®è¡ããæãéäžã§å·§åŠãªæé©åãé¿ããã®ã¯å°é£ãããããŸããããããããã®ã¢ã«ãŽãªãºã ã®é¢çœãç¹åŸŽã®äžã€ã¯ã倧éã®contractããããçš®é¡ã®ASICã劚害ããããç¹å¥ã«èšèšããããããã¯ãã§ã€ã³ã«å°å ¥ããäºã§ã誰ã§ãäºæžã«æ¯ãçãäºãã§ãããšããããšã§ããASIC 補é è ã«ã¯ãäºãã«ãã®ãããªããªãã¯ã䜿ã£ãŠæ»æããçµæžçãªã€ã³ã»ã³ãã£ããååšããŸãããã£ãŠãæã ãéçºäžã®ãœãªã¥ãŒã·ã§ã³ã¯ãçŽç²ãªãã¯ãã«ã«ãªãã®ãšããããããçªãè©°ãããšçµæžçã人éçãªãã®ã§ãã
Ethereumã«é¢ããããããæžå¿µç¹ã®äžã€ã¯ãã¹ã±ãŒã©ããªãã£ã®åé¡ã§ããBitcoin ã®ããã«ãEthereum ã§ã¯ãå šãŠã®ãã©ã³ã¶ã¯ã·ã§ã³ããããã¯ãŒã¯äžã®å šãŠã®ããŒãã§å®è¡ãããå¿ èŠãããããšããæ¬ ç¹ããããŸããBitcoin ã®çŸåšã®ãããã¯ãã§ã€ã³ã®ãµã€ãºã¯çŽ15GBã§ãããäžæéããšã«1MBå¢å ããŠããŸãããã Bitcoin ãããã¯ãŒã¯ã Visa ã®ããã«äžç§åœãã 2000 ãã©ã³ã¶ã¯ã·ã§ã³ ãåŠçãããšããå Žåã3 ç§åœãã1MB(ïŒæéããã1GB, äžå¹Žåœãã8TB)å¢å ããããšã«ãªããŸããEthereum ãåãæé·ãã¿ãŒã³ãçµéšããã§ããããBitcoin ã®ãããªãã ã®é貚ãšã¯ç°ãªããEthereum ãããã¯ãã§ã€ã³äžã«æ§ã ãªã¢ããªã±ãŒã·ã§ã³ãååšãããšããäºã¯ããã®æé·ãã¿ãŒã³ãæªåãããã§ããããããããEthereum ã®ãã«ããŒãã¯ããããã¯ãã§ã€ã³ã®å šãŠã®å±¥æŽã«ä»£ãããç¶æ ã ããä¿æããã°è¯ããšããäºã¯ããã®æé·ãã¿ãŒã³ãæ¹åããã§ãããã
ãã®ãããªå·šå€§ãªãããã¯ãã§ã€ã³ãµã€ãºã«é¢ããåé¡ã¯ãäžå€®éæš©åã®ãªã¹ã¯ã§ããä»®ã«ãããã¯ãã§ã€ã³ã®ãµã€ãºã100TBã«ãªã£ããšããŸãããã®ãšãæ³å®ãããã®ã¯ãéåžžã«å°æ°ã®å€§äŒæ¥ããã«ããŒãã皌åãããäžæ¹ãéåžžã®ãŠãŒã¶ãŒã¯ã©ã€ããªSPVããŒãã䜿ããšããã·ããªãªã§ãããã®ãããªç¶æ³ã§ã¯ããã«ããŒãããå©çãåŸãããã«çµèšããŠäžæ£è¡çºã«åæãããããããªããšãããæœåšçãªæžå¿µãçºçããŸããïŒäŸãã°ããããã¯å ±é ¬ãå€æŽãããèªåéã«BTCãäžããããªã©)ãã©ã€ãããŒãã¯ããããå³åº§ã«æ€ç¥ããæ¹æ³ããããŸããããã¡ãããå°ãªããšãäžã€ã¯æ£çŽãªãã«ããŒããååšããã§ãããããæ°æéåŸã«ã¯ãäžæ£è¡çºã«é¢ããæ å ±ã¯ãRedditã®ãããªãã£ã³ãã«ãéããŠåºãŸãã§ãããããããããã®æç¹ã§ã¯ããé ãããã®ã§ããã€ãŸããäžãããããããã¯ããã©ãã¯ãªã¹ãã«èŒãããã©ããã¯äžè¬ãŠãŒã¶ã«å§ããããŠããã51ïŒ æ»æãæã¿åãã®ãšåèŠæš¡ãªã倧èŠæš¡ãã€ããããã¯å®è¡äžå¯èœãªèª¿æŽã®åé¡ãªã®ã§ããBitcoin ã®å Žåããã®ããšã¯çŸåšåé¡ã«ãªã£ãŠããŸãããããPeter Todd ã®ææ¡ããã®åé¡ãç·©åããã§ãããã
è¿ãå°æ¥ãEthereum ã¯ãã®åé¡ã«å¯ŸåŠããããããããªãäºã€ã®å¯Ÿçãæ¡çšããäºå®ã§ãã第äžã«ããããã¯ãã§ã€ã³ããŒã¹ã®ãã€ãã³ã°ã¢ã«ãŽãªãºã ãªã®ã§ããããªããšãå
šãŠã®ãã€ããŒããã«ããŒãã«ãªãäºã匷å¶ããŸãããã®çµæããã«ããŒãæ°ã®äžéãã§ããŸãã第äºã«ãããã«éèŠãªã®ã¯ãåãã©ã³ã¶ã¯ã·ã§ã³ãåŠçããåŸããããã¯ãã§ã€ã³å
éšã«äžéç¶æ
æšã«ãŒããå«ããŸããããšãããããã¯ã®æ€èšŒãäžå€®éæš©åãããšããŠããäžã€ã®æ£çŽãªèªèšŒããŒããååšããéããäžå€®éæš©åé¡ã¯æ€èšŒãããã³ã«ã«ããåé¿å¯èœã§ããããããããã€ããŒãç¡å¹ãªãããã¯ãçºè¡ããå Žåããã®ãããã¯ã¯ãã©ãŒããããééã£ãŠãããããããã¯ç¶æ
S[n]
ãæ£ãããªãããã®äœããã«éããããŸãããS[0]
ã¯æ£ããäºãåãã£ãŠããã®ã§ãã©ããã«S[i-1]
ã¯æ£ããããS[i]
ã¯æ£ãããªããšããæåã®ç¶æ
ãååšããªããã°ãããŸãããæ€èšŒããŒãã¯ãAPPLY(S[i-1],TX[i]) -> S[i]
ãåŠçããã®ã«å¿
èŠãªãããªã·ã¢æšããŒãã®ãµãã»ããããæ§æããã"ç¡å¹èšŒæ"ãšå
±ã«ãã€ã³ããã¯ã¹ i
ãæäŸããŸããããŒãã¯ããããã®æ€èšŒããŒãããæŒç®ã®äžéšãšããŠå®è¡ããããäžããããS[i]
ãšçæãããS[i]
ããããããªãäºã確ããããããã®ã«å©çšã§ããã§ãããã
ããäžã€ã®ããæŽç·Žãããæ»æã¯ãæªæã®ãããã€ããŒã«ããäžå®å šãªãããã¯ã®çºè¡ã§ããããã«ããããããã¯ãæå¹ãã©ããã決å®ããã®ã«ãååãªæ å ±ãååšããªãããšã«ãªããŸãããã®æ»æã«å¯Ÿãã解決ç㯠challenge-response ãããã³ã«ã§ããã€ãŸããæ€èšŒããŒãã¯ãã¿ãŒã²ãããšãªããã©ã³ã¶ã¯ã·ã§ã³ã®ã€ã³ããã¯ã¹ã®åœ¢åŒã§ã challenge ããçºè¡ããŸãããããŠã軜éããŒãã¯ãããããŒããåãä»ãããšã(ãã€ããŒãæ€èšŒããŒããã«é¢ããã)å¥ã®ããŒããæå¹èšŒæãšããŠã®ãããªã·ã¢ããŒãã®éšåéåãæäŸãããŸã§ããããã¯ãä¿¡çšã§ããªããã®ãšããŠæ±ããŸãã
Ethereum ãããã³ã«ã¯ãå ã ã¯ãã¢ããã°ã¬ãŒãçã®æå·é貚ãšèããããŠããŸããããããã¯ãã§ã€ã³äžã§ããšã¹ã¯ããŒãåŒãåºãäžéãéèã³ã³ãã©ã¯ããã®ã£ã³ãã«ããŒã±ãããšãã£ãé²ãã æ©èœããé«åºŠã«äžè¬åãããããã°ã©ãã³ã°èšèªãéããŠæäŸããæå·é貚ã§ããEthereum ã®ãããã³ã«ã¯ã©ããªã¢ããªã±ãŒã·ã§ã³ãçŽæ¥ã«ã¯ãµããŒãããããã¥ãŒãªã³ã°å®å šãªããã°ã©ãã³ã°èšèªã®ã¿ãååšããŸããããã¯ãçè«çã«ã¯ãã©ã®ãããªãã©ã³ã¶ã¯ã·ã§ã³ãã¢ããªã±ãŒã·ã§ã³ã«å¯ŸããŠããä»»æã®ã³ã³ãã©ã¯ããäœãããšããããšã§ããããããEthereum ã«ã€ããŠãããã«èå³æ·±ãäºã¯ãEthereum ã®ãããã³ã«ã¯åãªãé貚ãè¶ ããŠãããšããããšã§ãã
åæ£åãã¡ã€ã«ã¹ãã¬ãŒãžãåæ£åã³ã³ãã¥ãŒãã£ã³ã°ãããã³åæ£åäºæ³åžå Žã«é¢ãããããã³ã«ã¯ããã®ä»å€ãã®ã¢ã€ãã€ã¢ã®äžã§ãç¹ã«ãèšç®ã®å¹çãé£èºçã«åäžãããå¯èœæ§ããããŸãããããŠããã®ä»ã®P2Pãããã³ã«ããçµæžã¬ã€ã€ãŒãå ããããšã«ããã匷åã«åŸæŒãããŸããæçµçã«ã¯ããéãšã¯å šãé¢ä¿ã®ãªãæ°ã ã®ã¢ããªã±ãŒã·ã§ã³ãçŸããã§ãããã
Ethereum ãããã³ã«ã«ãã£ãŠå®è£ ãããç¶æ é·ç§»é¢æ°ã®ã³ã³ã»ããã¯ããŠããŒã¯ãªå¯èœæ§ãæã£ããã©ãããã©ãŒã ã§ããEthereumã¯ãããŒã¿ã¹ãã¬ãŒãžãã®ã£ã³ãã«ãéèãªã©ã®ç¹å®ã®ã¢ããªã±ãŒã·ã§ã³ãæå³ããã¯ããŒãºãã§åäžã®ç®çãæã€ãããã³ã«ã§ã¯ãªãã ãªãŒãã³ãªèšèšã«ãªã£ãŠããŸããæã ã¯ãEthereumããä»åŸã®éèããã³ééèã®å€ãã®ãããã³ã«ã®åºç€ã¬ã€ã€ãŒãšããŠã éåžžã«é©ãããã®ã§ãããšä¿¡ããŠããŸãã
- Bitcoin ã®ã¢ãã¬ã¹ãå ¬ééµãã®ãã®ã§ã¯ç¡ããæ¥åæ²ç·å ¬ééµã®ããã·ã¥ã§ããããšã«æ°ã¥ããããããŸãããã å®éã¯ãå ¬ééµããã·ã¥ãå ¬ééµãšåŒã¶ã®ã¯ãæå·çšèªãšããŠã¯æ£ããåŒã³æ¹ã§ãã ããã¯ãBitcoin ã®æå·æ³ã¯ãç¹å¥ãªããžã¿ã«çœ²åã¢ã«ãŽãªãºã ã§ããããã§ãã ãã®ã¢ã«ãŽãªãºã ã§ã¯ãå ¬ééµã¯æ¥åæ²ç·(以äžECC)å ¬ééµã®ããã·ã¥ããæ§æããã 眲åã¯ECC眲åãšçµåããECCå ¬ééµããæ§æãããŸãã ãããŠãæ€èšŒã¢ã«ãŽãªãºã ã¯ãå ¬ééµãšããŠäžããããECCå ¬ééµããã·ã¥ã«å¯ŸããŠçœ²åå ã®ECCå ¬ééµããã§ãã¯ããŠã ç¶ããŠãECCå ¬ééµã«å¯ŸããŠECC眲åãæ€èšŒãããŸãã
- æè¡çã«ã¯ã11ååã®ãããã¯ã®äžå€®å€ã§ãã
- å éšçã«ã¯ 2 ã "CHARLIE" ãäž¡æ¹ãšãçªå·ã§ãã åŸè 㯠ããã°ãšã³ãã£ã¢ã³ã®256ãããããŒã¹ ã®è¡šçŸã§ããçªå·ã¯æå°ã§ 0 ãæ倧㧠2256-1 ãåãäºãã§ããŸãã
- [jp-1] ABCD Hashcash ããºã« : Adam Back's computationally difficult Hashcash puzzles
- [jp-2] ãšã³ãããã¯ããªã¢ : æ°èŠäºæ¥è ãããåžå Žãžåå ¥ããã®ã«ãããã³ã¹ããhttps://en.wikipedia.org/wiki/Barriers_to_entry
- Intrinsic value: http://bitcoinmagazine.com/8640/an-exploration-of-intrinsic-value-what-it-is-why-bitcoin-doesnt-have-it-and-why-bitcoin-does-have-it/
- Smart property: https://en.bitcoin.it/wiki/Smart_Property
- Smart contracts: https://en.bitcoin.it/wiki/Contracts
- B-money: http://www.weidai.com/bmoney.txt
- Reusable proofs of work: http://www.finney.org/~hal/rpow/
- Secure property titles with owner authority: http://szabo.best.vwh.net/securetitle.html
- Bitcoin whitepaper: http://bitcoin.org/bitcoin.pdf
- Namecoin: https://namecoin.org/
- Zooko's triangle: http://en.wikipedia.org/wiki/Zooko's_triangle
- Colored coins whitepaper: https://docs.google.com/a/buterin.com/document/d/1AnkP_cVZTCMLIzw4DvsW6M8Q2JC0lIzrTLuoWu2z1BE/edit
- Mastercoin whitepaper: https://github.com/mastercoin-MSC/spec
- Decentralized autonomous corporations, Bitcoin Magazine: http://bitcoinmagazine.com/7050/bootstrapping-a-decentralized-autonomous-corporation-part-i/
- Simplified payment verification: https://en.bitcoin.it/wiki/Scalability#Simplifiedpaymentverification
- Merkle trees: http://en.wikipedia.org/wiki/Merkle_tree
- Patricia trees: http://en.wikipedia.org/wiki/Patricia_tree
- GHOST: http://www.cs.huji.ac.il/~avivz/pubs/13/btc_scalability_full.pdf
- StorJ and Autonomous Agents, Jeff Garzik: http://garzikrants.blogspot.ca/2013/01/storj-and-bitcoin-autonomous-agents.html
- Mike Hearn on Smart Property at Turing Festival: http://www.youtube.com/watch?v=Pu4PAMFPo5Y
- Ethereum RLP: https://github.com/ethereum/wiki/wiki/%5BEnglish%5D-RLP
- Ethereum Merkle Patricia trees: https://github.com/ethereum/wiki/wiki/%5BEnglish%5D-Patricia-Tree
- Peter Todd on Merkle sum trees: http://sourceforge.net/p/bitcoin/mailman/message/31709140/