From ca9d5e1a4d9d31ada5930108c86d05ef8c8cd372 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Sat, 1 Mar 2025 04:42:35 +0000 Subject: [PATCH 1/2] chore: import translations for de --- .../docs/consensus-mechanisms/pow/index.md | 2 +- .../docs/smart-contracts/security/index.md | 2 +- .../docs/smart-contracts/testing/index.md | 44 +++++++++---------- .../translations/de/whitepaper/index.md | 2 +- src/intl/de/common.json | 23 +++++++--- src/intl/de/page-get-eth.json | 2 +- src/intl/de/page-index.json | 6 +-- src/intl/de/page-staking.json | 2 +- src/intl/de/page-wallets-find-wallet.json | 2 +- src/intl/de/page-wallets.json | 2 +- 10 files changed, 48 insertions(+), 39 deletions(-) diff --git a/public/content/translations/de/developers/docs/consensus-mechanisms/pow/index.md b/public/content/translations/de/developers/docs/consensus-mechanisms/pow/index.md index 9c3375d78dd..1ed800dad17 100644 --- a/public/content/translations/de/developers/docs/consensus-mechanisms/pow/index.md +++ b/public/content/translations/de/developers/docs/consensus-mechanisms/pow/index.md @@ -106,4 +106,4 @@ Im Großen und Ganzen hat Proof-of-Stake dasselbe Ziel wie Proof-of-Work: dem de - [Mining](/developers/docs/consensus-mechanisms/pow/mining/) - [Proof-of-Stake](/developers/docs/consensus-mechanisms/pos/) -- [Proof-of-authority](/developers/docs/consensus-mechanisms/poa/) +- [Proof-of-Authority](/developers/docs/consensus-mechanisms/poa/) diff --git a/public/content/translations/de/developers/docs/smart-contracts/security/index.md b/public/content/translations/de/developers/docs/smart-contracts/security/index.md index ac2f0602a13..7db18216b68 100644 --- a/public/content/translations/de/developers/docs/smart-contracts/security/index.md +++ b/public/content/translations/de/developers/docs/smart-contracts/security/index.md @@ -563,7 +563,7 @@ Wenn Sie vorhaben, ein On-Chain-Orakel für Asset-Preise abzufragen, sollten Sie - **[Smart Contract Security Verification Standard](https://github.com/securing/SCSVS)** - _Vierzehnteilige Checkliste zur Standardisierung der Sicherheit von Smart Contracts für Entwickler, Architekten, Sicherheitsüberprüfer und Anbieter._ -- **[Smart-Contract-Sicherheit und -Auditing erlernen](https://updraft.cyfrin.io/courses/security)** – _der ultimative Kurs für Smart-Contract-Sicherheit und -Auditing, der für Smart-Contract-Entwickler erstellt wurde, die ihre Best Practices zur Sicherheit verbessern und Sicherheitsforscher werden möchten._ +- **[Smart-Contract-Sicherheit und -Auditing erlernen](https://updraft.cyfrin.io/courses/security) – _der ultimative Kurs für Smart-Contract-Sicherheit und -Auditing, der für Smart-Contract-Entwickler erstellt wurde, die ihre Best Practices zur Sicherheit verbessern und Sicherheitsforscher werden möchten._ ### Tutorials zur Sicherheit von Smart Contracts {#tutorials-on-smart-contract-security} diff --git a/public/content/translations/de/developers/docs/smart-contracts/testing/index.md b/public/content/translations/de/developers/docs/smart-contracts/testing/index.md index aa4a07cb8fe..0b46cc8b31f 100644 --- a/public/content/translations/de/developers/docs/smart-contracts/testing/index.md +++ b/public/content/translations/de/developers/docs/smart-contracts/testing/index.md @@ -4,13 +4,13 @@ description: Ein Überblick über Techniken und Überlegungen zum Testen von Eth lang: de --- -Öffentliche Blockchains wie Ethereum sind unveränderlich, was es schwierig macht, den Code von Smart Contracts nach der Veröffentlichung zu verändern. [Upgrade-Muster für Verträge](/developers/docs/smart-contracts/upgrading/) zur Durchführung von „virtuellen Upgrades“ existieren, aber deren Implementierung ist schwierig und erfordert sozialen Konsens. Zudem kann ein Upgrade einen Fehler nur beheben, _nachdem_ er entdeckt wurde – wenn ein Angreifer die Schwachstelle zuerst entdeckt, besteht die Gefahr, dass Ihr Smart Contract ausgenutzt wird. +Öffentliche Blockchains wie Ethereum sind unveränderlich, was es schwierig macht, den Code von Smart Contracts nach der Veröffentlichung zu verändern. [Upgrade-Muster für Verträge](/developers/docs/smart-contracts/upgrading/) zur Durchführung von „virtuellen Upgrades“ existieren, aber deren Implementierung ist schwierig und erfordert sozialen Konsens. Zudem kann ein Upgrade einen Fehler nur beheben, _nachdem_ er entdeckt wurde. Wenn ein Angreifer die Schwachstelle zuerst entdeckt, besteht die Gefahr, dass Ihr Smart Contract ausgenutzt wird. -Aus diesen Gründen ist das Testen von Smart Contracts vor ihrer [Veröffentlichung](/developers/docs/smart-contracts/deploying/) auf dem Mainnet eine [Sicherheits-](/developers/docs/smart-contracts/security/)Mindestanforderung. Es gibt viele Techniken zum Testen von Verträgen und zur Bewertung der Korrektheit des Codes; für welche davon Sie sich entscheiden, hängt von Ihren Anforderungen ab. Nichtsdestotrotz ist eine Test-Suite, die sich aus verschiedenen Werkzeugen und Ansätzen zusammensetzt, ideal für das Aufspüren sowohl kleinerer als auch größerer Sicherheitslücken im Vertragscode. +Aus diesen Gründen ist das Testen von Smart Contracts vor ihrer [Veröffentlichung](/developers/docs/smart-contracts/deploying/) auf dem Mainnet eine [Sicherheits-](/developers/docs/smart-contracts/security/)Mindestanforderung. Es gibt viele Techniken zum Testen von Verträgen und zur Bewertung der Korrektheit des Codes. Für welche davon Sie sich entscheiden, hängt von Ihren Anforderungen ab. Nichtsdestotrotz ist eine Test-Suite, die sich aus verschiedenen Werkzeugen und Ansätzen zusammensetzt, ideal für das Aufspüren sowohl kleinerer als auch größerer Sicherheitslücken im Vertragscode. ## Voraussetzungen {#prerequisites} -Auf dieser Seite wird erklärt, wie Smart Contracts vor ihrer Veröffentlichung im Ethereum-Netzwerk getestet werden können. Sie setzt voraus, dass Sie mit [Smart Contracts](/developers/docs/smart-contracts/) vertraut sind. +Auf dieser Seite wird erklärt, wie Smart Contracts vor ihrer Veröffentlichung im Ethereum-Netzwerk getestet werden können. Das setzt voraus, dass Sie mit [Smart Contracts](/developers/docs/smart-contracts/) vertraut sind. ## Was sind Smart-Contract-Tests? {#what-is-smart-contract-testing} @@ -36,7 +36,7 @@ Automatisierte Tests sind vor allem in den folgenden Fällen sinnvoll: bei sich ### Manuelle Tests {#manual-testing} -Manuelles Tests werden von Menschen durchgeführt, wobei jeder Testfall in Ihrer Test-Suite nacheinander ausgeführt wird, um die Korrektheit eines Smart Contracts zu analysieren. Dies steht im Gegensatz zu automatisierten Tests, bei denen Sie gleichzeitig mehrere isolierte Tests für einen Smart Contract durchführen können und einen Bericht mit allen fehlgeschlagenen und bestandenen Tests erhalten. +Manuelle Tests werden von Menschen durchgeführt, wobei jeder Testfall in Ihrer Test-Suite nacheinander ausgeführt wird, um die Korrektheit eines Smart Contracts zu analysieren. Dies steht im Gegensatz zu automatisierten Tests, bei denen Sie gleichzeitig mehrere isolierte Tests für einen Smart Contract durchführen können und einen Bericht mit allen fehlgeschlagenen und bestandenen Tests erhalten. Manuelle Tests können von einer einzelnen Person gemäß eines schriftlichen Testplans durchgeführt werden, der verschiedene Testszenarien abdeckt. Im Rahmen manueller Tests können Sie auch mehrere Personen oder Gruppen über einen bestimmten Zeitraum mit einem Smart Contract interagieren lassen. Der Prüfer vergleicht das tatsächliche Verhalten des Smart Contracts mit dem erwarteten Verhalten und kennzeichnet jede Abweichung als Bug. @@ -110,9 +110,9 @@ function auctionEnd() external { Hierbei handelt es sich um einen einfachen Auktionsvertrag, der für die Entgegennahme von Geboten während der Gebotsfrist entworfen wurde. Wenn das `highestBid` (Höchstgebot) steigt, erhält der vorherige Höchstbietende sein Geld zurück; sobald die Gebotsfrist vorbei ist, ruft der `Begünstigte` den Vertrag auf, um sein Geld zu erhalten. -Unit-Tests für einen Vertrag wie diesen würden verschiedene Funktionen abdecken, die ein Benutzer bei der Interaktion mit dem Vertrag aufrufen könnte. Here’s a possible translation into German: Ein Beispiel wäre ein Unit-Test, der überprüft, ob ein Benutzer ein Gebot abgeben kann, während die Auktion noch läuft (z. B. ob Aufrufe an `bid()` erfolgreich sind), oder einer, der überprüft, ob ein Benutzer ein höheres Gebot als das aktuelle `highestBid` (Höchstgebot) abgeben kann. +Unit-Tests für einen Vertrag wie diesen würden verschiedene Funktionen abdecken, die ein Benutzer bei der Interaktion mit dem Vertrag aufrufen könnte. Here’s a possible translation into German: Ein Beispiel wäre ein Unit-Test, der überprüft, ob ein Benutzer ein Gebot abgeben kann, während die Auktion noch läuft (z. B. ob Aufrufe zum `bid()` erfolgreich sind), oder einer, der überprüft, ob ein Benutzer ein höheres Gebot als das aktuelle `highestBid` (Höchstgebot) abgeben kann. -Ein Verständnis des operativen Arbeitsablaufs von Verträgen hilft auch beim Schreiben von Unit-Tests, die prüfen, ob die Ausführung den Anforderungen entspricht. Der Auktionsvertrag legt zum Beispiel fest, dass Benutzer keine Gebote abgeben können, sobald die Auktion beendet ist (d. h., wenn `auctionEndTime` kleiner als `block.timestamp` ist). Ein Entwickler könnte also einen Unit-Test durchführen, der überprüft, ob Aufrufe der Funktion `bid()` erfolgreich sind oder fehlschlagen, wenn die Auktion vorbei ist (d. h., wenn `auctionEndTime` > `block.timestamp`). +Ein Verständnis des operativen Arbeitsablaufs von Verträgen hilft auch beim Schreiben von Unit-Tests, die prüfen, ob die Ausführung den Anforderungen entspricht. Der Auktionsvertrag legt zum Beispiel fest, dass Benutzer keine Gebote abgeben können, sobald die Auktion beendet ist (d. h., wenn `auctionEndTime` kleiner als `block.timestamp` ist). Ein Entwickler könnte also einen Unit-Test durchführen, der überprüft, ob Aufrufe der Funktion `bid()` erfolgreich sind oder fehlschlagen, wenn die Auktion vorbei ist (d. h. bei `auctionEndTime` > `block.timestamp`). ##### 2. Alle Annahmen im Zusammenhang mit der Vertragsausführung bewerten @@ -130,11 +130,11 @@ Viele Unit-Test-Frameworks ermöglichen das Aufstellen von Behauptungen – einf ##### 3. Codeabdeckung messen -Die [Codeabdeckung](https://en.m.wikipedia.org/wiki/Code_coverage) ist eine Testmetrik, die die Anzahl der Verzweigungen, Zeilen und Aussagen in Ihrem Code verfolgt, die während der Tests ausgeführt werden. Die Tests sollten über eine gute Codeabdeckung verfügen, da es sonst zu „falsch-negativen“ Ergebnissen kommen kann, d. h. ein Vertrag besteht zwar alle Tests, aber es liegen noch Schwachstellen im Code vor. Der Nachweis einer hohen Codeabdeckung gibt jedoch Gewissheit, dass alle Aussagen/Funktionen in einem Smart Contract ausreichend auf ihre Korrektheit getestet wurden. +Die [Code-Abdeckung](https://en.m.wikipedia.org/wiki/Code_coverage) ist eine Testmetrik, die die Anzahl der Verzweigungen, Zeilen und Aussagen in Ihrem Code verfolgt, die während der Tests ausgeführt werden. Tests sollten eine gute Code-Abdeckung haben, um das Risiko ungetesteter Schwachstellen zu minimieren. Ohne ausreichende Abdeckung könntest du fälschlicherweise annehmen, dass dein Vertrag sicher ist, weil alle Tests bestanden werden, während Schwachstellen in ungetesteten Code-Pfaden weiterhin bestehen. Der Nachweis einer hohen Code-Abdeckung gibt jedoch Gewissheit, dass alle Aussagen/Funktionen in einem Smart Contract ausreichend auf ihre Korrektheit getestet wurden. ##### 4. Gut entwickelte Test-Frameworks verwenden -Die Qualität der Werkzeuge, die für die Durchführung von Unit-Tests für Ihre Smart Contracts verwendet werden, ist entscheidend. Ein ideales Test-Framework ist eines, das regelmäßig gewartet wird, nützliche Funktionen bietet (z. B. Protokollierungs- und Berichtsfunktionen) und von anderen Entwicklern ausgiebig genutzt und geprüft wurde. +Die Qualität der Werkzeuge, die für die Durchführung von Unit-Tests für Ihre Smart Contracts verwendet werden, ist entscheidend. Ein ideales Test-Framework ist eines, das regelmäßig gepflegt wird, nützliche Funktionen bietet (z. B. Protokollierungs- und Berichtsfunktionen) und von anderen Entwicklern ausgiebig genutzt und geprüft wurde. Unit-Test-Frameworks für Solidity Smart Contracts liegen in verschiedenen Sprachen vor (hauptsächlich in JavaScript, Python und Rust). In den folgenden Anleitungen finden Sie Informationen darüber, wie Sie Unit-Tests mit verschiedenen Test-Frameworks durchführen können: @@ -156,13 +156,13 @@ Die abgespaltete Blockchain verhält sich ähnlich wie das Mainnet und verfügt ### Eigenschaftsbasierte Tests {#property-based-testing-for-smart-contracts} -Beim eigenschaftsbasierten Testen wird geprüft, ob ein Smart Contract eine bestimmte Eigenschaft erfüllt. Eigenschaften geben Fakten über das Verhalten eines Vertrags an, von denen erwartet wird, dass sie in verschiedenen Szenarien wahr bleiben – ein Beispiel für eine Smart-Contract-Eigenschaft könnte sein: „Bei arithmetischen Operationen im Vertrag darf es niemals zu einem Über- oder Unterlauf kommen.“ +Beim eigenschaftsbasierten Testen wird geprüft, ob ein Smart Contract eine bestimmte Eigenschaft erfüllt. Eigenschaften geben Fakten über das Verhalten eines Vertrags an, von denen erwartet wird, dass sie in verschiedenen Szenarien wahr bleiben. Ein Beispiel für eine Smart-Contract-Eigenschaft könnte sein: „Bei arithmetischen Operationen im Vertrag darf es niemals zu einem Über- oder Unterlauf kommen.“ **Statische Analysen** und **dynamische Analysen** sind zwei gängige Techniken zur Durchführung eigenschaftsbasierter Tests. Mit beiden lässt sich verifizieren, dass der Code eines Programms (in diesem Fall eines Smart Contracts) eine vordefinierte Eigenschaft erfüllt. Für einige eigenschaftsbasierte Testwerkzeuge sind vordefinierte Regeln für erwartete Vertragseigenschaften festgelegt. Der Code wird dann anhand dieser Regeln geprüft. Andere Werkzeuge ermöglichen es Ihnen, benutzerdefinierte Eigenschaften für einen Smart Contract zu bestimmen. #### Statische Analyse {#static-analysis} -Beim statischen Analyseprozess wird der Quellcode eines Smart Contracts als Eingabe verwendet. Die ausgegebenen Ergebnisse erklären, ob ein Vertrag eine Eigenschaft erfüllt oder nicht. Im Gegensatz zur dynamischen Analyse wird bei der statischen Analyse ein Vertrag nicht ausgeführt, um ihn auf seine Korrektheit zu prüfen. Bei der statischen Analyse werden stattdessen alle möglichen Pfade ermittelt, die ein Smart Contract während der Ausführung einschlagen könnte (d. h. sie untersucht die Struktur des Quellcodes, um festzustellen, was diese für den Betrieb des Vertrags während der Laufzeit bedeuten könnte). +Beim statischen Analyseprozess wird der Quellcode eines Smart Contracts als Eingabe verwendet. Die ausgegebenen Ergebnisse erklären, ob ein Vertrag eine Eigenschaft erfüllt oder nicht. Im Gegensatz zur dynamischen Analyse wird bei der statischen Analyse ein Vertrag nicht ausgeführt, um ihn auf seine Korrektheit zu prüfen. Bei der statischen Analyse werden stattdessen alle möglichen Pfade ermittelt, die ein Smart Contract während der Ausführung einschlagen könnte (d. h. sie untersucht die Struktur des Quellcodes, um festzustellen, was diese für den Betrieb des Vertrags während der Laufzeit bedeuten könnte).Laufzeit [Linting](https://www.perforce.com/blog/qac/what-lint-code-and-why-linting-important) und [statische Tests](https://www.techtarget.com/whatis/definition/static-analysis-static-code-analysis) sind gängige Methoden für die Durchführung statischer Analysen von Verträgen. Beide erfordern die Analyse von Low-Level-Repräsentationen der Vertragsausführung, wie zum Beispiel von [abstrakten Syntaxbäumen](https://en.m.wikipedia.org/wiki/Abstract_syntax_tree) und [Kontrollflussdiagrammen](https://www.geeksforgeeks.org/software-engineering-control-flow-graph-cfg/amp/), die vom Compiler ausgegeben werden. @@ -184,7 +184,7 @@ Fuzzing ist nützlich, um den Mechanismus zur Eingabevalidierung von Smart Contr ### Richtlinien für die Durchführung von eigenschaftsbasierten Tests für Smart Contracts {#running-property-based-tests} -Das Durchführen von eigenschaftsbasierten Tests beginnt in der Regel mit der Festlegung einer Eigenschaft (z. B. Abwesenheit von [Ganzzahlüberläufen](https://github.com/ConsenSys/mythril/wiki/Integer-Overflow)) oder einer Sammlung von Eigenschaften, die Sie in einem Smart Contract verifizieren möchten. Möglicherweise müssen Sie beim Schreiben von Eigenschaftstests auch einen Wertebereich festlegen, innerhalb dessen das Programm Daten für Transaktionseingaben generieren kann. +Das Durchführen von eigenschaftsbasierten Tests beginnt in der Regel mit der Festlegung einer Eigenschaft (z. B. Abwesenheit von [Ganzzahl-Überläufen](https://github.com/ConsenSys/mythril/wiki/Integer-Overflow)) oder einer Sammlung von Eigenschaften, die Sie in einem Smart Contract verifizieren möchten. Möglicherweise müssen Sie beim Schreiben von Eigenschaftstests auch einen Wertebereich festlegen, innerhalb dessen das Programm Daten für Transaktionseingaben generieren kann. Sobald das Eigenschafts-Testwerkzeug richtig konfiguriert ist, führt es Ihre Smart-Contract-Funktionen mit zufällig generierten Eingaben aus. Wenn irgendwelche Verstöße gegen Behauptungen vorliegen, sollten Sie einen Bericht mit konkreten Eingabedaten erhalten, die gegen die zu bewertende Eigenschaft verstoßen. In den folgenden Anleitungen finden Sie Informationen für den Einstieg in die Durchführung von eigenschaftsbasierten Tests mit verschiedenen Werkzeugen: @@ -213,7 +213,7 @@ Die Ausführung von Verträgen auf einer lokalen Blockchain könnte als eine For ### Testen von Verträgen auf Testnetzen {#testing-contracts-on-testnets} -Ein Testnetzwerk oder Testnet funktioniert genau wie das Ethereum Mainnet, mit dem Unterschied, dass es Ether (ETH) verwendet, das keinen realen Wert hat. Das Veröffentlichen Ihres Vertrags auf einem [Testnetz](/developers/docs/networks/#ethereum-testnets) bedeutet, dass jeder damit interagieren kann (z. B. über das Frontend der DApps), ohne Geldmittel zu riskieren. +Ein Testnetzwerk oder Testnet funktioniert genau wie das Ethereum-Mainnet, außer dass es Ether (ETH) verwendet, das keinen realen Wert hat. Das Veröffentlichen Ihres Vertrags auf einem [Testnetz](/developers/docs/networks/#ethereum-testnets) bedeutet, dass jeder damit interagieren kann (z. B. über das Frontend der DApps), ohne Geldmittel zu riskieren. Diese Form manueller Tests ist nützlich, um den End-to-End-Flow Ihrer Anwendung aus der Sicht des Benutzers zu bewerten. Hier können Beta-Tester auch Testläufe durchführen und etwaige Probleme mit der Geschäftslogik und der Gesamtfunktionalität des Vertrags melden. @@ -229,21 +229,21 @@ Die formale Verifizierung ist ein Ansatz zur Bewertung der Korrektheit von Softw Da die Eigenschaften in mathematischen Begriffen geschrieben sind, ist es möglich, zu verifizieren, ob ein formales (mathematisches) Modell des Systems eine Spezifikation mithilfe logischer Inferenzregeln erfüllt. Daher liefern formale Verifizierungswerkzeuge angeblich einen „mathematischen Beweis“ für die Korrektheit eines Systems. -Im Gegensatz zu Tests kann mit der formalen Verifizierung überprüft werden, ob die Ausführung eines Smart Contracts eine formale Spezifikation für _alle_ Ausführungen erfüllt (d. h. keine Bugs aufweist), ohne dass sie mit Beispieldaten ausgeführt werden muss. Dies reduziert nicht nur den Zeitaufwand für die Durchführung von Dutzenden von Unit-Tests, sondern ist auch effektiver beim Aufspüren versteckter Schwachstellen. Abgesehen davon liegen die formalen Verifizierungstechniken auf einem Spektrum, das sich nach der Schwierigkeit der Implementierung und ihrer Nützlichkeit richtet. +Im Gegensatz zu Tests kann mit der formalen Verifizierung überprüft werden, ob die Ausführung eines Smart Contracts eine formale Spezifikation für _alle_ Ausführungen erfüllt (d. h. keine Bugs aufweist), ohne dass sie mit Beispieldaten ausgeführt werden muss. Dies reduziert nicht nur den Zeitaufwand für die Durchführung von Dutzenden von Unit-Tests, sondern ist auch effektiver beim Aufspüren versteckter Schwachstellen. Abgesehen davon liegen die formalen Verifizierungstechniken auf einem Spektrum, das sich nach der erforderlichen Rechenleistung der Implementierung und ihrer Nützlichkeit richtet. [Mehr zur formalen Verifizierung von Smart Contracts.](/developers/docs/smart-contracts/formal-verification) -## Testen vs. Audits und Bug Bounties {#testing-vs-audits-bug-bounties} +## Testen vs. Audits und Bug-Kopfgeld {#testing-vs-audits-bug-bounties} -Wie bereits erwähnt, können strenge Tests nur selten die Abwesenheit von Bugs in einem Vertrag garantieren; formale Verifizierungsansätze können eine stärkere Garantie für die Korrektheit bieten, sind aber derzeit schwierig anzuwenden und mit erheblichen Kosten verbunden. +Wie bereits erwähnt, können strenge Tests nur selten das Fehlen von Bugs in einem Vertrag garantieren. Formale Verifizierungsansätze können eine stärkere Garantie für die Korrektheit bieten, sind aber derzeit schwierig anzuwenden und mit erheblichen Kosten verbunden. -Dennoch können Sie die Wahrscheinlichkeit weiter erhöhen, dass Schwachstellen im Vertrag entdeckt werden, indem Sie eine unabhängige Code-Prüfung durchführen lassen. [Smart-Contract-Audits](https://www.immunebytes.com/blog/what-is-a-smart-contract-audit/) und [Bug Bounties](https://medium.com/immunefi/a-defi-security-standard-the-scaling-bug-bounty-9b83dfdc1ba7) sind zwei Möglichkeiten, um zu veranlassen, dass andere Ihre Verträge analysieren. +Dennoch können Sie die Wahrscheinlichkeit weiter erhöhen, dass Schwachstellen im Vertrag entdeckt werden, indem Sie eine unabhängige Code-Prüfung durchführen lassen. [Smart-Contract-Audits](https://www.immunebytes.com/blog/what-is-a-smart-contract-audit/) und [Bug-Kopfgeld](https://medium.com/immunefi/a-defi-security-standard-the-scaling-bug-bounty-9b83dfdc1ba7) sind zwei Möglichkeiten, um zu veranlassen, dass andere Ihre Verträge analysieren. Die Audits werden von Auditoren durchgeführt, die erfahren darin sind, Sicherheitslücken und schlechte Entwicklungspraktiken in Smart Contracts aufzudecken. Ein Audit umfasst in der Regel Tests (und möglicherweise eine formale Verifizierung) sowie eine manuelle Überprüfung der gesamten Codebasis. -Im Gegensatz dazu wird bei einem Bug-Bounty-Programm üblicherweise eine finanzielle Belohnung an eine Person (allgemein als [Whitehat-Hacker](https://en.wikipedia.org/wiki/White_hat_(computer_security)) bezeichnet) gezahlt, die eine Schwachstelle in einem Smart Contract entdeckt und sie den Entwicklern meldet. Bug Bounties ähneln insofern Audits, da ihre Funktionsweise mit einschließt, dass andere gebeten werden, bei der Suche nach Fehlern in Smart Contracts zu helfen. +Im Gegensatz dazu wird bei einem Bug-Kopfgeld-Programm üblicherweise eine finanzielle Belohnung an eine Person (allgemein als [Whitehat-Hacker](https://en.wikipedia.org/wiki/White_hat_(computer_security)) bezeichnet) gezahlt, die eine Schwachstelle in einem Smart Contract entdeckt und sie den Entwicklern meldet. Bug-Kopfgeld ähnelt insofern Audits, da seine Funktionsweise mit einschließt, dass andere gebeten werden, bei der Suche nach Fehlern in Smart Contracts zu helfen. -Der Hauptunterschied besteht darin, dass Bug-Bounty-Programme der breiteren Entwickler-/Hacker-Community offenstehen und eine breite Klasse von ethischen Hackern und unabhängigen Sicherheitsexperten mit einzigartigen Fähigkeiten und einzigartiger Erfahrung ansprechen. Dies kann ein Vorteil gegenüber Audits von Smart Contracts sein, die sich hauptsächlich auf Teams stützen, die möglicherweise nur über begrenzte oder eingeschränkte Fachkenntnisse verfügen. +Der Hauptunterschied besteht darin, dass Bug-Kopfgeld-Programme der breiteren Entwickler-/Hacker-Community offenstehen und eine breite Klasse von ethischen Hackern und unabhängigen Sicherheitsexperten mit einzigartigen Fähigkeiten und einzigartiger Erfahrung ansprechen. Dies kann ein Vorteil gegenüber Audits von Smart Contracts sein, die sich hauptsächlich auf Teams stützen, die möglicherweise nur über begrenzte oder eingeschränkte Fachkenntnisse verfügen. ## Testwerkzeuge und Bibliotheken {#testing-tools-and-libraries} @@ -263,9 +263,9 @@ Der Hauptunterschied besteht darin, dass Bug-Bounty-Programme der breiteren Entw - **[Hardhat Tests](https://hardhat.org/hardhat-runner/docs/guides/test-contracts)** – _Framework zum Testen von Smart Contracts basierend auf ethers.js, Mocha und Chai._ -- **[ApeWorx](https://docs.apeworx.io/ape/stable/userguides/testing.html)** – _Python-basiertes Entwicklungs- und Test-Framework für Smart Contracts für die Ethereum Virtual Machine._ +- **[ApeWorx](https://docs.apeworx.io/ape/stable/userguides/testing.html)** – _auf Python basiertes Entwicklungs- und Test-Framework für Smart Contracts für die Ethereum Virtual Machine._ -- **[Wake](https://ackeeblockchain.com/wake/docs/latest/testing-framework/overview/)** – _Python-basiertes Framework für Unit-Testing und Fuzzing mit starken Debugging-Funktionen und Unterstützung für Cross-Chain-Tests, das pytest und Anvil nutzt, um die beste Benutzererfahrung und Leistung zu bieten._ +- **[Wake](https://ackeeblockchain.com/wake/docs/latest/testing-framework/overview/)** – _Python-basiertes Framework für Unit-Testing und Fuzzing mit starken Debugging-Funktionen und Unterstützung für Cross-Chain-Tests, das Pytest und Anvil nutzt, um die beste Benutzererfahrung und Leistung zu bieten._ ### Eigenschaftsbasierte Testwerkzeuge {#property-based-testing-tools} @@ -273,7 +273,7 @@ Der Hauptunterschied besteht darin, dass Bug-Bounty-Programme der breiteren Entw - **[Slither](https://github.com/crytic/slither)** – _Python-basiertes Solidity-Framework zur statischen Analyse, um Schwachstellen aufzudecken, das Codeverständnis zu verbessern und benutzerdefinierte Analysen für Smart Contracts zu schreiben._ -- **[Ethlint](https://ethlint.readthedocs.io/en/latest/)** – _Linter für die Durchsetzung von Best-Practices bezüglich Stil und Sicherheit für die Solidity-Programmiersprache für Smart Contracts._ +- **[Ethlint](https://cyfrin.io/tools/aderyn)** – _Kinder für die Durchsetzung von Best-Practices bezüglich Stil und Sicherheit für die Solidity-Programmiersprache für Smart Contracts._ - **[Cyfrin Aderyn](https://cyfrin.io/tools/aderyn)** – _Rust-basiertes statisches Analysetool, das speziell für die Sicherheit und Entwicklung von Web3-Smart-Contracts konzipiert wurde._ @@ -287,7 +287,7 @@ Der Hauptunterschied besteht darin, dass Bug-Bounty-Programme der breiteren Entw - **[Manticore](https://manticore.readthedocs.io/en/latest/index.html)** – _Dynamisches symbolisches Ausführungs-Framework für die Analyse von EVM-Bytecode._ -- **[Mythril](https://github.com/ConsenSys/mythril-classic)** – _EVM-Bytecode-Bewertungswerkzeug zum Aufspüren von Vertragsschwachstellen mithilfe von Taint-Analysen, Concolic-Analysen und Kontrollflussprüfungen._ +- **[Mythril](https://consensys.net/diligence/scribble/)** – _EVM-Bytecode-Bewertungswerkzeug zum Aufspüren von Vertragsschwachstellen mithilfe von Feind-Analysen, Concolic-Analysen und Kontrollflussprüfungen._ - **[Diligence Scribble](https://consensys.net/diligence/scribble/)** – _Scribble ist eine Spezifizierungssprache und ein Laufzeit-Verifizierungswerkzeug, mithilfe dessen Sie Smart Contracts mit Eigenschaften kennzeichnen können, sodass sich Verträge automatisch mit Werkzeugen wie Diligence Fuzzing oder MythX testen lassen._ diff --git a/public/content/translations/de/whitepaper/index.md b/public/content/translations/de/whitepaper/index.md index 271ea64035f..2b597d89f9e 100644 --- a/public/content/translations/de/whitepaper/index.md +++ b/public/content/translations/de/whitepaper/index.md @@ -16,7 +16,7 @@ _Obwohl diese Arbeit schon einige Jahre alt ist, pflegen wir sie nach wie vor, w ## Eine Plattform der nächsten Generation für Smart Contracts und dezentralisierte Anwendungen {#a-next-generation-smart-contract-and-decentralized-application-platform} -Satoshi Nakamotos Entwicklung von Bitcoin im Jahr 2009 wurde oft als radikale Weiterentwicklung von Geld und Währung gefeiert, da es sich dabei um das erste Beispiel eines digitalen Assets handelt, das weder eine Besicherung noch einen "[intrinsischen Wert](http://bitcoinmagazine.com/8640/an-exploration-of-intrinsic-value-what-it-is-why-bitcoin-doesnt-have-it-and-why-bitcoin-does-have-it/)" oder einen zentralisierten Herausgeber oder Kontrolleur hat. Ein anderer, wohl wichtigerer Teil des Bitcoin-Experiments ist jedoch die zugrunde liegende Blockchain-Technologie als Instrument des verteilten Konsenses, und so verlagert sich die Aufmerksamkeit rasch auf diesen anderen Aspekt von Bitcoin. Zu den häufig zitierten alternativen Anwendungen der Blockchain-Technologie gehören die Verwendung digitaler Assets auf der Blockchain zur Darstellung benutzerdefinierter Währungen und Finanzinstrumente („[Colored Coins](https://docs.google.com/a/buterin.com/document/d/1AnkP_cVZTCMLIzw4DvsW6M8Q2JC0lIzrTLuoWu2z1BE/edit)“), das Eigentum an einem zugrunde liegenden physischen Gerät („[Smart Property](https://en.bitcoin.it/wiki/Smart_Property)“), nicht vertretbare Assets wie Domänennamen („[Namecoin](http://namecoin.org)“) sowie komplexere Anwendungen, bei denen digitale Assets direkt von einem Stück Code kontrolliert und beliebige Regeln ("[Smart Contracts](http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/idea.html)") oder sogar Blockchain-basierte „[dezentralisierte autonome Organisationen](http://bitcoinmagazine.com/7050/bootstrapping-a-decentralized-autonomous-corporation-part-i/)“ (DAOs) implementiert werden. Ethereum beabsichtigt, eine Blockchain mit einer eingebauten, vollwertigen, Turing-kompletten Programmiersprache bereitzustellen, die zur Erstellung von „Verträgen“ verwendet werden kann, mit denen beliebige Statusübergangsfunktionen kodiert werden können, so dass Benutzer jedes der oben beschriebenen Systeme sowie viele andere, die wir uns noch nicht vorstellen können, erstellen können. Dazu muss nur eine entsprechende Logik in ein paar Zeilen Code geschrieben werden. +Satoshi Nakamotos Entwicklung von Bitcoin im Jahr 2009 wurde oft als radikale Weiterentwicklung von Geld und Währung gefeiert, da es sich dabei um das erste Beispiel eines digitalen Assets handelt, das weder eine Besicherung noch einen "[intrinsischen Wert](http://bitcoinmagazine.com/8640/an-exploration-of-intrinsic-value-what-it-is-why-bitcoin-doesnt-have-it-and-why-bitcoin-does-have-it/)" oder einen zentralisierten Herausgeber oder Kontrolleur hat. Ein anderer, wohl wichtigerer Teil des Bitcoin-Experiments ist jedoch die zugrunde liegende Blockchain-Technologie als Instrument des verteilten Konsenses, und so verlagert sich die Aufmerksamkeit rasch auf diesen anderen Aspekt von Bitcoin. Zu den häufig zitierten alternativen Anwendungen der Blockchain-Technologie gehören die Verwendung digitaler Assets auf der Blockchain zur Darstellung benutzerdefinierter Währungen und Finanzinstrumente („[Colored Coins](https://docs.google.com/a/buterin.com/document/d/1AnkP_cVZTCMLIzw4DvsW6M8Q2JC0lIzrTLuoWu2z1BE/ bearbeiten)“), das Eigentum an einem zugrunde liegenden physischen Gerät („[Smart Property](https://en.bitcoin.it/wiki/Smart_Property)“), nicht vertretbare Assets wie Domänennamen („[Namecoin](http://namecoin.org)“) sowie komplexere Anwendungen, bei denen digitale Assets direkt von einem Stück Code kontrolliert und beliebige Regeln ("[Smart Contracts](http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/idea.html)") oder sogar Blockchain-basierte „[dezentralisierte autonome Organisationen](http://bitcoinmagazine.com/7050/bootstrapping-a-decentralized-autonomous-corporation-part-i/)“ (DAOs) implementiert werden. Ethereum beabsichtigt, eine Blockchain mit einer eingebauten, vollwertigen, Turing-kompletten Programmiersprache bereitzustellen, die zur Erstellung von „Verträgen“ verwendet werden kann, mit denen beliebige Statusübergangsfunktionen kodiert werden können, so dass Benutzer jedes der oben beschriebenen Systeme sowie viele andere, die wir uns noch nicht vorstellen können, erstellen können. Dazu muss nur eine entsprechende Logik in ein paar Zeilen Code geschrieben werden. ## Einführung in Bitcoin und bestehende Konzepte {#introduction-to-bitcoin-and-existing-concepts} diff --git a/src/intl/de/common.json b/src/intl/de/common.json index 9c3e998e17a..12ea305c3a9 100644 --- a/src/intl/de/common.json +++ b/src/intl/de/common.json @@ -96,7 +96,8 @@ "ethereum-support": "Ethereum-Support", "ethereum-upgrades": "Ethereum-Upgrades", "ethereum-wallets": "Ethereum Wallets", - "ethereum-whitepaper": "Ethereum-Whitepaper", + "ethereum-whitepaper": "Ethereum Whitepaper", + "events": "Ereignisse", "feedback-card-prompt-article": "War dieser Artikel hilfreich?", "feedback-card-prompt-page": "War diese Seite hilfreich?", "feedback-card-prompt-tutorial": "War dieses Tutorial hilfreich?", @@ -202,9 +203,9 @@ "layer-2": "Layer 2", "learn": "Lernen", "learn-by-coding": "Lernen durch Programmieren", - "learn-hub": "Ethereum: Ein umfassender Lernleitfaden", + "learn-hub": "Lernzentrum", "learn-menu": "Lernen-Menü", - "learn-more": "Weitere Informationen", + "learn-more": "Mehr erfahren", "less": "Weniger", "light-mode": "Hell", "listing-policy-disclaimer": "Alle auf dieser Seite aufgelisteten Produkte sind nicht offiziell empfohlen, sondern lediglich zu Informationszwecken zur Verfügung gestellt. Falls Sie ein Produkt listen oder Feedback zur Regelung geben möchten, erstellen Sie ein Thema auf GitHub.", @@ -247,8 +248,9 @@ "nav-eip-label": "EIPs – Ethereum-Verbesserungsvorschläge", "nav-emerging-description": "Lernen Sie mehr aktuelle Anwendungsfälle für Ethereum kennen", "nav-emerging-label": "Neue Anwendungsfälle", - "nav-enterprise-description": "Geschäftliche Anwendungen für Ethereum", "nav-ethereum-org-description": "Diese Website ist Community-basiert – werden Sie Mitglied und leisten Sie einen Beitrag", + "nav-ethereum-networks": "Ethereum-Netzwerke", + "nav-ethereum-networks-description": "Günstigere und schnellere Transaktionen für Ethereum", "nav-ethereum-wallets-description": "Eine Anwendung zur Interaktion mit Ihrem Ethereum-Konto", "nav-events-description": "Dezentralisierung und Teilnahmeoptionen für alle", "nav-events-irl-description": "Jeden Monat gibt es große persönliche und Online-Events von Ethereum", @@ -274,18 +276,24 @@ "nav-guides-label": "Anleitungen", "nav-history-description": "Eine Zeitleiste mit allen wichtigen Abspaltungen und Aktualisierungen", "nav-history-label": "Die technische Geschichte von Ethereum", - "nav-layer-2-description": "Günstigere und schnellere Transaktionen für Ethereum", "nav-learn-by-coding-description": "Tools, die Ihnen dabei helfen, mit Ethereum zu experimentieren", "nav-local-env-description": "Wählen Sie Ihren Ethereum-Entwichlungsstack und richten Sie ihn ein", "nav-mainnet-description": "Enterprise-Blockchain-Anwendungen können im öffentlichen Ethereum Mainnet erstellt werden", + "nav-networks-home-description": "Günstigere und schnellere Transaktionen für Ethereum", + "nav-networks-introduction-label": "Einführung", + "nav-networks-introduction-description": "Ethereum hat sich zu einem Netzwerk von Netzwerken erweitert", + "nav-networks-explore-networks-label": "Netzwerk erkunden", + "nav-networks-explore-networks-description": "Wählen Sie, welches Netzwerk Sie verwenden möchten", + "nav-networks-learn-label": "Was sind Layer-2-Netzwerke?", + "nav-networks-learn-description": "Erfahren Sie, warum wir sie brauchen", "nav-nft-description": "Ein Weg, alles Einzigartige als eine Ethereum-basierte Anlage darzustellen", "nav-open-research-description": "Eine der Hauptstärken von Ethereum ist seine aktive Forschungs-Community", "nav-open-research-label": "Offene Forschung", "nav-overview-description": "Alles über die Bildung mit Ethereum", "nav-overview-label": "Übersicht", "nav-participate-overview-description": "Überblick über die Teilnahme", + "nav-payments-description": "Ethereum-Zahlungen verändern die Art und Weise, wie wir Geld senden und empfangen", "nav-primary": "Primäre", - "nav-private-description": "Entwicklerressourcen für das private Ethereum für Unternehmen", "nav-quizzes-description": "Finden Sie heraus, wie gut Sie Ethereum und Kryptowährungen verstehen", "nav-quizzes-label": "Teste dein Wissen", "nav-refi-description": "Ein alternatives, auf regenerativen Prinzipien beruhendes Wirtschaftssystem", @@ -356,6 +364,7 @@ "page-last-updated": "Seite zuletzt aktualisiert", "participate": "Mitmachen", "participate-menu": "Teilnahmemenü", + "payments-page": "Zahlungen", "pbs": "Proposer-Builder-Trennung", "pools": "Gepooltes Staking", "privacy-policy": "Datenschutzrichtlinien", @@ -432,4 +441,4 @@ "wrapped-ether": "Wrapped Ether", "yes": "Ja", "zero-knowledge-proofs": "Null-Wissen-Beweise" -} \ No newline at end of file +} diff --git a/src/intl/de/page-get-eth.json b/src/intl/de/page-get-eth.json index 5001da0bdef..114dc6d8a34 100644 --- a/src/intl/de/page-get-eth.json +++ b/src/intl/de/page-get-eth.json @@ -46,7 +46,7 @@ "page-get-eth-hero-image-alt": "Erhalten Sie ETH Hero Image", "page-get-eth-keep-it-safe": "Schützen Sie Ihr ETH", "page-get-eth-meta-description": "Wie Sie ETH basierend auf Ihrem Wohnort kaufen können und Empfehlungen, wie Sie sich darum kümmern.", - "page-get-eth-meta-title": "Wie Sie ETH bekommen", + "page-get-eth-meta-title": "Wie man Ethereum (ETH) kauft", "page-get-eth-need-wallet": "Sie brauchen eine Wallet, um eine DEX verwenden zu können.", "page-get-eth-new-to-eth": "Neu bei ETH? Hier ist eine Übersicht, um loszulegen.", "page-get-eth-other-cryptos": "Kaufen Sie mit anderen Kryptowährungen", diff --git a/src/intl/de/page-index.json b/src/intl/de/page-index.json index 680281ef125..da5f5300059 100644 --- a/src/intl/de/page-index.json +++ b/src/intl/de/page-index.json @@ -50,9 +50,9 @@ "page-index-developers-code-example-title-2": "Eine JavaScript-Ethereum-Wallet", "page-index-developers-code-example-title-3": "Ein offenes, frei zugängliches DNS", "page-index-developers-code-examples": "Code-Beispiele", - "page-index-events-action": "Alle Ereignisse anzeigen", - "page-index-events-header": "Ereignisse", - "page-index-events-subtitle": "Ethereum-Communities veranstalten das ganze Jahr über Ereignisse rund um den Globus", + "page-index-events-action": "Alle Veranstaltungen anzeigen", + "page-index-events-header": "Veranstaltungen", + "page-index-events-subtitle": "Ethereum-Communities veranstalten das ganze Jahr über Veranstaltungen rund um den Globus", "page-index-hero-image-alt": "Eine Illustration einer futuristischen Stadt, die das Ethereum Ökosystem darstellt.", "page-index-join-action-contribute-description": "Lerne die verschiedenen Möglichkeiten kennen, wie du ethereum.org dabei unterstützen kannst, zu wachsen und besser zu werden.", "page-index-join-action-contribute-label": "Wie kann ich etwas beitragen?", diff --git a/src/intl/de/page-staking.json b/src/intl/de/page-staking.json index ff4a756e707..a00ba42a859 100644 --- a/src/intl/de/page-staking.json +++ b/src/intl/de/page-staking.json @@ -232,7 +232,7 @@ "page-staking-join-community": "Der Staker-Community beitreten", "page-staking-join-community-desc": "EthStaker ist eine Community für alle, die über das Staking auf Ethereum diskutieren und mehr darüber erfahren möchten. Schließen Sie sich Zehntausenden von Mitgliedern aus der ganzen Welt an, um Ratschläge und Unterstützung zu erhalten und über alle Themen rund um das Staking zu sprechen.", "page-staking-meta-description": "Ein Überblick über Ethereum-Staking: die Risiken, Belohnungen, Anforderungen und wo gestakt werden kann.", - "page-staking-meta-title": "Ethereum-Staking", + "page-staking-meta-title": "Ethereum-Staking: Wie funktioniert es?", "page-staking-withdrawals-important-notices": "Wichtige Hinweise", "page-staking-withdrawals-important-notices-desc": "Auszahlungen sind noch nicht verfügbar. Bitte lesen Sie die Eth2 Merge und Post-Merge FAQ für weitere Informationen.", "page-upgrades-merge-btn": "Mehr zum Zusammenschluss", diff --git a/src/intl/de/page-wallets-find-wallet.json b/src/intl/de/page-wallets-find-wallet.json index e755777ca83..f10b49779f9 100644 --- a/src/intl/de/page-wallets-find-wallet.json +++ b/src/intl/de/page-wallets-find-wallet.json @@ -5,7 +5,7 @@ "page-find-wallet-description": "Entdecken Sie die Vorteile verschiedener Wallets für das Verwahren und Ausgeben von ihren ETH.", "page-find-wallet-last-updated": "Zuletzt aktualisiert", "page-find-wallet-meta-description": "Suchen und vergleichen Sie Ethereum-Wallets basierend auf den gewünschten Funktionen.", - "page-find-wallet-meta-title": "Finden Sie eine Ethereum-Wallet", + "page-find-wallet-meta-title": "Liste von Ethereum-Wallets | ethereum.org", "page-find-wallet-title": "Wählen Sie Ihr Wallet", "page-find-wallet-try-removing": "Versuchen Sie ein oder zwei Funktionen zu entfernen", "page-stake-eth": "Stake ETH", diff --git a/src/intl/de/page-wallets.json b/src/intl/de/page-wallets.json index 395307f5d1e..bc4544c5071 100644 --- a/src/intl/de/page-wallets.json +++ b/src/intl/de/page-wallets.json @@ -28,7 +28,7 @@ "page-wallets-manage-funds": "Eine App zur Verwaltung Ihrer Geldmittel", "page-wallets-manage-funds-desc": "Ihre Wallet zeigt Ihr Guthaben, Transaktionsverläufe und gibt Ihnen die Möglichkeit, Geldmittel zu senden/zu empfangen. Einige Wallets bieten noch mehr.", "page-wallets-meta-description": "Was Sie wissen müssen, um Ethereum-Wallets zu verwenden.", - "page-wallets-meta-title": "Ethereum-Wallets", + "page-wallets-meta-title": "Ethereum-Wallets: Kaufen, Speichern und Senden von Kryptowährungen", "page-wallets-mobile": "Mobile Anwendungen, die Ihre Geldmittel von überall aus zugänglich machen", "page-wallets-more-on-dapps-btn": "Mehr zu dApps", "page-wallets-most-wallets": "Die meisten Wallet-Produkte ermöglichen es Ihnen, ein Ethereum-Konto zu erstellen. Sie benötigen also kein Konto, bevor Sie eine Wallet herunterladen.", From 0e557e59c6f928f5aadb8113263b5f2dc46abc3c Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Tue, 11 Mar 2025 14:29:44 +0100 Subject: [PATCH 2/2] fix: markdown-checker results --- public/content/translations/de/whitepaper/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/content/translations/de/whitepaper/index.md b/public/content/translations/de/whitepaper/index.md index 2b597d89f9e..271ea64035f 100644 --- a/public/content/translations/de/whitepaper/index.md +++ b/public/content/translations/de/whitepaper/index.md @@ -16,7 +16,7 @@ _Obwohl diese Arbeit schon einige Jahre alt ist, pflegen wir sie nach wie vor, w ## Eine Plattform der nächsten Generation für Smart Contracts und dezentralisierte Anwendungen {#a-next-generation-smart-contract-and-decentralized-application-platform} -Satoshi Nakamotos Entwicklung von Bitcoin im Jahr 2009 wurde oft als radikale Weiterentwicklung von Geld und Währung gefeiert, da es sich dabei um das erste Beispiel eines digitalen Assets handelt, das weder eine Besicherung noch einen "[intrinsischen Wert](http://bitcoinmagazine.com/8640/an-exploration-of-intrinsic-value-what-it-is-why-bitcoin-doesnt-have-it-and-why-bitcoin-does-have-it/)" oder einen zentralisierten Herausgeber oder Kontrolleur hat. Ein anderer, wohl wichtigerer Teil des Bitcoin-Experiments ist jedoch die zugrunde liegende Blockchain-Technologie als Instrument des verteilten Konsenses, und so verlagert sich die Aufmerksamkeit rasch auf diesen anderen Aspekt von Bitcoin. Zu den häufig zitierten alternativen Anwendungen der Blockchain-Technologie gehören die Verwendung digitaler Assets auf der Blockchain zur Darstellung benutzerdefinierter Währungen und Finanzinstrumente („[Colored Coins](https://docs.google.com/a/buterin.com/document/d/1AnkP_cVZTCMLIzw4DvsW6M8Q2JC0lIzrTLuoWu2z1BE/ bearbeiten)“), das Eigentum an einem zugrunde liegenden physischen Gerät („[Smart Property](https://en.bitcoin.it/wiki/Smart_Property)“), nicht vertretbare Assets wie Domänennamen („[Namecoin](http://namecoin.org)“) sowie komplexere Anwendungen, bei denen digitale Assets direkt von einem Stück Code kontrolliert und beliebige Regeln ("[Smart Contracts](http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/idea.html)") oder sogar Blockchain-basierte „[dezentralisierte autonome Organisationen](http://bitcoinmagazine.com/7050/bootstrapping-a-decentralized-autonomous-corporation-part-i/)“ (DAOs) implementiert werden. Ethereum beabsichtigt, eine Blockchain mit einer eingebauten, vollwertigen, Turing-kompletten Programmiersprache bereitzustellen, die zur Erstellung von „Verträgen“ verwendet werden kann, mit denen beliebige Statusübergangsfunktionen kodiert werden können, so dass Benutzer jedes der oben beschriebenen Systeme sowie viele andere, die wir uns noch nicht vorstellen können, erstellen können. Dazu muss nur eine entsprechende Logik in ein paar Zeilen Code geschrieben werden. +Satoshi Nakamotos Entwicklung von Bitcoin im Jahr 2009 wurde oft als radikale Weiterentwicklung von Geld und Währung gefeiert, da es sich dabei um das erste Beispiel eines digitalen Assets handelt, das weder eine Besicherung noch einen "[intrinsischen Wert](http://bitcoinmagazine.com/8640/an-exploration-of-intrinsic-value-what-it-is-why-bitcoin-doesnt-have-it-and-why-bitcoin-does-have-it/)" oder einen zentralisierten Herausgeber oder Kontrolleur hat. Ein anderer, wohl wichtigerer Teil des Bitcoin-Experiments ist jedoch die zugrunde liegende Blockchain-Technologie als Instrument des verteilten Konsenses, und so verlagert sich die Aufmerksamkeit rasch auf diesen anderen Aspekt von Bitcoin. Zu den häufig zitierten alternativen Anwendungen der Blockchain-Technologie gehören die Verwendung digitaler Assets auf der Blockchain zur Darstellung benutzerdefinierter Währungen und Finanzinstrumente („[Colored Coins](https://docs.google.com/a/buterin.com/document/d/1AnkP_cVZTCMLIzw4DvsW6M8Q2JC0lIzrTLuoWu2z1BE/edit)“), das Eigentum an einem zugrunde liegenden physischen Gerät („[Smart Property](https://en.bitcoin.it/wiki/Smart_Property)“), nicht vertretbare Assets wie Domänennamen („[Namecoin](http://namecoin.org)“) sowie komplexere Anwendungen, bei denen digitale Assets direkt von einem Stück Code kontrolliert und beliebige Regeln ("[Smart Contracts](http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/idea.html)") oder sogar Blockchain-basierte „[dezentralisierte autonome Organisationen](http://bitcoinmagazine.com/7050/bootstrapping-a-decentralized-autonomous-corporation-part-i/)“ (DAOs) implementiert werden. Ethereum beabsichtigt, eine Blockchain mit einer eingebauten, vollwertigen, Turing-kompletten Programmiersprache bereitzustellen, die zur Erstellung von „Verträgen“ verwendet werden kann, mit denen beliebige Statusübergangsfunktionen kodiert werden können, so dass Benutzer jedes der oben beschriebenen Systeme sowie viele andere, die wir uns noch nicht vorstellen können, erstellen können. Dazu muss nur eine entsprechende Logik in ein paar Zeilen Code geschrieben werden. ## Einführung in Bitcoin und bestehende Konzepte {#introduction-to-bitcoin-and-existing-concepts}