590
Bearbeitungen
C1ph4 (Diskussion | Beiträge) |
C1ph4 (Diskussion | Beiträge) |
||
| Zeile 118: | Zeile 118: | ||
=== Die Ethereum-Virtual-Machine === | === Die Ethereum-Virtual-Machine === | ||
Die [[VM]] von Ethereum (EVM)<ref>{{cite web|url=http://ethdocs.org/en/latest/introduction/what-is-ethereum.html#ethereum-virtual-machine|title=What is Ethereum? — Ethereum Homestead 0.1 documentation|website=ethdocs.org}}</ref><ref name="IESevm">{{cite book|last=Dannen|first=Chris|date=2017|chapter=The EVM|title=Introducing Ethereum and Solidity: Foundations of Cryptocurrency and Blockchain Programming for Beginners|publisher=Apress|pages=47–67|ISBN=9781484225356}}</ref> ist die Entwicklungsumgebung um intelligente Verträge [[smart contracts]] in Ethereum zu schreiben. Die formelle Definition der EVM wurde durch Gavin Wood in einem [[Yellow Paper]] spezifiziert.<ref>[http://gavwood.com/paper.pdf Ethereum Yellow Paper] by Gavin Wood</ref><ref name="DEBA20">{{cite report|last=Triantafyllidis|first=Nikolaos Petros|date=19 February 2016|chapter=The Ethereum Project: Ethereum History|title=Developing an Ethereum Blockchain Application|publisher=University of Amsterdam|page=20}}</ref> Diese läuft in einer [[Sandbox]] und ist ebenso komplett vom Netzwerk, sowie dem Dateisystem und den internen Prozessen des Host-Systems isoliert. Jeder Knoten im Ethereum-Netzwerk stellt eine EVM bereit und führt die selben Instruktionen aus. Es kursieren Umsetzungen der EVM in [[C++]], [[Go (Programmiersprache)|Go]], [[Haskell (Programmiersprache)|Haskell]], [[Java (Programmiersprache)|Java]], [[Python (Programmiersprache)|Python]], [[Ruby (Programmiersprache)|Ruby]], [[Rust (Programmiersprache)|Rust]] und [[WebAssembly]] (befindet sich derzeit noch in Entwicklung).<ref name=AADCBTclients>{{cite book|last1=Asharaf|first1=S.|last2=Adarsh|first2=S.|date=2017|chapter=Appendix 1: Ethereum Clients|title=Decentralized Computing Using Blockchain Technologies and Smart Contracts: Emerging Research and Opportunities|publisher=IGI Global|page=98|isbn=9781522521938}}</ref><ref name="eWASM">{{cite web|url=https://www.crypto-news.net/ethereum-devs-publish-roadmap-for-evm-upgrade/|last=Dannen|first=Chris|date=27 March 2017|title=Ethereum Devs Publish Roadmap for EVM Upgrade|publisher=CryptoNews}}</ref><ref>{{cite web|url=https://entethalliance.atlassian.net/wiki/display/EEA/Ethereum+Client+Implementations|title=Ethereum Client Implementations - EntEthAlliance - Confluence|website=entethalliance.atlassian.net}}</ref> | Die [[VM]] von Ethereum (EVM)<ref>{{cite web|url=http://ethdocs.org/en/latest/introduction/what-is-ethereum.html#ethereum-virtual-machine|title=What is Ethereum? — Ethereum Homestead 0.1 documentation|website=ethdocs.org}}</ref><ref name="IESevm">{{cite book|last=Dannen|first=Chris|date=2017|chapter=The EVM|title=Introducing Ethereum and Solidity: Foundations of Cryptocurrency and Blockchain Programming for Beginners|publisher=Apress|pages=47–67|ISBN=9781484225356}}</ref> ist die Entwicklungsumgebung um intelligente Verträge ([[smart contracts]]) in Ethereum zu schreiben. Die formelle Definition der EVM wurde durch Gavin Wood in einem [[Yellow Paper]] spezifiziert.<ref>[http://gavwood.com/paper.pdf Ethereum Yellow Paper] by Gavin Wood</ref><ref name="DEBA20">{{cite report|last=Triantafyllidis|first=Nikolaos Petros|date=19 February 2016|chapter=The Ethereum Project: Ethereum History|title=Developing an Ethereum Blockchain Application|publisher=University of Amsterdam|page=20}}</ref> Diese läuft in einer [[Sandbox]] und ist ebenso komplett vom Netzwerk, sowie dem Dateisystem und den internen Prozessen des Host-Systems isoliert. Jeder Knoten im Ethereum-Netzwerk stellt eine EVM bereit und führt die selben Instruktionen aus. Es kursieren Umsetzungen der EVM in [[C++]], [[Go (Programmiersprache)|Go]], [[Haskell (Programmiersprache)|Haskell]], [[Java (Programmiersprache)|Java]], [[Python (Programmiersprache)|Python]], [[Ruby (Programmiersprache)|Ruby]], [[Rust (Programmiersprache)|Rust]] und [[WebAssembly]] (befindet sich derzeit noch in Entwicklung).<ref name=AADCBTclients>{{cite book|last1=Asharaf|first1=S.|last2=Adarsh|first2=S.|date=2017|chapter=Appendix 1: Ethereum Clients|title=Decentralized Computing Using Blockchain Technologies and Smart Contracts: Emerging Research and Opportunities|publisher=IGI Global|page=98|isbn=9781522521938}}</ref><ref name="eWASM">{{cite web|url=https://www.crypto-news.net/ethereum-devs-publish-roadmap-for-evm-upgrade/|last=Dannen|first=Chris|date=27 March 2017|title=Ethereum Devs Publish Roadmap for EVM Upgrade|publisher=CryptoNews}}</ref><ref>{{cite web|url=https://entethalliance.atlassian.net/wiki/display/EEA/Ethereum+Client+Implementations|title=Ethereum Client Implementations - EntEthAlliance - Confluence|website=entethalliance.atlassian.net}}</ref> | ||
=== Intelligente Verträge (smart contracts) === | === Intelligente Verträge (smart contracts) === | ||