Eine Einführung in die Technologie der Blockchains und hier Speziell Ethereum als Chain mit Accounts und Smart Contracts, mit Whisper für das Peer-to-Peer Messaging und mit Swarm für Dateispeicherung.
Der Status von Ethereum heute sowie die Schritte für das nächste große Release und diverse Anwendungsfälle werden gezeigt.
10. Geschichte
• 1990er Forschung zur sicheren
Verkettung und kryptografischen
Verfahren für Blockchains
• 2008 Bitcoin-Whitepaper durch
Satoshi Nakamoto
(https://de.wikipedia.org/wiki/
Satoshi_Nakamoto)
• 2013 Vorschlag Ethereums durch
Vitalik Buterin
11. Eigenschaften
• Verteile Organisation der Daten
• Kryptographische Sicherheitsverfahren
• Peer-to-Peer-Transfer
• Transparenz der Transaktionen
• Manipulationssicherheit der Daten
• Konsens-Machanismen zur
Entscheidungsfindung
15. Ethereum
• Ethereum – Verträge und Konten
• Whisper – Messaging
• Swarm – Publikation und Verteilung
16. Genug Adressen für Menschen und Geräte
• 2160 = 20 Bytes
• 1.461.501.637.330.902.918.203.684.83
2.716.283.019.655.932.542.976
• Aktuell etwa 7.500.000.000 Menschen
• Knapp 195 Sextillionen Adressen pro
Mensch
18. Smart Contract
• Unveränderliche Programme in der
Chain
• Verarbeitung in der EVM eines Knotens
• Rechte im Zugriff auf Konten und API
• Ausführung bei Ereignissen
20. Solidity (1/2)
pragma solidity ^0.4.0;
contract Coin {
// Public address of the minter.
address public minter;
// Public mapping of addresses to an amount.
mapping (address => uint) public balances;
// Events allow light clients to react on changes.
event Sent(address from, address to, uint amount);
// Constructor runs when the contract is created.
function Coin() public {
minter = msg.sender;
}
21. Solidity (2/2)
function mint(address receiver, uint amount) public {
if (msg.sender != minter) return;
balances[receiver] += amount;
}
function send(address receiver, uint amount) public {
if (balances[msg.sender] < amount) return;
balances[msg.sender] -= amount;
balances[receiver] += amount;
Sent(msg.sender, receiver, amount);
}
}
24. Whisper
• Kommunikation zwischen DApps
• Unsichere Latenz, kein RTC
• Geringe Bandbreite, keine
Massendaten
• Dark (Paket-Route ist unbestimmt)
• Topics mit Filtern*
29. Plasma
• Chains in einer Baumstruktur
• Belohnter Aufwand in diesen Chains
• MapReduce gegen Betrugsversuche
• Konsens-Verfahren für den Abgleich mit
der Root Chain
• Bitmap Unspent Transaction Output
(UTXO) Commitment Structure
30. Plasma – Anreiz in spezialisierten Chains
Root
Chain
Plasma
Chain B
Plasma
Chain X
Account
4711 ETH
Plasma
Chain C
Plasma
Chain A
Plasma
Chain Y
Plasma
Chain ZLevel 2
Level 1
32. Proof of Stake
• Deutlich geringerer Energieverbrauch
• Geringere Erzeugung neuer Coins als
Belohnung
• Geringere Motivation zur Kartellbildung
von Minern
• 51%-Attacke sehr teuer
33. Weitere Entwicklungsgebiete
• Sharding
• Aufteilung der Transaktionen auf
mehrere Knoten
• State Channel Transactions
• Locking von States
• Bündelung bilateraler Transaktionen