Bitcoin Forum
June 17, 2024, 08:59:49 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2]  All
  Print  
Author Topic: Was passiert bei einer Transaktion?  (Read 2355 times)
Itcher (OP)
Full Member
***
Offline Offline

Activity: 364
Merit: 100



View Profile
July 23, 2013, 08:09:41 AM
 #21

Nun habe ich noch eine technische Frage.

Die privaten und öffentlichen Schlüssel: Das sind SHA-2-Hashs, richtig? Sie werden von den Minern fortlaufend produziert, und die Miner erhalten je generiertem Block von Hashs eine bestimmte Anzahl Bitcoins?

Die Transaktion: Ist sie auch ein Code, der von den Minern generiert wird?
Akka
Legendary
*
Offline Offline

Activity: 1232
Merit: 1001



View Profile
July 23, 2013, 08:27:50 AM
 #22

Die Miner haben mit den eigentlichen Schlüsseln überhaupt nichts zu tun. Ich würde mich an deiner Stelle nicht so sehr auf die Miner konzentrieren, das ist nur unnötig verwirrend.

Im Endeffekt machen die Miner nur einen Haufen völlig sinnloser Arbeit. Das könnte im Prinzip alles sein was irgendwie überprüfbar ist. Das Prinzip basiert einfach nur darauf, dass zufällig ein Miner (anhand der Menge an Sinnloser Arbeit die er erledigt hat) einen Block erstellen darf. Diesen Block kann er an die vorhandene Kette dranhängen oder versuchen die vorhandene Kette an einem Punkt zu überschreiben. Das führt dazu, dass das Netzwerk vor unehrlichen Transaktionen sicher ist, solange mehr als 50% der Arbeit von ehrlichen Minern gemacht wird.

Ich würde mir an deiner Stelle hierüber überhaupt nicht den Kopf zerbrechen. Solange mehr als 50% der Miner ehrlich sind, sind sie für das System eigentlich irrelevant.

All previous versions of currency will no longer be supported as of this update
Itcher (OP)
Full Member
***
Offline Offline

Activity: 364
Merit: 100



View Profile
July 23, 2013, 08:36:56 AM
 #23

verdammt! Ich dachte, ich hätte es langsam Sad

Also: Die Miner machen sinnlose Arbeit. Aber sie produzieren doch SHA-2-Hashs, oder? Und basiert das BTC-Netzwerk nicht auf diesen?

Ich möchte die Miner deswegen einbeziehen, weil meine Idee war, dass bei Bitcoin Geldschöpfung (Minen) und Transaktion durch dieselbe Aktion durchgeführt wird. Falls das so ist, fände ich es ziemlich innovativ ...

Hat der Block, den ein Miner erstellen darf, nichts mit dem zu tun, was sein Rechner zuvor gemacht hat?

Danke für das webinar übrigens.
lassdas
Legendary
*
Offline Offline

Activity: 3659
Merit: 1448


View Profile
July 23, 2013, 08:49:12 AM
 #24

Hat der Block, den ein Miner erstellen darf, nichts mit dem zu tun, was sein Rechner zuvor gemacht hat?
Nein, der Block hat mit der verrichteten Arbeit des Miners überhauptnichts zutun.

Stell Dir einfach vor, die Miner stehen alle vor einer Losbude und ziehen den ganzen Tag nur Lose.
Wenn einer nun ein Gewinner-Los zieht, darf der den nächsten Block erstellen.
Die Lose selbst sind völlig wertlos und haben mit den erstellten Blöcken, oder den Transaktionen nix zutun.
Akka
Legendary
*
Offline Offline

Activity: 1232
Merit: 1001



View Profile
July 23, 2013, 08:51:42 AM
 #25

Also: Die Miner machen sinnlose Arbeit. Aber sie produzieren doch SHA-2-Hashs, oder? Und basiert das BTC-Netzwerk nicht auf diesen?

Ja, sie produzieren Sha Hashes und die das Private Key verfahren deiner Adresse beruht auch darauf, sind aber 2 getrennte Systeme. Es ist wirklich nicht wichtig was die Miner im Endeffekt machen, das wichtige daran ist, dass sie eine Rechenaufgabe lösen deren Aufwand beliebig angepasst werden kann, deshalb hat man sich für Sha entschieden.


Ich möchte die Miner deswegen einbeziehen, weil meine Idee war, dass bei Bitcoin Geldschöpfung (Minen) und Transaktion durch dieselbe Aktion durchgeführt wird. Falls das so ist, fände ich es ziemlich innovativ ...

Hat der Block, den ein Miner erstellen darf, nichts mit dem zu tun, was sein Rechner zuvor gemacht hat?

Der Miner macht sinnlose Arbeit, was ist im Prizip egal. Sieh die Menge an Arbeit, als Anzahl Lose in einer Lotterie die der Miner bekommt, je mehr Arbeit, desto mehr Lose. Wenn ein Miner das gewinnende Los zieht darf er einen Block erstellen. In diesem Block kann er Transaktionen bestätigen. Gleichzeitig kann er in diesem Block eine Transaktion an eine Adresse seiner Wahl im Wert von 25 BTC "aus dem nichts" erstellen. So werden die neuen BTC geschaffen. Würde er mehr erstellen würden alle Clients den Block als ungültig ablehnen. Diese 25 BTc sind sozusagen die Belohnung dafür das er sich ehrlich verhält, denn solange mehr als die Hälfte aller Lose an ehrlich Miner gehen ist es Statistisch nur eine Frage der Zeit, bis jeder Angreifer "überwältigt" wird und dann auch seine Belohnungen verliert.

Einfacher kann ich das wirklich nicht mehr beschreiben.

Danke für das webinar übrigens.

Gern geschehen. erinnert mich aber daran, dass wir dringend ein deutsches Bitcoin Wiki brauchen, dann müsste ich nicht in 2 Monaten das alles nochmal erklären  Tongue
(Von dem wiki das wir haben, habe ich die Schnauze voll und werde nicht mehr daran arbeiten, gehört aber nicht hierher)

All previous versions of currency will no longer be supported as of this update
Itcher (OP)
Full Member
***
Offline Offline

Activity: 364
Merit: 100



View Profile
July 23, 2013, 08:53:43 AM
 #26

Ok ...

und wie entsteht dann ein Block? Wie entstehen die Adressen sowie die Schlüssel für die Transaktionen?

Oder ist die für einen Block nötige Rechenleistung so gering, dass auch ich mit meinem schwachbrüstige Laptop einen bauen könnte, wenn ich es dürfte, und dass Hashs eigentlich unendlich viele per "Klick" zu erzeugen sind?

D.h. die Rolle der Miner bei einer Transaktion beschränkt sich darauf, einen Block an die Blockchain anzubauen und zu sagen: "Ok, ich nehme Transaktionen auf"?
Akka
Legendary
*
Offline Offline

Activity: 1232
Merit: 1001



View Profile
July 23, 2013, 08:59:05 AM
 #27

Wie entstehen die Adressen sowie die Schlüssel für die Transaktionen?

Die erstellt dein Bitcoin Client.

Oder ist die für einen Block nötige Rechenleistung so gering, dass auch ich mit meinem schwachbrüstige Laptop einen bauen könnte, wenn ich es dürfte, und dass Hashs eigentlich unendlich viele per "Klick" zu erzeugen sind?

Das hat mit der Anzahl "Lose" zu tun. Dein Laptop erstellt sagen wir ein Los pro Sekunde, ein Moderner Miner 1000. Alle 10 min gewinnt im Prinzip ein Los, egal wie viele Lose es gibt, je mehr Lose desto kleiner deine Chance per los. Wenn jetzt alle nur mit nem Laptop Lose ziehen würden, wäre dein Laptop ausreichend.


D.h. die Rolle der Miner bei einer Transaktion beschränkt sich darauf, einen Block an die Blockchain anzubauen und zu sagen: "Ok, ich nehme Transaktionen auf"?

Ja, mehr macht ein Miner im Prinzip nicht.

Wie gesagt, vergiss die Miner! Du warst auf nem ganz guten weg das zu verstehen und läufst jetzt wieder in die völlig falsche Richtung.

All previous versions of currency will no longer be supported as of this update
lassdas
Legendary
*
Offline Offline

Activity: 3659
Merit: 1448


View Profile
July 23, 2013, 09:05:57 AM
 #28

Die fürs Erstellen eines Blocks nötige Rechenleistung ist in der Tat sehr gering, das kann praktisch jeder Rechenknecht, ob Handy, RaspberryPi, Uralt-Laptop, oder HighEnd-Supercomputer.
Schwierig ist es nur, die Lotterie zu gewinnen, damit man überhaupt einen Block erstellen darf.  Wink
Itcher (OP)
Full Member
***
Offline Offline

Activity: 364
Merit: 100



View Profile
July 23, 2013, 09:30:02 AM
 #29

Danke für das webinar übrigens.

Gern geschehen. erinnert mich aber daran, dass wir dringend ein deutsches Bitcoin Wiki brauchen, dann müsste ich nicht in 2 Monaten das alles nochmal erklären  Tongue
(Von dem wiki das wir haben, habe ich die Schnauze voll und werde nicht mehr daran arbeiten, gehört aber nicht hierher)

Ja, ich habe auch schon im Wiki nachgelesen und nichts verstanden. War aber im englischsprachigen nicht anders. Ich habe sogar einen Blick in Satoshis Paper geworfen, bin aber zügig ausgestiegen, sobald es Gleichungen gehagelt hat. Das zeigt vielleicht, wie "nerdy" Bitcoins noch sind.

Wie entstehen die Adressen sowie die Schlüssel für die Transaktionen?

Die erstellt dein Bitcoin Client.

Ok. D.h. wir - das Netzwerk der Wallets - erstellt die nötigen Verschlüsselungen, um sichere Transaktionen auszuführen, und prozessiert diese dann. Die Miner haben damit nix zu tun.

Oder ist die für einen Block nötige Rechenleistung so gering, dass auch ich mit meinem schwachbrüstige Laptop einen bauen könnte, wenn ich es dürfte, und dass Hashs eigentlich unendlich viele per "Klick" zu erzeugen sind?

Das hat mit der Anzahl "Lose" zu tun. Dein Laptop erstellt sagen wir ein Los pro Sekunde, ein Moderner Miner 1000. Alle 10 min gewinnt im Prinzip ein Los, egal wie viele Lose es gibt, je mehr Lose desto kleiner deine Chance per los. Wenn jetzt alle nur mit nem Laptop Lose ziehen würden, wäre dein Laptop ausreichend.

Du gehst davon aus, dass ich mit meinem Laptop an der Mining-Tombola teilnehmen will. Nein, das habe ich nicht gemeint. Ich meinte: Woraus besteht ein Block, und wer generiert ihn? Moment --- sind wir jetzt wieder bei den Clients, also den Wallets, die Transaktione generieren, und besteht ein Block aus allen Transaktionen + der einen, die dem Miner 12,5 BTC schenkt?

Aber warum werden dann je Block nur rund 300 Transaktionen ausgeführt? Woraus besteht der Rest? Aus Spam?

Und ist die Hash-Rate des Netzwerkes demzufolge vollkommen bedeutungslos? Bisher dachte ich: Hohe Hash-Rate = schnelle Transaktionen.

mezzomix
Legendary
*
Offline Offline

Activity: 2618
Merit: 1253


View Profile
July 23, 2013, 09:30:35 AM
 #30

Nun habe ich noch eine technische Frage.

Die privaten und öffentlichen Schlüssel: Das sind SHA-2-Hashs, richtig? Sie werden von den Minern fortlaufend produziert, und die Miner erhalten je generiertem Block von Hashs eine bestimmte Anzahl Bitcoins?

Die Transaktion: Ist sie auch ein Code, der von den Minern generiert wird?

Der private und öffentliche Schlüssel sind Parameter des ECDSA Verfahren.

Eine Transaktion wird von Dir oder einem anderen Teilnehmer mit Hilfe eines Bitcoin Client erzeugt. Dort steht vereinfacht gesagt drin es werden soundsoviel BTC von Adresse A genommen und an Adresse B transferiert. Dabei sind die Adressen letztendlich die öffentlichen Schlüssel des ECDSA Verfahren. Diese Transaktion wird nun von demjenigen signiert (unterschrieben), der über den Privatschlüssel zu Adresse/Schlüssel A verfügt.

Die signierte Transaktion kann nun an andere Knoten im Netz gesendet werden. Diese verteilen die Transaktion weiter, bis sehr schnell ein grosser Teil des Netzwerk über die Transaktion Bescheid weiss.

Die Miner betreiben ebenfalls einen Knoten im Netz. Sie suchen sich die Transaktionen die sie möchten aus dem Pool von Transaktionen aus, packen diese in einen Block und versuchen einen Hash nach den Regeln des Bitcoin Protokol zu finden. Das ist dann der SHA2 Hash.

Haben sie einen geeigneten Block gefunden, verteilen die Miner diesen Block ihrerseits im Netzwerk. Damit werden alle von diesem Miner aufgenommenen Transaktionen bestätigt. Nach der Verteilung weiss jeder Knoten, der den Block erhalten hat über die Transaktionen bescheid. Damit weiss auch jeder, dass Adresse A nun keine/weniger BTC kontrolliert, während B nun über mehr BTC verfügt.
Sukrim
Legendary
*
Offline Offline

Activity: 2618
Merit: 1006


View Profile
July 23, 2013, 09:51:24 PM
 #31

Oder ist die für einen Block nötige Rechenleistung so gering, dass auch ich mit meinem schwachbrüstige Laptop einen bauen könnte, wenn ich es dürfte, und dass Hashs eigentlich unendlich viele per "Klick" zu erzeugen sind?

Das hat mit der Anzahl "Lose" zu tun. Dein Laptop erstellt sagen wir ein Los pro Sekunde, ein Moderner Miner 1000. Alle 10 min gewinnt im Prinzip ein Los, egal wie viele Lose es gibt, je mehr Lose desto kleiner deine Chance per los. Wenn jetzt alle nur mit nem Laptop Lose ziehen würden, wäre dein Laptop ausreichend.

Du gehst davon aus, dass ich mit meinem Laptop an der Mining-Tombola teilnehmen will. Nein, das habe ich nicht gemeint. Ich meinte: Woraus besteht ein Block, und wer generiert ihn? Moment --- sind wir jetzt wieder bei den Clients, also den Wallets, die Transaktione generieren, und besteht ein Block aus allen Transaktionen + der einen, die dem Miner 12,5 BTC schenkt?

Aber warum werden dann je Block nur rund 300 Transaktionen ausgeführt? Woraus besteht der Rest? Aus Spam?

Und ist die Hash-Rate des Netzwerkes demzufolge vollkommen bedeutungslos? Bisher dachte ich: Hohe Hash-Rate = schnelle Transaktionen.
Ein Block besteht aus einigen Transaktionen, die ein Miner für bestätigenswert erachtet (z.B. weil sie Gebühren beinhalten). Diese trägt er in eine Liste ein (in Wirklichkeit ein sogenannter "Merkle Tree") und erstellt für die gesamte Liste eine Prüfsumme. Bis hierhin kann das auch noch jeder 386er PC aus dem vorigen Jahrtausend ohne Probleme in Sekundenbruchteilen erledigen.
Ein Block besteht dann aus einem sogenannten "Header" (in dem z.B. diese Prüfsumme der Liste, die aktuelle fortlaufende Nummer des Blocks, die ungefähre aktuelle Zeit (+/- 2 Stunden) etc. stehen) und eben der Liste an Transaktionen als variabler Anteil. Eine davon ist diejenige, in der sich der Miner bis zu 25 BTC derzeit aus dem Nichts generieren darf.

Hier wird's eben schwierig: Wenn es ja so einfach ist, einen Block zu erstellen (Liste einiger Transaktionen basteln + ein paar allgemeine Daten anhängen) - wie soll man dann verhindern, dass nicht einfach jemand gleich mal ein paar Millionen Blöcke zusammenbastelt?

Hier setzt das Mining an - das ist ein Verteilungsmechanismus, der auf "Proof of Work", also "Arbeitsbeweis" aufsetzt. Um einen gültigen Block zu senden, muss er nicht nur ordentlich erstellt sein (das ist ja leicht), sondern man muss auch beweisen, dass man eine gewisse Arbeit erledigt hat. Im Fall von Bitcoin ist das die Erstellung einer SHA-256 Prüfsumme des Blockheaders, die mit einer gewissen Anzahl an Nullen beginnt.

Ein praktisches Beispiel wäre z.B. "Würfelcoin": Du hast 10 Münzen + 2 Freunde + 1 Würfel. Dein "Proof of Work" ist: "Würfle eine 6". Es wird reihum gewürfelt und dann geschaut, ob eine Münze bezahlt wird. Im Schnitt wird also jeder deiner beiden Freunde 5 Münzen erhalten. Jetzt hören aber andere Leute auch von dem Spiel und wollen auch mitmachen. Plötzlich hast du 1000 Leute vor dir. Jeder will der erste sein, da die späteren Leute schon sehr schlechte Chancen haben, überhaupt noch um eine Münze (es gibt ja nur 10) würfeln zu können. In deiner unendlichen Weisheit machst du das Spiel aber einfach um einiges schwieriger: ab sofort muss man 4 6er hintereinander würfeln. Damit ist es unwahrscheinlich genug, dass die "Erstwürfler" einen Vorteil haben und alle sind zufrieden. Und wenn sie nicht gestorben sind, dann würfeln sie noch heute...

Die Idee von mining ist also nicht, dass es schwer oder kompliziert ist, einen Block zu erstellen (würfeln ist einfach). Es ist aber schwer, die Spielregel zu erfüllen (4x hintereinander eine 6) und so unvorhersehbar, dass man die Münzen dadurch fair unter allen Teilnehmern verteilen kann. Der Trick dabei ist, dass du die Teilnehmer nicht mal sehen/kennen musst! Es reicht, sich deren Würfelergebnisse anzuschauen (einfach und billig) um die schwierige Arbeit des Würfelns zu verifizieren. Das Würfeln an sich ist wiederum komplett sinnlose Arbeit und dient auch keinem höheren Zweck - aber es ermöglicht den Teilnehmern, ein verifizierbares Ergebnis zu erzielen.

Im Falle von Bitcoin hat eben jeder seinen eigenen Würfel (und manche würfeln sehr viel schneller als ihre Kollegen), die Grundidee ist aber immer noch die gleiche. Hier würfelt man eben um 50/25/12,5... Münzen aus einem 21 Millionen Stapel und macht sich das gemeinsam schwerer (z.B. "ab sofort muss man 5 6er hintereinander würfeln!") falls es zu schnell geht bzw. leichter falls es zu lange dauert. Die Anzahl an Nullen ist dann die Schwierigkeit der Aufgabe bei der Art von "Arbeit" die Bitcoin verwendet, so wie die Anzahl der 6er hintereinander bei Würfelcoin.

Hohe Hashrate im Netzwerk bedeutet nur, dass es schwierig ist, Bitcoins zu errechnen (du musst viel Glück haben), nicht dass irgendetwas schneller geht. Wachsende Hashrate bedeutet, es dauert im Schnitt leicht unter 10 Minuten pro Block, das bedeutet aber auch, dass in spätestens 2 Wochen, wenn sich jeder anschaut wie lange man gebraucht hat, die Aufgabe schwieriger gemacht wird, um wieder auf die gewohnte Rate abzubremsen. Im Vergleich zu vor 2 Jahren ist die Hashrate mittlerweile locker 10 Mal so hoch, allerdings siehst du ja selbst, dass deswegen nicht Blöcke im Minutentakt aufploppen.

Blöcke dürfen nach den aktuell gültigen Regeln max. 1000 kB groß sein, das Limit ist derzeit hart vorgegeben, es gibt aber Diskussionen wie man das ändern kann/sollte (und was ein sinnvolles Limit dann wäre). So viel zu deinen ~300 Transaktionen pro Block. Ich weiß nicht genau was du mit "Spam" meinst, in der Blockchain landen nur Daten, die zu einer Transaktion gehören. Dadurch, dass das Ganze nun eben schon seit einigen Jahren läuft und derzeit alle Transaktionen aufgehoben werden, ist es eben so, dass das eine gewisse Datenmenge ergibt.

https://www.coinlend.org <-- automated lending at various exchanges.
https://www.bitfinex.com <-- Trade BTC for other currencies and vice versa.
Itcher (OP)
Full Member
***
Offline Offline

Activity: 364
Merit: 100



View Profile
August 09, 2013, 09:55:58 PM
 #32

Hallo, vielen vielen Dank für die Antworten übrigens ... das musste ich erst einmal verarbeiten   Roll Eyes

Verstehe ich es richtig, dass die ganzen Operationen, die ein Miner macht, nur den Sinn haben, der erste zu sein, der einen Block errechnet? Um der erste zu sein, bauen gerade Leute Asics, speziell dafür gebaute Systeme, die mit Giga- und Petahasch minen. Kann man die Systeme noch für was anderes Benutzen? Es gibt doch den Hash-Wert, ist der zu etwas anderem zu gebrauchen, als um der erste zu sein, der einen Block macht? Kann man größere Blöcke verarbeiten? Kann man Informationen verschlüsseln?
candoo
Hero Member
*****
Offline Offline

Activity: 602
Merit: 500


Vertrau in Gott


View Profile
August 09, 2013, 10:38:47 PM
 #33

Hallo, vielen vielen Dank für die Antworten übrigens ... das musste ich erst einmal verarbeiten   Roll Eyes

Verstehe ich es richtig, dass die ganzen Operationen, die ein Miner macht, nur den Sinn haben, der erste zu sein, der einen Block errechnet? Um der erste zu sein, bauen gerade Leute Asics, speziell dafür gebaute Systeme, die mit Giga- und Petahasch minen. Kann man die Systeme noch für was anderes Benutzen? Es gibt doch den Hash-Wert, ist der zu etwas anderem zu gebrauchen, als um der erste zu sein, der einen Block macht? Kann man größere Blöcke verarbeiten? Kann man Informationen verschlüsseln?


Nein man kann mit den ASICs absolut nichts anderes anfangen.

Einer trage des andern Last, so werdet ihr das Gesetz Christi erfüllen.
Itcher (OP)
Full Member
***
Offline Offline

Activity: 364
Merit: 100



View Profile
August 10, 2013, 09:14:44 AM
 #34

Hmm ... schade, wäre schön gewesen. So ist diese ganze Asic-Aufrüstung etwas fragwürdig
Sukrim
Legendary
*
Offline Offline

Activity: 2618
Merit: 1006


View Profile
August 10, 2013, 12:26:27 PM
 #35

Wieso? Ich verlange von meinem Taschenrechner ja auch nicht, dass ich damit telefonieren kann... ein ASIC ist ein Werkzeug zu einem bestimmten Zweck/für einen bestimmten Algorithmus. Im vorliegenden Fall eben genau der um den Bitcoin Proof-of-Work Algorithmus möglichst schnell/gut/effizient zu lösen.

https://www.coinlend.org <-- automated lending at various exchanges.
https://www.bitfinex.com <-- Trade BTC for other currencies and vice versa.
klaus
Legendary
*
Offline Offline

Activity: 1932
Merit: 1004



View Profile
August 10, 2013, 07:23:40 PM
 #36


Ich finde besonders charmant das man, obwohl es 'bargeld im Internet' (!!) ist, niemandem vertrauen muss und auch nicht soll.

Keiner Zentralen Stelle/Firma wie z.b. PayPal Inc. und keinem anderen Node da sowieso 51% aller zusammen die Regeln machen. Irgendwie demokratisch. Versuch das mal theoretisch zu planen. Bei bitcoin wirds praktisch gelebt, und es geht auch noch um Geld ...

bitmessage:BM-2D9c1oAbkVo96zDhTZ2jV6RXzQ9VG3A6f1​
threema:HXUAMT96
Pages: « 1 [2]  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!