Delegation an@steem-ua, Block Bestandteile Bitcoin (transaktionskonsens)steemCreated with Sketch.

in #deutsch6 years ago

Willkommen zu meinem neunten Bitcoin Artikel (technische Erläuterungen). Für alle die meine anderen acht Artikel zu Bitcoin noch nicht kennen hier eine Übersicht:

  1. Das Bitcoin-System 
  2. Erfüllung der drei Transaktionsbedingungen bei Bitcoin
  3. Transaktionskonsens bei Bitcoin (Mining und Blockchain)
  4. Netzwerkknoten (Bitcoin)
  5. Bitcoin Kommunikationsprotokoll und aktuelle Registerversion; Verwaltung des Bitcoin Systems(BIP), Bitcoin ist Fiatgeld
  6. Pseudonyme und Zugriffsberechtigungen bei Bitcoin (Transaktionslegitimität)
  7. Sicherheit bei Bitcoin (Schlüssel und Pseudonyme), Einstieg Hahsfunktionen
  8. Transaktionen (technische Erläuterungen zu Bitcoin)

Delegation zu @steem-ua

Bevor es mit dem eigentlichen Artikel losgeht noch ein paar Worte zu @steem-ua. Ein Projekt, das den Reputationswert durch einen neuen Wert (UA Wert) ersetzen will. Mit dem UA Wert soll die eigentliche Qualität der Texte des Autors besser erfasst werden, als mit der Reputation was meiner Ansicht nach auch ein Stück weit funktioniert (auf jedenfall eine Verbesserung zur Reputation). Hier ein Link zu einer kurzen Erklärung.

Wenn man SP zu @steem-ua delegiert bekommt man Upvotes von @steem-ua. Die Höhe der Upvotes hängt nicht von der Höhe deiner Delegation ab, sondern davon wie hoch dein UA Wert ist. Was von der Höhe der Delegation abhängt ist die Anzahl der Upvotes die du pro Woche bekommen kannst. Ich habe 25SP delegiert womit ich einen @steem-ua Upvote pro Woche bekommen kann. Wenn du 50SP delegierst kannst du zwei Upvotes pro Woche bekommen und so weiter.

Falls du schon länger bei Steemit dabei bist und dein UA Wert dementsprechend hoch ist (hier kannst du schauen wie hoch dein UA Wert ist) würde ich dir eine 25SP Delegation (oder höher wenn du mehr als einen post pro Woche schreibst) empfehlen, da die @steem-ua Upvotes dann relativ hoch ausfallen werden (0,6USD oder auch mehr je nach Höhe deines UA Scores). Self-Voting mit 25SP bringt dagegen praktisch nichts, du machst also durch die 25SP Delegation Gewinn. In diesem Post gibt es unten Quick-Delegation Links.

Das war der "Tipp" , fangen wir jetzt mit dem eigentlichen Thema des Artikels an:D

Transaktionskonsens: Wieso Blöcke und Blockketten?

Wieso Bitcoin eine Blockchain braucht haben wir schon in Artikel 3 geklärt. Da das schon eine Weile her ist nochmal eine ganz kurze Erklärung.

  • Stichwort Transaktionskonsens

Da das Bitcoin Netzwerk dezentral ist hat jeder Knoten seine eigene Registerversion. Um nun sicherzustellen welche Registerversion jetzt aktuell und gültig ist gibt es die Blockchain.

Die Blockchain ist also das "Instrument" das dafür sorgt, dass ein Konsens ("Übereinstimmung der Meinungen") erreicht wird. Also welche Transaktionen vom Netzwerk als gültig betrachtet werden (nach der Transaktionslegitimität). Und welche Person über welche Bitcoin Einheiten verfügen darf.

  • Stichwort Double Spend Problem

Wenn zwei Transaktionsnachrichten gleichzeitig losgeschickt werden, die sich auf die gleiche Bitcoin Einheit beziehen, wird dieses Problem ebenfalls durch das Erreichen eines Transaktionskonsens (mithilfe der Blockchain) gelöst.

Blockchain:

  • Öffentliches Register des Bitcoin-Systems, indem die bestätigten Transaktionen festgehalten sind (seit der Entstehung von Bitcoin). Die Blockchain ist also eine stetig wachsende Datenbank zurzeit weit über 100GB.
  • Theoretisch kann jeder die Blockchain herunterladen und verändern, doch die veränderte Version wird vom Rest des Netzwerkes nicht angenommen werden, da das Verändern einer Transaktion (die Inhalt eines Blocks ist) die Block ID verändern wird. Und da Blöcke immer die ID des Blockes der vor ihnen kommt referenzieren ist eine Veränderung (wenn man unter 50% der Gesamtrechenleistung hat) unmöglich. (siehe Artikel 3)

Aus was besteht die Blockchain? Bestandteile eines Blocks

Die Blockchain (zu deutsch Blockkette) besteht wie der Name schon sagt aus mehreren aneinander gereihten Blöcken. Diese Blöcke beinhalten alle jeweils mindestens eine Transaktion.Damit eine Transaktion in die Blockchain aufgenommen werden kann muss sie also erst in einen Block(kandidaten). Jeder vollwertige Netzwerkknoten (dank Pool Mining auch ohne Full node möglich) mit Mining Funktion kann Blöcke beziehungsweise Blockkandidaten erstellen.

Hierfür wählt der Knoten verschiedene Transaktionen aus seinem transaction pool aus, die dann in die vordefinierte Struktur des Blocks kommen (Merkle Root). (Begriff wird später erklärt)

In der Abbildung sieht man den schemenhaften Aufbau eines Blockes bzw die Inhalte die dieser haben muss. Die in der Abbildung gezeigten Bestandteile werde ich jetzt kurz erklären.

  • Version:Beschreibung der Protokoll Version unter der der Block erstellt wurde. (32 Bit Zahl)
  • Referenz: Diesen Bestandteil kennen wir schon. Dieser Eintrag im Block Header referenziert den Vorgänger Block also den vor diesem Block aktuellsten Block der Blockchain. Referenziert wird die Block ID sprich der 256 Bit Hashwert der doppelt angewandten (auf den Block Header) SHA256 Hashfunktion.
  • Zeitstempel: Angaben zum Zeitpunkt an dem der Block erstellt wurde.
  • Schwellenwert: Der Schwellenwert ist der maximale Hashwert den der Block Header maximal haben darf (Block ID).
  • Nonce: Raum für arbiträre Daten. Kleine Erklärung von mir aus einem Kommentar. >Die Nonce ist einfach ein Raum für arbiträre Daten im Block der einfach verändert werden kann. Die Block ID (Identifikationsnummer) wird ja aus dem Block berechnet (mit einer Hashfunktion). Diese Block ID ist also abhängig vom Inhalt des Blocks. Und die Block ID muss unter einem gewissen Schwellenwert liegen, damit der Block ins Blockchain Register kommt. Und da man bei einer Hashfunktion (bei SHA 256) nicht weiß welcher Input (also welcher Block Inhalt) welchen Hashwert liefert muss man einfach den Block Inhalt so lange ändern, bis die Block ID unter dem Schwellenwert liegt. Soweit verständlich hoffe ich:)
    Also der Hashwert des Block Inhaltes (Block ID) ist jetzt vereinfacht gesagt 12. Der Schwellenwert liegt aber bei vereinfacht gesagt 6 als beispiel. Nun kann der Block nicht ins Blockchain Register, da die Block ID zu groß ist. Also muss der Miner den Block Inhalt solange ändern bis die Block ID unter 6 liegt (der Miner muss das machen da er nur wenn sein Block vom Blockchain Register angenommen wird, er die Belohnung bekommt (die sogenannte Coinbase Transaktion bei der ein paar neue Bitcoins geschaffen werden die der Miner bekommt).
    Also jetzt könnte der Miner den Block Inhalt ändern in dem er ein paar Transaktionen aus dem Block wirft oder neue reintut und so weiter. Aber das wäre doof:D Daher gibt es die sogenannte Nonce. Also verändert der Miner einfach nur die Nonce und kann sonst alles im Block gleich lassen. Aber durch die veränderte Nonce (andere Zahl) ist der Block Inhalt anders und daraufhin wird auch der Hashwert des Blocks anders und damit auch die Block ID. Diese neue Block ID ist jetzt zum Beispiel 9. Immernoch nicht unter dem Schwellenwert. Also nimmt der Miner wieder eine andere Nonce. Diesesmal ist der Hashwert des Block Inhaltes (und damit auch die Block ID) 3 das ist unter dem Schwellenwert das heißt der Block wird angenommen, kommt in die Blockchain und der Miner bekommt seine Belohnung:) 
  • Merkle Root: Alle Transaktionen im Block als 256 Bit Eintrag. Die Transaktionen selbst sind nicht Bestandteil des Block Headers. Die Sicherstellung das nicht verändert (manipuliert) wird erfolgt hier über einen Merkle Tree (Hash Baum:D). Die Transaktionen werden hierfür zu Paaren genommen und mithilfe der der doppelt angewandten Hashfunktion SHA256d der Hashwert jedes trx Paares berechnet. Aus diesen Hashwerten werden dann wieder Paare gebildet, bis nur noch ein Wert übrig bleibt. Dieser Wert ist dann der sogenannte Merkle Root (hash Wurzel). Damit das ganze besser zu verstehen ist hier eine Abbildung.

In der Abbildung sieht man, dass eine ungerade Transaktionszahl nichts ausmacht, da in diesem Fall einfach c verdoppelt wird (die übrigbleibende Transaktion eben).

Sobald auch nur eine einzige Transaktion verändert wird, nimmt die Merkle Root einen anderen Wert an womit der Block ungültig werden würde. Die Merkle Root ist also eine Art Bindeglied zwischen Transaktionen und Block Header der trotzdem dafür sorgt, dass die Transaktionen nicht manipuliert werden können aber gleichzeitig die Suche nach einer bestimmten Transaktion eines Blockes effizienter macht.

In nächsten Artikel beschäftigen wir uns dann mit der Struktur der Blockkette beziehungsweise der Blockchain.

Ich würde mich freuen, wenn ihr mir Feedback und einen Upvote dalassen würdet.

Feedback zur Artikellänge wäre auch interessant. Können die Artikel auch noch länger sein oder ist diese Länge gut? Fragen werden von mir natürlich auch beantwortet also gerne in die Kommentare schreiben.

Quellen

  •  Mein Wissen über dieses Thema habe ich größtenteils aus diesem Buch. Ich kann es sehr empfehlen.

https://www.amazon.de/gp/product/3738653929/ref=as_li_tl?ie=UTF8&tag=urdreamscomet-21&camp=1638&creative=6742&linkCode=as2&creativeASIN=3738653929&linkId=d95515f27071b70b443408ad7170a100

Dies ist ein ref Link von mir zu dem Buch. 






Sort:  

alles verstanden so weit. Wieder sehr gut zusammen gefasst. PS. das mit der UA hab ich nicht verstanden (bei sowas macht mein Hirn immer dicht :D genau wie schriftliches Rechnen :D) Aber die Reputation ist echt sowas von fürn Arsch. Guter Content ist kommunikativ, das ist alles.

Diese UA ist einfach eine Art verbesserte Reputation so wie ich verstanden habe.
Da fließt unter anderem ein, was für Follower du hast, wieviele Kommentare du bekommst, wer deine Posts upvotet und so. Also es ist wohl besser für den UA Score wenn man qualitativ hochwertigen Content schreibt. Und um an diesem UA Projekt teilzunehmen muss man einfach 25SP (oder 50 etc) an@steem-ua delegieren und bekommt dann automatisch Upvotes von denen. Und die Höhe dieser Upvotes ist abhängig von der Höhe deines UA Scores. Wie oft pro Woche du Upvotes bekommst ist abhängig von der Höhe deiner Delegation. Ich hab 25SP delegiert womit ich theoretisch einen Upvote pro Woche von denen bekommen kann.

So ganz habe ich das UA zeug auch noch nicht verstanden aber man macht Gewinn damit und unterstützt damit auch nh "bessere" Reputations Alternative also hab ich mal delegiert:D
Hier nochmal ein Link
https://steemit.com/ua/@steem-ua/introducing-userauthority-ua-steem-ua-and-ua-api
Grüße!

Hi UDCT,

vielen Dank für den neuen Artikel, durch unsere regelmäßige Kommunikation komme ich immer besser mit dem Thema klar.

Großartig!

Vielen Dank außerdem für die Infos über UA. Ich hab mal nachgesehen und bin tatsächlich auf Rang 136267. Wow, garnicht mal schlecht, obwohl mein Score bei 0.000 liegt, also nix.

Kurzum, ich raffe es auch nicht so ganz (danke @lauch, du bist nicht allein ;-))

Prinzipiell ist die Idee eines neuen Reputationssystems wirklich prima. Da gerade Accounts wie deiner (wo immer informative Sachen erscheinen) gefördert wird. Aber ich verstehe das mit der Delegation nicht so ganz. Bzw. verstehe ich nicht ob, wenn ich denn was delegieren würde (wie auch immer), dann auch tatsächlich eine Vorteil davon hab, denn mein Score ist ja nix!

Was meinst du dazu?

Beste Grüße

Chapper

Hey,
Freut mich, dass das Wissen sich so langsam verankert;)

Das dein Score bei 0 liegt wundert mich jetzt ehrlich gesagt auch:D
Das versteh ich auch nicht, da du ja schon Posts geschrieben hast die viele Upvotes und Kommentare bekommen haben und auch Follower hast.
Vielleicht ein bug? Theoretisch wird das alle paar Sekunden aktualisiert. Also schau vielleicht später noch mal nach.

Ich meine aber mal gelesen zu haben, dass selbst bei einem 0 Score der Upvote schon an die 0,2USD wert ist. Mein upvote von denen war jz glaub circa 0,3USD wert also schon ganz ordentlich.

Zum Delegieren einfach bei dem oben verlinkten Artikel von denen nach unten scrollen da haben die "quick delegation links". Dann einfach auf die 25SP und dann wird das ganze per steemconnect gemacht.
Und mit dieser Delegation von 25SP würdest du dann einen Upvote pro Woche von denen bekommen (wenn du mindestens einen post pro Woche schreibst).

Alles klar,

ich schau es mir mal an.

Schönen Sonntag noch

Gruß

Chapper

Hi @urdreamscometrue!

Your post was upvoted by utopian.io in cooperation with steemstem - supporting knowledge, innovation and technological advancement on the Steem Blockchain.

Contribute to Open Source with utopian.io

Learn how to contribute on our website and join the new open source economy.

Want to chat? Join the Utopian Community on Discord https://discord.gg/h52nFrV



This post has been voted on by the steemstem curation team and voting trail.

There is more to SteemSTEM than just writing posts, check here for some more tips on being a community member. You can also join our discord here to get to know the rest of the community!

Hi @urdreamscometrue!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 1.422 which ranks you at #38110 across all Steem accounts.
Your rank has dropped 117 places in the last three days (old rank 37993).

In our last Algorithmic Curation Round, consisting of 429 contributions, your post is ranked at #326.

Evaluation of your UA score:
  • Only a few people are following you, try to convince more people with good work.
  • You have already convinced some users to vote for your post, keep trying!
  • Try to improve on your user engagement! The more interesting interaction in the comments of your post, the better!

Feel free to join our @steem-ua Discord server

Du hast ein kleines Upvote von unserem Curations-, Support- und Reblog Account erhalten. Dieser wurde per Hand erteilt und nicht von einem Bot. Wir, die Mitglieder des German Steem Bootcamps möchten die deutsche Community stärken. Bei einer Mitgliedschaft im German Steem Bootcamp könnt ihr sicher sein, dass eure Beiträge auch gelesen werden.

Aktuell als Kurator tätig ist @derbesserwisser

Du findest uns im Discord unter https://discord.gg/vTsTSrZ

Congratulations @urdreamscometrue! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

Award for the number of upvotes received

Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word STOP

Support SteemitBoard's project! Vote for its witness and get one more award!

Coin Marketplace

STEEM 0.30
TRX 0.12
JST 0.033
BTC 64400.33
ETH 3140.71
USDT 1.00
SBD 3.93