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

Colored Coins

19/9/2016

0 Kommentare

 
Bild
Zum einfacheren Verständnis sollte zuerst das Kapitel "Definition Bitcoin" gelesen werden
​Der Begriff Colored Coins wird unterschiedlich gebraucht. Hier wird folgende Definition verwendet: Colored Coins werden über eine bestehende Blockchain emittiert, transferiert und gehandelt. Es wird nur auf Colored Coins eingegangen, die auf der Bitcoin Blockchain aufbauen.
Colored Coins verkörpern selbst Vermögenswerte (Aktien, Anleihen, Kryptowährungen), Gutscheine (Tickets, Flugmeilen) oder sind Verbriefungen von Eigentumsrechten (Gold, USD, EUR) oder Nutzungsrechte (Auto, Mietwohnung). Verbriefungen sind das Versprechen, bei vorweisen, den Colored Coin in den Basiswert umzutauschen. Es besteht ein Gegenparteirisiko, da darauf vertraut wird, dass die Pfandstelle auch jederzeit fähig ist, diesen Austausch vorzunehmen. Für einige Blockchain Hardliner sind Verbriefungen daher verpönt. Nutzungsrechte könnten Wohnpunkte wie bei Hapimag sein, womit Ferienwohnungen gemietet werden können. 
 
Beispiele für Colored Coins als Vermögenswerte (in Klammer Software):
  • Counterparty (XCP)               (Counterparty)
  • Bitcrystals (BCY)                    (Counterparty)
  • OMNI                                       (OMNI Layer)
  • Synereo (AMP)                       (OMNI Layer)
  • Maidsafe (MAID)                    (OMNI Layer)
 
Beispiel für einen verbrieften Colored Coin:
  • Tether (TUSD)                       (OMNI Layer, USD bei Bank Trust hinterlegt)
 
 
Colored Coin Softwareprogramme:
  • Counterparty
  • OMNI Layer
  • OpenAssets
  • Colored Coins
  • CoinSpark
  • EPOBC
  • PeerAssets
 
Colored Coin Wallets (in Klammer Software):
  • Counterparty                         (Counterparty)
  • OMNI                                       (OMNI Layer)
  • CoinPrism                               (OpenAssets)
  • Colu                                         (Colored Coins)
  • CoinSpark                               (CoinSpark)
  • Chromaway                           (EPOBC)
  • Lykke                                       (Open Assets)
  • NASDAQ                                 (Open Assets Testphase)
 
Was macht Colored Coins attraktiv?

Colored Coins können auf einer bereits etablierten Blockchain aufgebaut und gesichert werden, ohne dass für die beteiligten Firmen dadurch grosse Zusatzkosten entstehen. Der Übertrag von Eigentumsrechten ist kostengünstig, transparent und schnell.   
Alle Protokolle beinhalten zwei Haupttransaktionen:
                                                      
  1. Emission oder Genesis von neuen Colored Coins
  2. Transfer

​Leider konnten sich die Colored Coins Anbieter bisher auf keinen Standard einigen. Früher war www.ColoredCoins.org die Internetseite für einen gemeinsamen Auftritt. Seit 2014 wird diese jedoch von Colu gesponsort und ist damit nicht mehr unabhängig. Es ist auch noch nicht erkennbar, welches Protokoll sich schliesslich durchsetzen wird. Die Dokumentation ist oft ziemlich wirr. Am einfachsten ist Colored Coins zu verstehen, wenn die historische Entwicklung verfolgt wird.

​Das Prinzip von Colored Coins ist in der Grafik dargestellt:
Bild
Colored Coins (rot) werden über die Bitcoins gestülpt (gelb, weiss). Hier werden zum Beispiel 10 Counterparty Token (XCP) von Bitcoin Adresse A zu B überwiesen. Bitcoin Wallets und Miner sehen aber nur folgendes:
Bild
Für das Bitcoin Ökosystem wurden 0 Bitcoins transferiert und dafür 0.0001 Gebühr bezahlt.
Colored Coin Wallets halten hingegen in ihren Datenbanken auch die XCP Daten fest:
Bild
Hier ein Einblick in das Colored Coins Wallet von Counterparty:
Bild
Für jede neue XCP Adresse muss eine entsprechende Bitcoin Adresse generiert werden. Auch sollte jederzeit ein kleiner Betrag Bitcoins vorhanden sein, damit überhaupt Transaktionen von XCP durchgeführt werden können.
Ziel ist aber, die Colored Coin Transaktion auch auf der dezentralen Bitcoin Blockchain einzubauen, um nicht einer zentralen Stelle, hier Counterparty, vertrauen zu müssen.
Die verschiedenen Softwareprogramme von Colored Coins Anbietern unterscheiden sich vor allem darin, wo diese Daten in der Bitcoin Blockchain "versteckt" werden.
Sehen wir uns in der folgenden Grafik wieder die Bitcoin Transaktion an, die hier besprochen wurde. Wo könnten die Colored Coin Daten eingebaut werden, damit auf der Bitcoin Blockchain keine Fehlermeldung provoziert wird?
Bild
Das Sequenzfeld («sequence»)
​
Die Ausführung von Bitcoin Transaktionen kann über die Funktion "locktime" auf einen späteren Zeitpunkt datiert werden (siehe Grafik oben). Die Transaktion befindet sich dann zwar im Mempool, kann aber bis zum Ausführungszeitpunkt noch abgeändert werden. Dazu muss der gleiche Input mit einer erhöhten Sequenznummer nochmals überwiesen werden. Dies ist gebührenfrei. Damit befinden sich zwei Transaktionen mit dem gleichen Input im Mempool. Ziel wäre gewesen, dass automatisch die angepasste Transaktion mit der höheren Sequenznummer von den Minern bevorzugt würde. Komischerweise erzwang dies Bitcoin Core jedoch nicht über eine zusätzliche Regel zur Verifizierung einer Transaktion. Miner sind aber Gewinnmaximierer. Wer in der Lotterie gewinnt, darf die Gebühren für sich einsacken. Logischerweise wurde die angepasste, gebührenfreie Transaktion ignoriert. De facto konnte der Nutzer damit eine vorgesehene Anpassung nicht durchführen, weshalb die Wallet Betreiber diese Funktion sofort stoppten. "Locktime" erhielt nun immer den Wert 0, womit das Sequenzfeld vom Protokoll links liegengelassen wurde.
Darauf hat EPOBC im Jahr 2012 aufgebaut. Da stand ein 32 Bits Feld, das keine Bedeutung hatte, weshalb es zur Speicherung der Colored Coin Daten verwendet werden konnte. Im Sequenzfeld wurden die Emission und der Transfer von Colored Coins kodiert.
Erstaunlicherweise kam Bitcoin erst kürzlich auf die Idee, dass einfach die Gebühr auf der angepassten Transaktion gegenüber der ursprünglichen erhöht werden muss und schon wird die Funktion "locktime" wieder vom Ökosystem akzeptiert. Das Sequenzfeld dürfte schon bald ein Revival in den Wallets erhalten und EPOBC den Gnadenstoss versetzen (BIP 0068, BIP 0125).  
Ein weiterer Nachteil von EPOBC ist, dass Colored Coins jeweils der kleinsten Bitcoin Einheit, also 1 Satoshi, entsprechen. Will man eine Emission von 1 Mio. Colored Coins durchführen, heisst dies, dass mindestens 55 Bitcoins transferiert werden müssen, was heute 33’000 USD entspricht! 
Verschleierung von Bitcoin Adressen
​
Ende Juli 2013 führte Mastercoin (heute OMNI) ein ICO über die Blockchain durch. Dabei wurde umgerechnet 500’000 USD Kapital aufgenommen. Im Januar 2014 folgte Counterparty mit 1.8 Mio. USD. Ziel: Colored Coin Daten auf der Bitcoin Blockchain zu speichern.
Für einfache Übertragungen wurden gefälschte, verschleierte Bitcoin Adressen generiert, in denen die Daten als Code eingebaut wurden. Das Prinzip ist in der Grafik dargestellt:
Bild
Es werden jeweils 0 Bitcoins von der Bitcoin Adresse A nach B und C überwiesen. Bitcoin Adresse C ist eine gefälschte Adresse. Sie wird aus den Colored Coin Daten künstlich kreiert, damit diese vom Bitcoin Protokoll akzeptiert werden. Bedingung ist nämlich, dass die Bitcoin Adresse einem Punkt auf der elliptischen Kurve entspricht.
Anhand eines Beispiels soll gezeigt werden, wie die Colored Coin Daten in die gewünschte Form gebracht werden:

Transaktion: "Übertrage 10 XCP von Bitcoin Adresse A auf Bitcoin Adresse B".
Code:
​0000100002000100000000000000000000000000000000000000000000      32 Bytes
00001: Transaktions-Typ (Sende)
​00002: Token ID (XCP)
00010 Betrag (10)

Ein guter Ausgangspunkt für die Verschleierung ist die echte Bitcoin Adresse B, die auf der elliptischen Kurve liegt. Aus dieser muss zuerst ein gefälschter Public Key geformt werden.

Bitcoin Adresse: 1CdighsfdfRcj4ytQSskZgQXbUEamuMUNF

Darauf wird eine erste Hashfunktion (SHA 256) angewendet:

1D9A3DE5C2E22BF89A1E41E6FEDAB54582F8A0C3AE14394A59366293DD130C       
​
Dies sieht schon mal gut aus; gleicht einem Public Key. Jetzt wird der Colored Coin Code über eine zweite Hashfunktion (XORing) eingebaut und es resultiert:

1C9A3DE5C2E22BF89B1E41E6FED84FB502F8A0C3AE14394A59366293DD130C       

Dies weicht nur geringfügig vom ersten Public Key ab, weil im Colored Coin Code viele Nullen enthalten sind.
Vorne wird das Präfix 02 angehängt, damit das Bitcoin Protokoll annimmt, dass es sich um einen komprimierten Public Key handelt. Hinten wird ein zweistelliges Suffix angehängt.

021C9A3DE5C2E22BF89B1E41E6FED84FB502F8A0C3AE14394A59366293DD130C03

Mit dem Suffix wird nun solange herumgepröbelt, bis der gefälschte Public Key mit einem Punkt auf der elliptischen Kurve übereinstimmt. Wohlgemerkt: Der Punkt wird niemals dem Private Key entsprechen. Diesen kennt nicht einmal das Colored Coin Wallet!
Damit wird das Bitcoin Ökosystem überlistet.
Über eine Bitcoin Transaktion können mehrere Colored Coins transferiert werden. Damit diese sowohl auf der Input- wie auch auf der Output Seite in der richtigen Reihenfolge stehen, wird vor dem Code noch ein Index aus 1 Byte eingebaut.
   
0100001000020001000000000000000000000000000000000000000     

Da der Index in hexadezimaler Form steht, reicht 1 Byte für 256 Zahlen (16^2 = 256). 00 darf aber nicht verwendet werden, da der Public Key sonst nicht mit einem Punkt auf der elliptischen Kurve übereinstimmen würde. Somit können maximal 255 gefälschte Bitcoin Adressen pro Transaktion kreiert werden. Dies reicht, um insgesamt 7’680 Bytes (255x30) Colored Coin Daten pro Bitcoin Transaktion zu speichern (ohne Index).  
Da kein Private Key mit den gefälschten Bitcoin Adressen übereinstimmt, wird der Output ewig vom Bitcoin Protokoll als UTXO behandelt. Gesendete Bitcoins wären verloren, weshalb für die Datenspeicherung null Bitcoins transferiert werden. Die zweckentfremdeten UTXO blähen die Blockchain markant auf und verstopfen den Arbeitsspeicher.
Verstopfung der Blockchain und an der Nase herumgeführt zu werden, war Bitcoin Core zu viel und sie begannen zurück zu schiessen. Zuerst wurde ein minimaler Output Wert (Dust Limite) von ca. 0.00006 Bitcoins eingeführt, was momentan etwa 10 USD für die maximal 255 Überweisungen pro Transaktion ausmacht:
Bild
Zusätzliche Drohgebärden zwangen die Colored Coin Anbieter auf das MultiSig Skript zu wechseln.
MultiSignatur / Kollektivunterschrift
​
Bei diesem Skript braucht es mehrere digital Unterschriften, um Zugriff auf die Bitcoins zu erhalten. Dementsprechend werden mehrere Bitcoin Adressen im Output aufgelistet. Mehrere Bitcoin Adressen heisst mehr Speicherplatz. Da Bitcoin Core maximal 3 Adressen zulässt, wird ein 1-von-3 MultiSig verwendet. Das heisst, dass 1 Private Key aus den 3 angegebenen Bitcoin Adressen für den Zugriff genügt. 2 Adressen können nun, wie oben beschrieben, gefälscht und für Datenspeicherung verwendet werden.   
Bild
Vorteil ist, dass die 0.00006 Bitcoins nicht verloren sind, sondern wieder ausgegeben werden können, da Bitcoin Adresse B echt ist und deren Private Key Zugriff auf die Bitcoins erhält. Die 0.00006 Bitcoins werden rezykliert und weniger UTXO verstopfen den Arbeitsspeicher. Da über MultiSig doppelt so viele Colored Coin Daten in einer Transaktion gespeichert werden können (2x30x255=15’300 Bytes), und dies sogar noch günstiger ist, wurde die Blockchain noch stärker aufgebläht. Anfangs 2014 hat Bitcoin Core daher ein neues Skript (OP_RETURN) extra für Datenspeicherung eingeführt. 
OP_RETURN
​
Mit der Einführung dieses Operators wurde eine begrenzte Menge an Datenspeicherung pro Transaktion von Bitcoin Core geduldet. Es müssen also keine Bitcoin Adressen mehr gefälscht werden. Das Bitcoin Ökosystem erkennt, dass es sich um Datenspeicherung handelt und fügt diesen UTXO nicht mehr dem Arbeitsspeicher zu. Pro Transaktion wurden anfänglich nur 1 OP_RETURN mit maximal 40 Bytes erlaubt, womit gewisse Anbieter wie Counterparty arg unter Druck kamen. Eine hässige Diskussion entstand, wovon hier eine Kostprobe gegeben wird:

Bitcoin Core
 
"Counterparty nutzt offensichtlich eine Anwendung (MultiSig), die nicht für Datenspeicherung gedacht war. Es ist naiv, zu glauben, dass Bitcoin stillschweigend einer Nutzung zugestimmt hat, die nicht vorausgesehen werden konnte". 
"Die Frage lautet: Sollen wir weiterhin erlauben, dass Daten im MultiSig Skript gespeichert werden oder ist es nicht besser, dafür ein geeigneteres Skript in Form von OP_RETURN zu benutzen".
"40 Bytes ist mehr als genug, um Daten mit einer Transaktion zu verknüpfen. Dies reicht für einen Hash mit 32 Bytes (SHA 256) und einen Index aus 8 Bytes".
 
Counterparty
 
"Die Bitcoin Software Entwickler werfen mit gefährlichen Wörtern wie "Missbrauch", "Opfer", "Parasiten" und "Trittbrettfahren" umher und treffen alleine Protokoll-Entscheidungen, welche sämtliche Teilnehmer des Ökosystems Bitcoin einbinden sollten".
"Die Arroganz von Bitcoin Core ist unbeschreiblich. Counterparty erweitert den Anwendungsbereich, womit Bitcoin mit neueren Ökosystemen wie NXT, BitShares und Ethereum konkurrieren kann".
 
Als Kompromiss wurde im Juli 2015 bei der Bitcoin Version 0.11 die maximale Menge Bytes pro OP_RETURN auf 80 Bytes erhöht und ein Grossteil des Ökosystems hat diese Version bereits umgesetzt. Auch die meisten Colored Coin Anbieter haben seither fast gänzlich auf OP_RETURN umgestellt, wie aus der folgenden Grafik ersichtlich ist:
Bild
Hier sind die grössten OP_RETURN Nutzer aufgelistet:
Bild
Colu ist mit Abstand der grösste (51.2%), gefolgt von vermutlich Counterparty (13,3%, verwendet kein Präfix), Omni Layer (10,1%) und Open Assets (6,2%). 
Open Assets Protokoll
​
Stellvertretend für Colored Coin Protokolle soll hier näher auf Open Assets eingegangen werden. Dieses basiert heute vollständig auf OP_RETURN und ist relativ einfach zu implementieren. Deshalb wird es häufig angewendet. So testet die Technologiebörse NASDAQ momentan anhand des Open Assets Protokolls, ob Emission, Kotierung und Handel von Aktien in der Zukunft über die Blockchain laufen könnten. Das offizielle Open Assets Wallet heisst Coinprism. Am einfachsten ist, wenn das Protokoll an einem Beispiel erklärt wird. 
Colored Coins Emission (Genesis)
 
Nehmen wir an, dass Firma X eine Emission von 1000 neuen Colored Coins durchführen möchte. Dazu wird ein kleiner Betrag von 0.001 Bitcoins von Adresse A auf B überwiesen. Dieser Betrag soll die minimal zulässige Überweisung von 0.00006 BTC und die Gebühr decken. In diesem Fall war die Gebühr 0.0001 BTC. Das Wechselgeld von 0.00084 BTC wird zurückgeschickt.  
Bild
Auf das Skript (P2PKH) wird eine Hashfunktion angewendet. Der resultierende Hash entspricht der Colored Coin ID. Diese muss nicht gespeichert werden, da Colored Coins jeweils bis zur Genesis zurückverfolgt werden können (wie bei Bitcoin).
Der Private Key von Bitcoin Adresse B kann später für eine Erhöhung der Colored Coin Menge verwendet werden. Soll dies ausgeschlossen werden, muss der Private Key vom Wallet zerstört werden. Bitcoin Adresse B könnte auch ein MultiSig Skript haben, womit die Menge nur durch ein Gremium (z.B. Notenbankausschuss) erhöht werden kann.
Im OP_RETURN steht das Kürzel OA für Open Assets in hexadezimaler Form (0x4f 0x41). Über diesen Marker erkennt das Open Assets Protokoll sofort, dass in dieser Bitcoin Transaktion Colored Coins involviert sind. Da die 1000 über dem Marker stehen, handelt es sich um eine Emission (Transaktionen würden unter dem Marker stehen). Der Marker ist auch als M auf einem Bitcoin bzw. UTXO ersichtlich.
Mit gerade mal 20 Cents wurden neue Colored Coins emittiert. Auch eine Emission von 1 Mio. hätte nicht mehr gekostet. ​
Colored Coins transferieren
​
Nehmen wir nun an, dass die Firma X Geld über ein Initial Coin Offering (ICO) aufnehmen möchte. Investoren können Bitcoins auf Adresse B einzahlen und erhalten dafür proportional Colored Coins. Da Bitcoins heute noch selten als Zahlungsmittel akzeptiert wird, kann die Firma die Bitcoins später wieder in EUR oder USD umtauschen, um ihre Projekte voranzutreiben.
ICO
​
In der folgenden Darstellung werden Gebühren vernachlässigt:
Bild
Distribution
​
Da 1000 Bitcoins aufgenommen wurden, erhalten die Investoren 1 Colored Coin pro einbezahltem Bitcoin. 
Bild
Im OP_RETURN befinden sich sämtliche Colored Coins unterhalb des Markers. Das heisst, dass hier keine Colored Coin Emission involviert ist. Über einen normalen Bitcoin Transfer von 0.00006 Bitcoins an Adresse A, die auch der Firma X gehört und oben Ausgangspunkt war, wird der Marker eingebaut.
Nochmals zur Erinnerung: Alles rot markierte wird über OP_RETURN definiert und ist hier nur zur Illustration eingefärbt. Ein normales Bitcoin Wallet kann den OP_RETURN Text nicht interpretieren und sieht nur folgendes:
Bild
Darum dürfen Colored Coins nie an ein normales Bitcoin Wallet gesendet werden; sie wären verloren. Open Assets verhindert dies, indem die Bitcoin Adressen in ein spezielles Format umgewandelt werden, das mit dem Buchstaben a anfängt (Bitcoin Adressen beginnen mit der Zahl 1).
Jetzt soll noch eine komplexe Transaktion dargestellt werden:
Bild
Über dem Marker steht 100. Grün ist also ein neu emittierter Colored Coin. Unter dem Marker stehen die Transaktionen vom roten Colored Coin und das Wechselgeld.

Metadaten
​
Da das Open Assets Protokoll simpel ist, bleiben im OP_RETURN ein paar Bytes übrig, die für Metadaten benutzt werden können. Wie dies verwendet wird, bleibt dem Wallet Anbieter überlassen. Coinprism verwendet den Speicherplatz, um einen Link zu einer Webseite herzustellen, wo sich die genaue Definition der Colored Coins oder ein Vertrag befinden. Hier noch ein Wallet Auszug von Lykke, die eine dezentrale Börse aufbauen und deren Colored Coin ICO zurzeit gerade läuft:
Bild
Abschliessend noch eine Anleitung, wie über Coinprism konkret Colored Coins generiert werden können.
Ethereum

Mit Ethereum wird von Grund auf eine programmierbare Blockchain aufgebaut. Alles soll viel einfacher als mit Colored Coins werden. Jedes Ethereum-Wallet kann Token erkennen und überweisen. Ein Wallet fragt eine Adresse, ob ihr neben Ether auch noch Token zugeordnet sind und zeigt sie allenfalls automatisch an. Auch können Verträge bzw. Programme über eine Adresse gespeichert und dann aufgerufen werden.
Colored Coin Token kann man sich vorstellen, als würde man eine 5 EUR Note nehmen und darauf schreiben: “Diese Note entspricht auch einer Hapimag Aktie”. Bei Ethereum könnte über eine Vertragsadresse ein Programm gestartet werden, das Hapimag Aktien emittiert und in einer anderen Ethereum Adresse ein dezentral gespeichertes Aktienregister führt (anstatt auf der Colored Coin Datenbank). In einer weiteren Adresse würde dann ein Programm gespeichert, mit der Anleitung, wie das Register bei Übertragungen von Aktien zu aktualisieren sei. 
Counterparty reagiert jedoch bereits und versucht eine geklonte Version von Ethereum auf der eigenen Colored Coin Plattform anzubieten.
Quellen:
https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki
https://github.com/OpenAssets/open-assets-protocol/blob/master/specification.mediawiki
https://github.com/OmniLayer/spec
https://github.com/Colored-Coins/Colored-Coins-Protocol-Specification/wiki/Coloring-Scheme
https://www.youtube.com/watch?v=8fBSvN2aqjI&index=21&list=PLWNXOxeBlQ1o75WgSaJ89v4eUPggD38W
http://www.multichain.com/developers/
https://docs.google.com/document/d/1NYEYGI7oCRCjtbxRTLXes7M_-PeOwBF_SmwgmV1z78k/edit#
https://counterparty.io/news/counterparty-community-update-feb-4/
http://opreturn.org/
http://www.forbes.com/sites/kashmirhill/2014/06/03/mastercoin-maidsafe-crowdsale/#437acdbe6423
https://en.bitcoin.it/wiki/BIP_0068 
https://docs.google.com/document/d/1AnkP_cVZTCMLIzw4DvsW6M8Q2JC0lIzrTLuoWu2z1BE/edit#heading=h.wxrvzqj8997r
https://github.com/chromaway/ngcccbase/wiki/EPOBC_simple
http://documentation.colu.co/
https://bitcoil.co.il/BitcoinX.pdf
https://www.quora.com/How-do-Bitcoin-colored-coins-work

0 Kommentare



Hinterlasse eine Antwort.

    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