Blockchain einfach erklärt
  • Start
  • Kryptowährungen
  • Blockchain Technologien
  • Glossar

Definition Bitcoin

17/9/2016

0 Kommentare

 
 
UTXO = Unspent Transaction Output = angesparte Bitcoins

Eine Transaktion besteht immer aus einem oder mehreren Inputs (Sender) und Outputs (Empfänger). Vereinfacht zeigt der Bitcoin Explorer diese Transaktion wie folgt an:
Bild
Der Input ist selbst wiederum ein Output einer früheren Transaktion. Dies ist aus dem unten stehenden Bitcoin Protokoll ersichtlich. Auf der Inputseite "vin" steht ein Output "vout". 
Bild
Nun kann definiert werden, was eine elektronische Bitcoin Münze (Token) ist:

Bitcoin Münze = txid, vout

txid: Hash der Transaktion
vout: wievielter Output der Transaktion

Input "vin" der obigen Transaktion ist die Bitcoin Münze mit der ID:

d3c7e022ea80c4808e64dd0a1dba009f3eaee2318a4ece562f8ef815952717d7, 0

Output "vout" sind die zwei Münzen mit den IDs:

9ca8f969bd3ef5ec2a8685660fdbf7a8bd365524c2e1fc66c309acbae2c14ae3, 0, Wert 0.05
9ca8f969bd3ef5ec2a8685660fdbf7a8bd365524c2e1fc66c309acbae2c14ae3, 1, Wert 1.0336

Eine elektronische Bitcoin Münze im Wert von 1.0836 wurde sozusagen "eingeschmolzen" und daraus zwei Münzen "geschmiedet".

Unten ist eine zweite Transaktion aufgeführt. Die kleine Differenz zwischen Output und Input entspricht der Gebühr von 0.0006 BTC. Damit Bitcoins nicht doppelt ausgegeben werden können, werden sie mit "Spent = ausgegeben" oder " Unspent = nicht ausgegeben" markiert:
Bild
Jetzt kann definiert werden, was ein UTXO (Unspend Transaction Output) bzw. eine angesparte Bitcoin Münze ist:

UTXO = txid, vout, unspent

In der obigen Transaktion ist eine UTXO ersichtlich. Diese hat die ID:


576f41a82f58ce5ef7f8d761d8ddbd1a8f62f7d05b3188836964cfde2bc930d0, 1, Unspent

Zur Finanzierung von Zahlungen müssen immer ganze UTXO herhalten. Ein eventuelles Wechselgeld wird als neue Einzahlung an die Ausgangsadresse zurückgeschickt. Dies ist aus der ersten obigen Transaktion ersichtlich. Auf der Input- und Outputseite steht die gleiche Bitcoin Adresse.
​Eine Transaktion soll möglichst wenige UTXO verwenden, um Speicherplatz einzusparen. Daher wird die Blockchain bis zum Genesis-Block auf UTXO durchsucht, die dann in einer Datenbank aufgelistet und sortiert werden. Bei jedem Neustart des Computers wird dieser Vorgang wiederholt.  
​​​
Programmiersprache

UTXO oder eben Bitcoins werden über die Programmiersprache Forth gesperrt und entsperrt. Diese Sprache, die Ende der 1960er Jahre entstand, ist sehr einfach aufgebaut, indem sie keine Schleifen (Loops) verwendet. Sie ist daher wenig anfällig für DOS-Attacken und braucht wenig Prozessorleistung und Speicherplatz. Das Skript beschreibt, wie UTXO entsperrt und damit konsumiert werden können. Aus der Grafik ist ersichtlich, dass der Skript Text einen Grossteil der Transaktion ausmacht und dementsprechend auch Gebühren verursacht, die pro Byte verrechnet werden. 

Zu den wichtigsten Standard-Transaktionen gehören:
  1. Pay-to-Public-Key-Hash (P2PKH)
  2. Multi Signature (Multisig)
  3. ​Pay-to-Script-Hash (P2SH)
  4. Data Output (OP_RETURN)
Pay-to-Public-Key-Hash (P2PKH)

Die digitale Unterschrift muss mit dem Public Key und der Bitcoin Adresse übereinstimmen.

Multisig

Multi Signature benötigt mehrere digitale Unterschriften und daher müssen mehrere Public Keys in der Transaktion aufgelistet werden. Dies bläht den Speicherbedarf der Transaktion und damit die Blockchain auf und lässt dementsprechend die Gebühren steigen. Multisig wird daher nur noch bei Colored Coins, Counterparty und Omni (ehemals Mastercoin) Protokollen gebraucht. Dabei wird nur eine Unterschrift verlangt, womit es sich eigentlich um eine P2PKH Transaktion handelt. Der Grund für diese Zweckentfremdung liegt darin, dass die restlichen Bytes für zahlungsunabhängige Datenspeicherung gebraucht werden können. 

Pay-to-Script-Hash (P2SH)


Wurde 2012 von Bitcoin Core eingeführt, um komplexere Transaktionen wie Multi Signature einfacher durchzuführen. Seither kann ein Wallet an Stelle eines langen Skripts dessen Hash verwendet. Das eigentliche Redeem Skript samt Hash bzw. Bitcoin Adresse liegt in der Wallet Datenbank.
P2SH Bitcoin Adressen werden nicht wie üblich über ECC Verschlüsselung kreiert, sondern über den Hash des Redeem Skripts. Diese Bitcoin Adresse entspricht bis auf nachfolgendes dem Hash des Redeem Skripts. Bei der BaseCheck58 Umformung wird vorne eine 5 angehängt, womit die Bitcoin Adresse mit einer 3 beginnt; im Unterschied zu gewöhnlichen Bitcoin Adressen, die mit 1 beginnen. 
Wird nun eine Auszahlung von einer Bitcoin Adresse mit einer 3 am Anfang gemacht, fügt das Wallet das entsprechende Redeem Skript aus der Blockchain Datenbank der digitalen Signatur bei. Danach wird das Redeem Skript ausgeführt und die entsprechenden Signaturen verifiziert.  Z.B. könnte das Redeem Skript eine Kollektivunterschrift fordern, womit der Miner mehrere digitale Unterschriften abwarten und kontrollieren müsste, bevor die Transaktion bestätigt würde. Das Redeem Skript kann irgendeinen Code enthalten, womit im Prinzip auch Apps oder Smart Contracts wie bei Ethereum ermöglicht werden. Segregated Witness (SegWit) plant auch, dieses Skript zu benutzen.

Data Output (OP_RETURN)
​
​​Weiterhin werden Bitcoin Adressen für kostengünstige Datenspeicherung zweckentfremdet. Da diese Adresse wohl kaum auf der elliptischen Kurve ist, existiert kein dazugehöriger Private Key, weshalb der UTXO nie mehr ausgegeben werden kann. Da die Bitcoins verloren wären, werden für die Datenspeicherung null Bitcoins transferiert. Die UTXO blähen die Blockchain auf und verstopfen über die UTXO Datenbank den Arbeitsspeicher.
In der Version 0.9 wurde ein Kompromiss gefunden und ein neuer Operator OP_RETURN eingeführt. Dieser erlaubt seit Version 0.11 pro Transaktion 80 Bytes zahlungsunabhängige Daten zu speichern. Dies genügt für einen 32 Bytes (SHA256) Hash und gewisse Metadaten. Factom speichert zum Beispiel einen Hash mit Kürzel FA in die Blockchain. Diese UTXO werden von vornherein als nicht konsumierbar gekennzeichnet. Zwar wird die Blockchain weiterhin aufgebläht, aber der RAM Arbeitsspeicher entlastet. Der Operator OP_RETURN ist sehr wichtig für Colored Coins. Dies sind Verbriefungen von Vermögenswerten (Aktien, Anleihen, Währungen usw.), die über die Blockchain transferiert werden können. 
In der Grafik ist eine OP_RETURN Transaktion schematisch dargestellt. Ein minimaler Betrag 0.001 Bitcoins wird überwiesen, damit der minimal zu transferierende Betrag von 0.00006 BTC und die Gebühr von hier 0.0001 BTC gedeckt sind. Das Wechselgeld ist 0.00084 BTC. Die umgerechnet 9.5 Cents wurden nur ausgegeben, damit das Textfeld mit 80 Bytes aufgefüllt und auf der Blockchain gespeichert werden kann. Unter dem Betrag steht das Skript, also die Anleitung, wie man Zugriff auf die Bitcoins erhält. P2PKH sind normale Transaktionen, die die digitale Unterschrift als Zugriff benötigen. Bei OP_RETURN gibt es keinen Zugriff, weshalb dorthin keine Bitcoins gesendet werden dürfen, ansonsten sie verloren sind. Die Textkugel wird ewig in der Blockchain als UTXO enthalten sein.
Bild
Ethereum

Forth ist nicht universell programmierbar.  Auch können UTXO nicht teilweise ausgeben (wertblind) werden und nur begrenzt Information aus der Blockchain verarbeiten (blockchainblind).
Ethereum hat eine eigene Programmiersprache entwickelt. Schleifen (Loops) sind möglich, was prompt zu Sicherheitslücken bei Applikationen führte. Bei "The DAO" wurden 50 Millionen USD gestohlen. Um dieses Diebesgut im Nichts auflösen zu lassen, wurde die Software umgeschrieben und die Blockchain zurückgesetzt (Hard Fork), was zu einer kontroversen Diskussion führte. Konsequenz war, dass viele den Software Upgrade nicht durchgeführt haben. Damit gibt es nun sozusagen zwei Universen und Währungen: Ether (ETH) und Ether Classic (ETC). ​
0 Kommentare

    Archiv

    April 2017
    Januar 2017
    Dezember 2016
    November 2016
    September 2016
    August 2016

    Kategorien

    Alle
    ASCII
    Bitcoin Blockchain
    Colored Coins
    DASH
    Definition Bitcoin
    Elliptic Curve (ECC)
    Ethereum Blockchain
    Hash
    Monero
    Skalierbarkeit
    Wallet
    Zahlensysteme
    Zcash

Disclaimer:
Bei den Informationen auf dieser Seite handelt es sich um keine Empfehlungen. Zur Verständlichkeit werden gewisse Sachverhalte stark vereinfacht dargestellt. Jeder Besucher muss für sich selber entscheiden, wofür er diese Informationen verwendet.
Copyright © 2017, www.blockchain-nachrichten.com
Alle publizierten Informationen bekommen über die Steemit Blockchain ihren Hash / "FIngerabdruck".


Copyright © 2016
  • Start
  • Kryptowährungen
  • Blockchain Technologien
  • Glossar