ãããã¯ãã§ãŒã³æè¡ãã¹ããŒãã³ã³ãã©ã¯ããã»ãã¥ãªãã£ãéçºããŒã«ãç¶²çŸ ããäžçäžã®éçºè ãç®æãæ¹ã ã®ããã«æå·è³ç£ããã°ã©ãã³ã°ã®äžçãæ¢æ±ããŸãã
æå·è³ç£ããã°ã©ãã³ã°ïŒã°ããŒãã«éçºè åãã®å æ¬çã¬ã€ã
æå·è³ç£ããã°ã©ãã³ã°ã¯æ¥éã«é²åããŠããåéã§ãããäžçäžã®éçºè ã忣åã¢ããªã±ãŒã·ã§ã³ïŒdAppsïŒãæ§ç¯ããæ°ããããžã¿ã«è³ç£ãäœæããæ¡å€§ãããããã¯ãã§ãŒã³ãšã³ã·ã¹ãã ã«è²¢ç®ããããšãå¯èœã«ããŸãããã®ã¬ã€ãã§ã¯ãæå·è³ç£ããã°ã©ãã³ã°ã®å æ¬çãªæŠèŠãæäŸããåºæ¬çãªæŠå¿µãéçºããŒã«ãã»ãã¥ãªãã£ã®ãã¹ããã©ã¯ãã£ã¹ããããŠå°æ¥ã®ãã¬ã³ããããã¹ãŠã°ããŒãã«ãªèŠç¹ãã解説ããŸãã
æå·è³ç£ããã°ã©ãã³ã°ãšã¯ïŒ
æå·è³ç£ããã°ã©ãã³ã°ãšã¯ãæ§ã ãªããã°ã©ãã³ã°èšèªãããŒã«ã䜿çšããŠãããã¯ãã§ãŒã³ãããã¯ãŒã¯ãšå¯Ÿè©±ããã¹ããŒãã³ã³ãã©ã¯ããäœæãã忣åã¢ããªã±ãŒã·ã§ã³ãéçºããããšã§ããããã¯ãæå·æè¡ãã³ã³ãã¥ãŒã¿ãµã€ãšã³ã¹ãçµæžåŠãã²ãŒã çè«ãªã©å€å²ã«ãããåéã®ç¥èãå¿ èŠãšããŸãã
åŸæ¥ã®ãœãããŠã§ã¢éçºãšã¯ç°ãªããæå·è³ç£ããã°ã©ãã³ã°ã§ã¯ãæå·æè¡ã®ååãã³ã³ã»ã³ãµã¹ã¢ã«ãŽãªãºã ïŒProof-of-WorkãProof-of-Stakeãªã©ïŒããããŠäœæ¥å¯Ÿè±¡ã®ãããã¯ãã§ãŒã³ãããã¯ãŒã¯ã®ç¹å®ã®ã¢ãŒããã¯ãã£ã«ã€ããŠæ·±ãçè§£ãæ±ããããŸããäŸãã°ããããã³ã€ã³ã®ã¹ã¯ãªããèšèªã®ãã¥ã¢ã³ã¹ã¯ã€ãŒãµãªã¢ã ã®Solidityãšã¯å€§ããç°ãªããããæå³ããã¢ããªã±ãŒã·ã§ã³ã«å¿ããŠéäžçãªåŠç¿ãå¿ èŠã§ãã
ãªãæå·è³ç£ããã°ã©ãã³ã°ãåŠã¶ã®ãïŒ
- é«ãéèŠïŒ ãããã¯ãã§ãŒã³éçºè ã¯äžçäžã§é«ãéèŠããããç«¶äºåã®ãã絊äžãšæ°å€ãã®æ©äŒããããŸããã·ãªã³ã³ãã¬ãŒããã·ã³ã¬ããŒã«ãŸã§ãäŒæ¥ã¯çç·Žãããããã¯ãã§ãŒã³ãšã³ãžãã¢ãç©æ¥µçã«æ±ããŠããŸãã
- ã€ãããŒã·ã§ã³ïŒ æå·è³ç£ããã°ã©ãã³ã°ã«ãããæè¡é©æ°ã®æåç·ã«ç«ã¡ãéèããµãã©ã€ãã§ãŒã³ããã«ã¹ã±ã¢ãã²ãŒã ãªã©ã®åŸæ¥ã®ç£æ¥ãç Žå£ãããœãªã¥ãŒã·ã§ã³ãæ§ç¯ã§ããŸãã
- 忣åïŒ åäžã®ãšã³ãã£ãã£ã«ãã£ãŠå¶åŸ¡ãããªãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããšã§ããã忣åããéææ§ã®é«ãäžçã«è²¢ç®ããŸããããã¯ãããŒã¿ã®ãã©ã€ãã·ãŒãšãŠãŒã¶ãŒã®ãšã³ãã¯ãŒã¡ã³ããæ±ããäžççãªåããšå ±é³ŽããŸãã
- ãªãŒãã³ãœãŒã¹ïŒ æå·è³ç£ãšã³ã·ã¹ãã ã®å€ãã¯ãªãŒãã³ãœãŒã¹ã§ãããäžçäžã®éçºè éã®ã³ã©ãã¬ãŒã·ã§ã³ãšç¥èå ±æãä¿é²ããŠããŸãããã®ååçãªç²Ÿç¥ã¯ãå°ççãªéå£ãä¹ãè¶ããåœå¢ãè¶ããã€ãããŒã·ã§ã³ãè²ã¿ãŸãã
- éèæ©äŒïŒ 忣åéèïŒDeFiïŒãNFTãè³ç£ã®ããŒã¯ã³åãªã©ãæ°ããéèã¢ãã«ãšæ©äŒãæ¢æ±ã§ããŸãã
æå·è³ç£ããã°ã©ãã³ã°ã«ãããäž»èŠæŠå¿µ
ãããã¯ãã§ãŒã³æè¡
ãããã¯ãã§ãŒã³ãšã¯ããã©ã³ã¶ã¯ã·ã§ã³ãå®å šãã€éææ§ã®é«ãæ¹æ³ã§èšé²ããã忣åã®äžå€ãªå°åž³ã§ãããããã¯ãã§ãŒã³ã®ã¢ãŒããã¯ãã£ãçè§£ããããšã¯ãæå·è³ç£ããã°ã©ãã³ã°ã®åºæ¬ã§ãã
ãããã¯ãã§ãŒã³ã®äž»èŠãªæ§æèŠçŽ ïŒ
- ãããã¯ïŒ ãã©ã³ã¶ã¯ã·ã§ã³æ å ±ãä¿åããããŒã¿ã³ã³ãããåãããã¯ã¯åã®ãããã¯ã®æå·åŠçããã·ã¥ãå«ã¿ããã§ãŒã³ã圢æããŸãã
- ãã©ã³ã¶ã¯ã·ã§ã³ïŒ ãããã¯ãŒã¯äžã®åå è éã®äŸ¡å€ã®ç§»è»¢ã®èšé²ã
- ããŒãïŒ ãããã¯ãã§ãŒã³ãç¶æããæ€èšŒããã³ã³ãã¥ãŒã¿ã
- ã³ã³ã»ã³ãµã¹ã¡ã«ããºã ïŒ ãã©ã³ã¶ã¯ã·ã§ã³ã®æå¹æ§ãšãããã¯ãã§ãŒã³ã®ç¶æ ã«ã€ããŠããŒãéã®åæãä¿èšŒããã¢ã«ãŽãªãºã ïŒäŸïŒProof-of-WorkãProof-of-StakeïŒã
ç°ãªããããã¯ãã§ãŒã³ãã©ãããã©ãŒã ã¯ãæ§ã ãªç¹åŸŽãæ©èœãæäŸããŸããäŸãã°ããããã³ã€ã³ã¯äž»ã«å®å šãªãã¢ããŒãã¢ã®äŸ¡å€ç§»è»¢ã«çŠç¹ãåœãŠãŠããŸãããã€ãŒãµãªã¢ã ã¯ã¹ããŒãã³ã³ãã©ã¯ããdAppsãæ§ç¯ããããã®ãã倿©èœãªãã©ãããã©ãŒã ãæäŸããŸããCardanoãSolanaãPolkadotãªã©ã®ä»ã®ãã©ãããã©ãŒã ã¯ã代æ¿ã®ã¢ãŒããã¯ãã£ãã³ã³ã»ã³ãµã¹ã¡ã«ããºã ãæäŸããŠããŸãã
æå·æè¡
æå·æè¡ã¯ãããã¯ãã§ãŒã³ã»ãã¥ãªãã£ã®åºç€ã§ããå®å šãªæå·è³ç£ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã«ã¯ãæå·æè¡ã®æŠå¿µãçè§£ããããšãäžå¯æ¬ ã§ãã
äžå¯æ¬ ãªæå·æè¡ã®æŠå¿µïŒ
- ããã·ã¥åïŒ ããŒã¿ã®äžæã§åºå®é·ã®ãã£ã³ã¬ãŒããªã³ããäœæããããšãããã·ã¥é¢æ°ã¯ããŒã¿ã®å®å šæ§ãæ€èšŒããããŒã¿ãæ¹ãããããŠããªãããšãä¿èšŒããããã«äœ¿çšãããŸããSHA-256ã¯ãããã³ã€ã³ã§äœ¿ãããäžè¬çãªããã·ã¥ã¢ã«ãŽãªãºã ã§ãã
- ããžã¿ã«çœ²åïŒ ç§å¯éµã䜿çšããŠããžã¿ã«çœ²åãäœæãã察å¿ããå ¬ééµãæã€èª°ã§ãæ€èšŒã§ããããã«ããŸããããžã¿ã«çœ²åã¯ãã©ã³ã¶ã¯ã·ã§ã³ã®çæ£æ§ãšå®å šæ§ãä¿èšŒããŸãã
- å ¬é鵿å·ïŒ éµãã¢ïŒå ¬ééµãšç§å¯éµïŒã䜿çšããŠããŒã¿ãæå·åããã³åŸ©å·åããŸããå ¬ééµã¯ããŒã¿ã®æå·åã«äœ¿çšããã察å¿ããç§å¯éµã ããããã埩å·åã§ããŸããããã¯ããã©ã³ã¶ã¯ã·ã§ã³ãä¿è·ããæå·è³ç£ãŠã©ã¬ãããžã®ã¢ã¯ã»ã¹ãå¶åŸ¡ããããã®åºæ¬ã§ãã
- ããŒã¯ã«ããªãŒïŒ å€§èŠæš¡ãªããŒã¿ã»ããã®å®å šæ§ãå¹ççã«æ€èšŒããããã«äœ¿çšãããããŒã¿æ§é ãããŒã¯ã«ããªãŒã¯ããããã¯å ã®ãã©ã³ã¶ã¯ã·ã§ã³ã®å®å šæ§ãæ€èšŒããããã«ãããã¯ãã§ãŒã³ã§äœ¿çšãããŸãã
ãããã®æå·æè¡ã®æŠå¿µãçè§£ããããšã¯ãåã«ããããå®è£ ããããšã ãã§ã¯ãããŸããããããã®éçãšæœåšçãªè匱æ§ãçè§£ããããšãéèŠã§ããäŸãã°ãéµã®æŒæŽ©ãªã¹ã¯ãçè§£ããããšã¯ãå®å šãªéµç®¡çã·ã¹ãã ãèšèšããäžã§äžå¯æ¬ ã§ãã
ã¹ããŒãã³ã³ãã©ã¯ã
ã¹ããŒãã³ã³ãã©ã¯ãã¯ãã³ãŒãã§æžããããããã¯ãã§ãŒã³äžã«ä¿åãããèªå·±å®è¡åã®å¥çŽã§ããç¹å®ã®æ¡ä»¶ãæºãããããšãå¥çŽã®æ¡é ãèªåçã«å®è¡ããŸãã
ã¹ããŒãã³ã³ãã©ã¯ãã®äž»ãªç¹åŸŽïŒ
- äžå€æ§ïŒ äžåºŠãããã€ããããšãã¹ããŒãã³ã³ãã©ã¯ãã¯å€æŽã§ããŸããã
- éææ§ïŒ ã¹ããŒãã³ã³ãã©ã¯ãã®ã³ãŒãã¯ãããã¯ãã§ãŒã³äžã§å ¬éãããŠããŸãã
- èªåŸæ§ïŒ ã¹ããŒãã³ã³ãã©ã¯ãã¯ä»²ä»è ãå¿ èŠãšããã«èªåçã«å®è¡ãããŸãã
- 忣æ§ïŒ ã¹ããŒãã³ã³ãã©ã¯ãã¯ããŒãã®ãããã¯ãŒã¯ã«ãã£ãŠå®è¡ããããããæ€é²ãåäžé害ç¹ã«å¯ŸããŠèæ§ããããŸãã
ã¹ããŒãã³ã³ãã©ã¯ãã«ã¯ã以äžã®ãããªå€æ°ã®å¿çšäŸããããŸãïŒ
- 忣åéèïŒDeFiïŒïŒ 仲ä»è ãªãã§ã®è²žä»ãåå ¥ãååŒãªã©ã®éèãµãŒãã¹ã
- ãµãã©ã€ãã§ãŒã³ç®¡çïŒ è£œåãææãçç£å°ããæ¶è²»è ãŸã§è¿œè·¡ã
- ãã«ã¹ã±ã¢ïŒ å»çèšé²ãå®å šã«ä¿åãå ±æã
- ã²ãŒã ïŒ èšŒæå¯èœã«å ¬æ£ã§éæãªã²ãŒã ãã©ãããã©ãŒã ã®äœæã
- æç¥šïŒ å®å šã§æ¹ããäžå¯èœãªæç¥šã·ã¹ãã ã®æ§ç¯ã
ã¹ããŒãã³ã³ãã©ã¯ããã©ãããã©ãŒã ã®äŸã«ã¯ãEthereumãSolanaãCardanoãPolkadotãªã©ããããããããç¬èªã®ããã°ã©ãã³ã°èšèªãšéçºç°å¢ãæã£ãŠããŸãã
æå·è³ç£éçºã®ããã®ããã°ã©ãã³ã°èšèª
Solidity
Solidityã¯ãã€ãŒãµãªã¢ã ãããã¯ãã§ãŒã³äžã§ã¹ããŒãã³ã³ãã©ã¯ããäœæããããã®æã人æ°ã®ããããã°ã©ãã³ã°èšèªã§ããJavaScriptãC++ã«äŒŒã髿°Žæºã®ãªããžã§ã¯ãæåèšèªã§ãã
Solidityã®äž»ãªç¹åŸŽïŒ
- éçåä»ãïŒ ããŒã¿åãæç€ºçã«å®çŸ©ãããããããšã©ãŒãé²ãã®ã«åœ¹ç«ã¡ãŸãã
- ãªããžã§ã¯ãæåïŒ ç¶æ¿ãããªã¢ãŒãã£ãºã ãã«ãã»ã«åãªã©ã®æŠå¿µããµããŒãããŸãã
- ãã¥ãŒãªã³ã°å®å šïŒ èšç®å¯èœãªãããã颿°ãå®è¡ã§ããŸãã
- ã¬ã¹æé©åïŒ éçºè ã¯ãã¹ããŒãã³ã³ãã©ã¯ããæ¶è²»ããèšç®ãªãœãŒã¹ïŒã¬ã¹ïŒã®éãæ éã«ç®¡çããå¿ èŠããããŸããã¬ã¹ã³ã¹ãã¯ã€ãŒãµãªã¢ã äžã§ã®ã¹ããŒãã³ã³ãã©ã¯ãã®ãããã€ãšå®è¡ã®ã³ã¹ãã«çŽæ¥åœ±é¿ããããã§ãã
Solidityã³ãŒãã®äŸïŒ
pragma solidity ^0.8.0;
contract SimpleStorage {
uint256 storedData;
function set(uint256 x) public {
storedData = x;
}
function get() public view returns (uint256) {
return storedData;
}
}
ãã®ã·ã³ãã«ãªã³ã³ãã©ã¯ãã¯ããããã¯ãã§ãŒã³äžã«æ°å€ãä¿åããååŸããããšãã§ããŸãããã®ã³ã³ãã©ã¯ãããããã€ãã察話ããæ¹æ³ãçè§£ããããšã¯ãSolidityéçºã«ãããéèŠãªç¬¬äžæ©ã§ãã
Rust
Rustã¯ããã®ããã©ãŒãã³ã¹ãå®å šæ§ãäžŠè¡æ§ã®ç¹åŸŽã«ãããæå·è³ç£ã®åéã§äººæ°ãé«ãŸã£ãŠããã·ã¹ãã ããã°ã©ãã³ã°èšèªã§ãããããã¯ãã§ãŒã³ã¯ã©ã€ã¢ã³ããã¹ããŒãã³ã³ãã©ã¯ãããã®ä»ã®éèŠãªã€ã³ãã©ã¹ãã©ã¯ãã£ã®æ§ç¯ã«äœ¿çšãããŸãã
Rustã®äž»ãªç¹åŸŽïŒ
- ã¡ã¢ãªå®å šæ§ïŒ ãã«ãã€ã³ã¿åç §ãããŒã¿ç«¶åãªã©ã®äžè¬çãªããã°ã©ãã³ã°ãšã©ãŒãé²ããŸãã
- ããã©ãŒãã³ã¹ïŒ CãC++ã«å¹æµããŸãã
- äžŠè¡æ§ïŒ å®å šã§å¹ççãªäžŠè¡ããã°ã©ãã³ã°ããµããŒãããŸãã
- WASMã³ã³ãã€ã«ïŒ WebAssemblyïŒWASMïŒã«ã³ã³ãã€ã«ããŠããã©ãŠã¶ãä»ã®ãã©ãããã©ãŒã ã§ã¹ããŒãã³ã³ãã©ã¯ããå®è¡ã§ããŸãã
Rustã¯SolanaãPolkadotãParity Substrateãªã©ã®ãããžã§ã¯ãã§äœ¿çšãããŠããã髿§èœãªãããã¯ãã§ãŒã³ãœãªã¥ãŒã·ã§ã³ãæ§ç¯ããäžã§ã®ãã®å€çšéæ§ã瀺ããŠããŸãã
Vyper
Vyperã¯ãã»ãã¥ãªãã£ãšã·ã³ãã«ãã念é ã«çœ®ããŠèšèšãããã¹ããŒãã³ã³ãã©ã¯ãèšèªã§ããéçºè ãå©çšã§ããæ©èœãå¶éããããšã§ãè匱æ§ã®ãªã¹ã¯ãäœæžããããšãç®æããŠããŸãã
Vyperã®äž»ãªç¹åŸŽïŒ
- éå®ãããæ©èœã»ããïŒ ã¬ã¹ã°ãªãŒãã£ã³ã°æ»æãé²ãããã«ãã«ãŒããååž°ãªã©ã®æ©èœãé€å€ããŠããŸãã
- ç£æ»å¯èœãªã³ãŒãïŒ å®¹æãªç£æ»ãšæ€èšŒã®ããã«èšèšãããŠããŸãã
- Pythonã©ã€ã¯ãªæ§æïŒ Pythonã«ç²Ÿéããéçºè ã«ãšã£ãŠåŠç¿ã容æã§ãã
Vyperã¯ã倧éã®è³éãæ±ãDeFiã¢ããªã±ãŒã·ã§ã³ãªã©ãã»ãã¥ãªãã£ãæéèŠèŠããããããžã§ã¯ãã«é©ããŠããŸãã
JavaScript/TypeScript
JavaScriptãšTypeScriptã¯ã忣åã¢ããªã±ãŒã·ã§ã³ã®ããã³ããšã³ããšããã¯ãšã³ãã®æ§ç¯ã«åºã䜿çšãããŠããŸããWeb3.jsãEthers.jsã®ãããªã©ã€ãã©ãªãéããŠãããã¯ãã§ãŒã³ãããã¯ãŒã¯ãšå¯Ÿè©±ããããã«äœ¿çšãããŸãã
JavaScript/TypeScriptã®äž»ãªç¹åŸŽïŒ
- å€çšéæ§ïŒ ã¯ã©ã€ã¢ã³ããµã€ããšãµãŒããŒãµã€ãã®äž¡æ¹ã®éçºã«äœ¿çšã§ããŸãã
- åºå€§ãªãšã³ã·ã¹ãã ïŒ èšå€§ãªæ°ã®ã©ã€ãã©ãªãšãã¬ãŒã ã¯ãŒã¯ãå©çšå¯èœã§ãã
- Webãšã®çµ±åïŒ Webãã©ãŠã¶ãä»ã®Webæè¡ãšã·ãŒã ã¬ã¹ã«çµ±åããŸãã
JavaScript/TypeScriptã¯ããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãæ§ç¯ããdAppsããããã¯ãã§ãŒã³ãããã¯ãŒã¯ã«æ¥ç¶ããããã«äžå¯æ¬ ã§ããäŸãã°ãéçºè ã¯ReactïŒJavaScriptã©ã€ãã©ãªïŒãšWeb3.jsãçµã¿åãããŠãã€ãŒãµãªã¢ã ããŒã¹ã®ã¹ããŒãã³ã³ãã©ã¯ããšå¯Ÿè©±ããããã®ãŠãŒã¶ãŒãã¬ã³ããªãŒãªã€ã³ã¿ãŒãã§ãŒã¹ãäœæããããšããããŸãã
æå·è³ç£ããã°ã©ãã³ã°ã®ããã®éçºããŒã«
Remix IDE
Remix IDEã¯ãSolidityã¹ããŒãã³ã³ãã©ã¯ãã®èšè¿°ãã³ã³ãã€ã«ããããã€ãè¡ãããã®ãã©ãŠã¶ããŒã¹ã®çµ±åéçºç°å¢ïŒIDEïŒã§ããè¿ éãªãããã¿ã€ãã³ã°ããã¹ãã«äŸ¿å©ãªããŒã«ã§ãã
Remix IDEã®äž»ãªç¹åŸŽïŒ
- ãã©ãŠã¶å ã³ã³ãã€ã«ïŒ Solidityã³ãŒãããã©ãŠã¶å ã§çŽæ¥ã³ã³ãã€ã«ããŸãã
- ãããã°ïŒ ãšã©ãŒã®ç¹å®ãšä¿®æ£ã®ããã®ãããã°ããŒã«ãæäŸããŸãã
- ãããã€ïŒ ããŒã«ã«ãããã¯ãŒã¯ããã¹ããããã¯ãŒã¯ãžã®ãããã€ãå¯èœã§ãã
- ãã©ã°ã€ã³ãµããŒãïŒ æ©èœæ¡åŒµã®ããã®ãã©ã°ã€ã³ããµããŒãããŸãã
Truffle Suite
Truffle Suiteã¯ãã€ãŒãµãªã¢ã äžã§åæ£åã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®å æ¬çãªéçºãã¬ãŒã ã¯ãŒã¯ã§ããã¹ããŒãã³ã³ãã©ã¯ãã®ã³ã³ãã€ã«ããããã€ããã¹ãã管çã®ããã®ããŒã«ãæäŸããŸãã
Truffle Suiteã®äž»ãªæ§æèŠçŽ ïŒ
- TruffleïŒ ã¹ããŒãã³ã³ãã©ã¯ããããžã§ã¯ãã管çããããã®éçºç°å¢ã
- GanacheïŒ ããŒã«ã«ã§ã®éçºãšãã¹ãã®ããã®ããŒãœãã«ãããã¯ãã§ãŒã³ã
- DrizzleïŒ ã¹ããŒãã³ã³ãã©ã¯ãã®ããŒã¿ãUIãšåæãããããã®ããã³ããšã³ãã©ã€ãã©ãªã
Truffle Suiteã¯ããã®ãããã¯ãã§ãŒã³éçºè ã«åºã䜿çšãããŠãããå ç¢ã§ä¿¡é Œæ§ã®é«ãéçºã¯ãŒã¯ãããŒãæäŸããŸãã
Hardhat
Hardhatã¯ãã€ãŒãµãªã¢ã ã¹ããŒãã³ã³ãã©ã¯ãã®ããã®ããäžã€ã®äººæ°ã®ããéçºç°å¢ã§ãããã®æè»æ§ãéåºŠãæ¡åŒµæ§ã§ç¥ãããŠããŸãã
Hardhatã®äž»ãªç¹åŸŽïŒ
- é«éãªã³ã³ãã€ã«ïŒ ã¹ããŒãã³ã³ãã©ã¯ããè¿ éãã€å¹ççã«ã³ã³ãã€ã«ããŸãã
- æ¡åŒµæ§ïŒ ã«ã¹ã¿ã æ©èœã远å ããããã®ãã©ã°ã€ã³ããµããŒãããŸãã
- ãããã°ïŒ ãšã©ãŒã®ç¹å®ãšä¿®æ£ã®ããã®é«åºŠãªãããã°ããŒã«ãæäŸããŸãã
Hardhatã¯ãé«åºŠã«ã«ã¹ã¿ãã€ãºå¯èœã§å¹ççãªéçºç°å¢ãæ±ããéçºè ã«ãšã£ãŠè¯ãéžæè¢ã§ãã
Web3.js ãš Ethers.js
Web3.jsãšEthers.jsã¯ãJavaScriptã³ãŒãããã€ãŒãµãªã¢ã ãããã¯ãã§ãŒã³ãšå¯Ÿè©±ããããšãå¯èœã«ããJavaScriptã©ã€ãã©ãªã§ãããã©ã³ã¶ã¯ã·ã§ã³ã®éä¿¡ãã¹ããŒãã³ã³ãã©ã¯ãããã®ããŒã¿èªã¿åããã¢ã«ãŠã³ã管çãªã©ã®æ©èœãæäŸããŸãã
Web3.jsãšEthers.jsã®äž»ãªç¹åŸŽïŒ
- ã€ãŒãµãªã¢ã ãšã®å¯Ÿè©±ïŒ ã€ãŒãµãªã¢ã ãããã¯ãã§ãŒã³ãšå¯Ÿè©±ããããã®ã·ã³ãã«ã§çŽæçãªAPIãæäŸããŸãã
- ã¢ã«ãŠã³ã管çïŒ ã€ãŒãµãªã¢ã ã¢ã«ãŠã³ãã管çãããã©ã³ã¶ã¯ã·ã§ã³ã«çœ²åã§ããŸãã
- ã¹ããŒãã³ã³ãã©ã¯ããšã®å¯Ÿè©±ïŒ ã¹ããŒãã³ã³ãã©ã¯ãã®é¢æ°ãåŒã³åºããããŒã¿ãèªã¿åãããã»ã¹ãç°¡çŽ åããŸãã
ãããã®ã©ã€ãã©ãªã¯ã忣åã¢ããªã±ãŒã·ã§ã³ã®ããã³ããšã³ããæ§ç¯ããããã«äžå¯æ¬ ã§ãã
æå·è³ç£ããã°ã©ãã³ã°ã«ãããã»ãã¥ãªãã£ã®ãã¹ããã©ã¯ãã£ã¹
æå·è³ç£ããã°ã©ãã³ã°ã«ãããŠã»ãã¥ãªãã£ã¯æéèŠäºé ã§ããè匱æ§ã¯é倧ãªééçæå€±ã«ã€ãªããå¯èœæ§ããããããã³ãŒããšãŠãŒã¶ãŒãä¿è·ããããã«ã»ãã¥ãªãã£ã®ãã¹ããã©ã¯ãã£ã¹ã«åŸãããšãäžå¯æ¬ ã§ãã
äžè¬çãªè匱æ§
- ãªãšã³ãã©ã³ã·ãŒïŒåå ¥ïŒæ»æïŒ æªæã®ããã³ã³ãã©ã¯ãããå ã®ã³ã³ãã©ã¯ãã®å®è¡ãå®äºããåã«å ã®ã³ã³ãã©ã¯ããåŒã³è¿ããäºæãã¬åäœãè³éã®çé£ãåŒãèµ·ããå¯èœæ§ããããŸãã
- æŽæ°ãªãŒããŒãããŒ/ã¢ã³ããŒãããŒïŒ ããŒã¿åã®ç¯å²å€ã®å€ã«ãªãç®è¡æŒç®ãå®è¡ããäºæãã¬çµæãåŒãèµ·ãããŸãã
- ãµãŒãã¹æåŠïŒDoSïŒæ»æïŒ è匱æ§ãæªçšããŠã¹ããŒãã³ã³ãã©ã¯ãã䜿çšäžèœã«ããæ£åœãªãŠãŒã¶ãŒããã®æ©èœã«ã¢ã¯ã»ã¹ã§ããªãããŸãã
- ããã³ãã©ã³ãã³ã°ïŒ ä¿çäžã®ãã©ã³ã¶ã¯ã·ã§ã³ãç£èŠããå ã®ãã©ã³ã¶ã¯ã·ã§ã³ããå ã«å®è¡ãããããã«ãããé«ãã¬ã¹äŸ¡æ Œã§ãã©ã³ã¶ã¯ã·ã§ã³ãéä¿¡ããŸãã
- ã¿ã€ã ã¹ã¿ã³ãäŸåïŒ ãã€ããŒãäžå®ã®ç¯å²å ã§ã¿ã€ã ã¹ã¿ã³ããæäœã§ãããããéèŠãªããžãã¯ããããã¯ã®ã¿ã€ã ã¹ã¿ã³ãã«äŸåãããããšã
ã»ãã¥ãªãã£å¯Ÿç
- ã³ãŒãç£æ»ïŒ çµéšè±å¯ãªã»ãã¥ãªãã£ç£æ»äººã«ã³ãŒããã¬ãã¥ãŒããŠããããŸãã
- 圢åŒçæ€èšŒïŒ 圢åŒçææ³ãçšããŠã³ãŒãã®æ£ãããæ°åŠçã«èšŒæããŸãã
- éçè§£æïŒ éçè§£æããŒã«ã䜿çšããŠãæœåšçãªè匱æ§ãèªåçã«æ€åºããŸãã
- ãã¡ãžã³ã°ïŒ ãã¡ãžã³ã°ããŒã«ã䜿çšããŠã©ã³ãã ãªå ¥åãçæããã³ãŒãã®å ç¢æ§ããã¹ãããŸãã
- ãã°ããŠã³ãã£ããã°ã©ã ïŒ è匱æ§ãèŠã€ããŠå ±åãããŠãŒã¶ãŒã«å ±å¥šéãäžããŸãã
- æå°æš©éã®ååïŒ ã¹ããŒãã³ã³ãã©ã¯ãã«ã¯å¿ èŠãªæš©éã®ã¿ãä»äžããŸãã
- 宿çãªæŽæ°ïŒ ã¹ããŒãã³ã³ãã©ã¯ããšéçºããŒã«ãææ°ã®ã»ãã¥ãªãã£ãããã§æŽæ°ãç¶ããŸãã
- ã¬ã¹æé©åïŒ ã¹ããŒãã³ã³ãã©ã¯ããæ¶è²»ããã¬ã¹ã®éãæå°éã«æããæ»æå¯Ÿè±¡é åãæžãããŸãã
ã»ãã¥ãªãã£ã¯äžåºŠããã®ä¿®æ£ã§ã¯ãªããç¶ç¶çãªããã»ã¹ã§ããã¹ããŒãã³ã³ãã©ã¯ãã®è匱æ§ãç¶ç¶çã«ç£èŠããã€ã³ã·ãã³ãã«è¿ éã«å¯Ÿå¿ããŠãã ããã
æå·è³ç£ããã°ã©ãã³ã°ã®å°æ¥ã®ãã¬ã³ã
ã¬ã€ã€ãŒ2ã¹ã±ãŒãªã³ã°ãœãªã¥ãŒã·ã§ã³
ã¬ã€ã€ãŒ2ã¹ã±ãŒãªã³ã°ãœãªã¥ãŒã·ã§ã³ã¯ããã©ã³ã¶ã¯ã·ã§ã³ããªããã§ãŒã³ã§åŠçããããšã«ããããããã¯ãã§ãŒã³ãããã¯ãŒã¯ã®ã¹ã±ãŒã©ããªãã£ãåäžãããããšãç®çãšããŠããŸããäŸãšããŠã¯ä»¥äžã®ãã®ããããŸãïŒ
- ããŒã«ã¢ããïŒ è€æ°ã®ãã©ã³ã¶ã¯ã·ã§ã³ãã¡ã€ã³ãã§ãŒã³äžã®åäžã®ãã©ã³ã¶ã¯ã·ã§ã³ã«éçŽããŸãã
- ã¹ããŒããã£ãã«ïŒ ãŠãŒã¶ãŒéã®çŽæ¥çãªå¯Ÿè©±ã®ããã«ãªããã§ãŒã³ãã£ãã«ãäœæããŸãã
- ãµã€ããã§ãŒã³ïŒ ã¡ã€ã³ãã§ãŒã³ã«æ¥ç¶ãããç¬ç«ãããããã¯ãã§ãŒã³ã
ãããã¯ãã§ãŒã³ãããã¯ãŒã¯ãæ··éããã«ã€ããŠãã¹ã±ãŒã©ãã«ãªdAppsãæ§ç¯ããããã«ã¬ã€ã€ãŒ2ã¹ã±ãŒãªã³ã°ãœãªã¥ãŒã·ã§ã³ã¯ãŸããŸãéèŠã«ãªããŸãã
ã¯ãã¹ãã§ãŒã³çžäºéçšæ§
ã¯ãã¹ãã§ãŒã³çžäºéçšæ§ã«ãããç°ãªããããã¯ãã§ãŒã³ãããã¯ãŒã¯ãçžäºã«éä¿¡ããããŒã¿ã亀æã§ããŸããããã«ãããæ°ãããŠãŒã¹ã±ãŒã¹ãå¯èœã«ãªãããããã¯ãã§ãŒã³æè¡ã®æœåšèœåãæå€§éã«åŒãåºãããŸãã
ã¯ãã¹ãã§ãŒã³çžäºéçšæ§ãå¯èœã«ããæè¡ïŒ
- ããªããžïŒ ç°ãªããããã¯ãã§ãŒã³ãããã¯ãŒã¯ãæ¥ç¶ãããããã®éã§è³ç£ã®ç§»è»¢ãå¯èœã«ããŸãã
- ã¢ãããã¯ã¹ã¯ããïŒ ä»²ä»è ãå¿ èŠãšããã«ãç°ãªããããã¯ãã§ãŒã³éã§è³ç£ã®äº€æãå¯èœã«ããŸãã
- çžäºéçšæ§ãããã³ã«ïŒ ç°ãªããããã¯ãã§ãŒã³ãäºãã«éä¿¡ããæ¹æ³ãæšæºåããŸãã
忣åã¢ã€ãã³ãã£ãã£ïŒDIDïŒ
忣åã¢ã€ãã³ãã£ãã£ïŒDIDïŒã«ãããå人ã¯äžå€®éæš©çãªæ©é¢ã«äŸåããããšãªããèªèº«ã®ããžã¿ã«ã¢ã€ãã³ãã£ãã£ã管çã§ããŸããããã¯ãããžã¿ã«æä»£ã«ãããŠãã©ã€ãã·ãŒãä¿è·ãããŠãŒã¶ãŒã«æš©éãäžããäžã§äžå¯æ¬ ã§ãã
DIDã®äž»ãªç¹åŸŽïŒ
- èªå·±äž»æš©åïŒ å人ãèªèº«ã®ã¢ã€ãã³ãã£ãã£ã管çããŸãã
- ããŒã¿ãã«ïŒ ã¢ã€ãã³ãã£ãã£ã¯ç°ãªããã©ãããã©ãŒã ãã¢ããªã±ãŒã·ã§ã³ã§å©çšã§ããŸãã
- ã»ãã¥ã¢ïŒ ã¢ã€ãã³ãã£ãã£ã¯æå·æè¡ãçšããŠä¿è·ãããŸãã
忣åèªåŸçµç¹ïŒDAOïŒ
忣åèªåŸçµç¹ïŒDAOïŒã¯ãã³ãŒãã«ãã£ãŠçµ±æ²»ããããã®ã¡ã³ããŒã«ãã£ãŠç®¡çãããçµç¹ã§ããã³ãã¥ããã£ãããžãã¹ãçµç¹ãã管çããããã®æ°ããæ¹æ³ãæç€ºããŸãã
DAOã®äž»ãªç¹åŸŽïŒ
- éææ§ïŒ ãã¹ãŠã®ã«ãŒã«ãšæ±ºå®ã¯ãããã¯ãã§ãŒã³äžã§å ¬éãããŠããŸãã
- èªåŸæ§ïŒ çµç¹ã¯ããã°ã©ã ãããã«ãŒã«ã«åŸã£ãŠèªåçã«éå¶ãããŸãã
- 忣æ§ïŒ 管çã¯ã¡ã³ããŒéã§åæ£ãããåäžé害ç¹ãé²ããŸãã
çµè«
æå·è³ç£ããã°ã©ãã³ã°ã¯ãéçºè ã忣åæè¡ã®æªæ¥ãç¯ãããã®ãŠããŒã¯ã§åºæ¿çãªæ©äŒãæäŸããŸããåºæ¬æŠå¿µãç¿åŸããé©åãªããã°ã©ãã³ã°èšèªãåŠã³ãå©çšå¯èœãªéçºããŒã«ã掻çšããã»ãã¥ãªãã£ã®ãã¹ããã©ã¯ãã£ã¹ãéµå®ããããšã§ãæé·ãããããã¯ãã§ãŒã³ãšã³ã·ã¹ãã ã«è²¢ç®ããäžçäžã®ãŠãŒã¶ãŒã«å©çããããã驿°çãªãœãªã¥ãŒã·ã§ã³ãçã¿åºãããšãã§ããŸãããã®æè¡ã®ã°ããŒãã«ãªæ§è³ªã¯ããããã®ã¹ãã«ãåŠã¶ããšã§å Žæã«é¢ãããæ©äŒãåãéãã倿§ãªéçºè ãèµ·æ¥å®¶ã®ã³ãã¥ããã£ãšããªããã€ãªãããšãæå³ããŸãã
æå·è³ç£ããã°ã©ãã³ã°ã®æªæ¥ã¯æãããã¹ã±ãŒãªã³ã°ãœãªã¥ãŒã·ã§ã³ãçžäºéçšæ§ã忣åã¢ã€ãã³ãã£ãã£ãDAOã®åéã§ç¶ç¶çãªé²æ©ãèŠãããŸããåžžã«æ å ±ãå ¥æããåŠã³ç¶ããããšã§ããã®æ¥éã«é²åããåéã®æåç·ã«ç«ã€ããšãã§ããŸãã
è¡åãèµ·ãããŸãããïŒ ä»æ¥ããããªãã®æå·è³ç£ããã°ã©ãã³ã°ã®æ ãå§ããŸãããïŒãã®ã¬ã€ãã§èšåãããŠãããªãœãŒã¹ãæ¢æ±ãããªã³ã©ã€ã³ã³ãã¥ããã£ã«åå ããèªåèªèº«ã®åæ£åã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããŠãã ããããããã¯ãã§ãŒã³éçºã®äžçãããªããåŸ ã£ãŠããŸãïŒ