Zum Inhalt springen

Frage zum Umgang mit dem Eintritt neuer Nodes in der Blockchain


Empfohlene Beiträge

Du bist ja kein Miner und kannst dir nicht die Coins aus der Luft schaffen. Du brauchst eine in der Blockchain hinterlegte Absenderadresse mit ausreichend Guthaben, von der erstellst du die Überweisung und signierst diese mit dem private key der Absenderadresse.

Bearbeitet von verado
Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 25.5.2021 um 09:41 schrieb Belford:

Aber immer noch nicht dafür, dass der Einzelne Anreize hat sich mit seinen Ressourcen solidarisch zu geben. Schließlich hat er ja einen Nachteil dadurch

Wieso habe ich einen "Nachteil" dadurch, daß ich einen eh aus einem anderen Bastelprojekt übrigen Raspi und eine alte Notebook-Festplatte an meine Internet-Flatrate hänge? Ich lerne was dabei, trage zur Sicherheit meiner eigenen Bitcoin-Investitionen bei, und das bei ca. 9W Stromverbrauch, also etwa 20 Euro Stromkosten im Jahr. Wenn das ein "Nachteil" ist, dann ist es einer den ich locker verschmerzen kann und den mir die Sache wert ist.

Möchte nicht wissen wie viele non-mining Nodes einfach so nebenbei auf für andere Hauptanwendungen gemieteten Cloudservern laufen...

Wenn für dich der "Nachteil" allerdings darin besteht, daß andere auch was davon haben könnten, dann ist das zwar eine sehr deutsche, aber dennoch traurige Sichtweise 😉

  • Love it 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Stunden schrieb Belford:

Offensichtlich weiß ich nicht was in einer Transaktion alles beinhaltet ist! Können wir dem mal auf den Kern gehen bitte? :) Ich hab das schon recherchiert, aber ich finde einfach keine befriedigende oder verständliche Antwort auf diese Frage. Was sind denn du die Inputs von denen du sprichst @skunk ?

Dann solltest du nochmal an deiner Recherchetechnik feilen, dazu gibts nun wirklich genug ausführliche Doku im Netz, u.a. "Mastering Bitcoin". Inputs sind die Adressen, von denen die Coins kommen, Outputs sind die Adressen, an die die Coins gehen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 11 Stunden schrieb wwurst:

Dann solltest du nochmal an deiner Recherchetechnik feilen, dazu gibts nun wirklich genug ausführliche Doku im Netz, u.a. "Mastering Bitcoin". Inputs sind die Adressen, von denen die Coins kommen, Outputs sind die Adressen, an die die Coins gehen.

Ja das ist mir auch ein bisschen peinlich, ich mein das kann ja nicht sein, dass ich sowas einfaches nicht finde :D Aber jetzt sieh mal... Mastering Bitcoin ist auch die erste Quelle, die mir in den Sinn kommt für sowas. Habs grad nochmal überflogen und die Stelle die den Inhalten einer Transaktion am nächsten kommt, ist wahrscheinlich die Abbildung 2.4

https://github.com/bitcoinbook/bitcoinbook/raw/develop/images/mbc2_0204.png

Die Abbildung wirft bei mir einige Fragen auf, zumindest beantwortet sie meine Eingangsfrage nicht in der Tiefe.

Alles was ich will ist eine, gerne Bit für Bit, Darstellung darüber was in einer Transaktion enthalten ist. Mein logischer nächster Step war Wikipedia. Wie könnte ich dort NICHT fündig werden? Das Bitcoin Wiki hat eine Seite zum Thema "Transaktionen": https://en.bitcoin.it/wiki/Transaction How could I possibly not my answer here?

Und siehe da, es gibt eine Auflistung der Inhalte, sogar auf Bit-Ebene. Allerdings handelt es sich um das Format einer Bitcoin Transaktion innerhalb eines Blocks. Das wird sich von dem Format einer Transaktion, so wie ich sie ins Netzwerk abschicke, unterscheiden. 

Zum Fluchen ist das. Es war zwar keine extrem ausgiebige, aber doch eine frustrierende Suche nach einer so fundamentalen Information. Wahrscheinlich bin ich trotz allem nur einfach zu blind dazu. Allerdings frage ich nicht aus so großer Faulheit hier im Forum, wie es aussieht. Das will ich nur nochmal zu meiner Verteidigung gesagt haben 😂

 

vor 11 Stunden schrieb wwurst:

Wieso habe ich einen "Nachteil" dadurch, daß ich einen eh aus einem anderen Bastelprojekt übrigen Raspi und eine alte Notebook-Festplatte an meine Internet-Flatrate hänge? Ich lerne was dabei, trage zur Sicherheit meiner eigenen Bitcoin-Investitionen bei, und das bei ca. 9W Stromverbrauch, also etwa 20 Euro Stromkosten im Jahr. Wenn das ein "Nachteil" ist, dann ist es einer den ich locker verschmerzen kann und den mir die Sache wert ist.

Möchte nicht wissen wie viele non-mining Nodes einfach so nebenbei auf für andere Hauptanwendungen gemieteten Cloudservern laufen...

Wenn für dich der "Nachteil" allerdings darin besteht, daß andere auch was davon haben könnten, dann ist das zwar eine sehr deutsche, aber dennoch traurige Sichtweise 😉

Das ist ja kein Bastelprojekt bei dem Nerds aus Spaß an der Technik partizipieren mit Enthusiasmus darüber wie schön alles funktioniert. Wir betrachten eine Technologie, die im World Scale funktionieren können soll... MUSS! 

Zitat

In a perfect world, community members would cooperate to rate each other’s contribution and derive a fair compensation. In the real world, algorithms must be designed to be resistant to intentional manipulation for profit.

(...aus dem Steem White Paper, ich find das aber sehr passend. Das ist für mich DER Leitsatz wenn es um P2P-Anwendungen aller Art geht.)

Die Frage ist doch, hab ich einen Profit davon, mich nicht an die Regeln zu halten, welche dazu gedacht sind das Netzwerk zu stärken?

Unabhängig davon wie signifikant der Profit ist, lautet die Antwort: Ja, solange ich dadurch keinen Nachteil/Schaden nehme, also auf eine Art dafür bestraft werde, so dass unter'm Strich mein Benehmen nicht mehr profitabel für mich ist.

Und wie man's auch dreht und wendet... Bandbreite ist eine Ressource und sie ist wertvoll. Sie ist schon allein deshalb wertvoll, weil sie begrenzt/knapp ist. In manchen Verträgen zahlst du sogar für dein verbrauchtes Datenvolumen. Der Vorteil kann aber auch nur so aussehen, dass du einen besseren Ping bei LoL haben möchtest.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor einer Stunde schrieb Belford:

Habs grad nochmal überflogen und die Stelle die den Inhalten einer Transaktion am nächsten kommt, ist wahrscheinlich die Abbildung 2.4

https://github.com/bitcoinbook/bitcoinbook/raw/develop/images/mbc2_0204.png

Die Abbildung wirft bei mir einige Fragen auf, zumindest beantwortet sie meine Eingangsfrage nicht in der Tiefe.

Alles was ich will ist eine, gerne Bit für Bit, Darstellung darüber was in einer Transaktion enthalten ist. Mein logischer nächster Step war Wikipedia. Wie könnte ich dort NICHT fündig werden? Das Bitcoin Wiki hat eine Seite zum Thema "Transaktionen": https://en.bitcoin.it/wiki/Transaction How could I possibly not my answer here?

Und siehe da, es gibt eine Auflistung der Inhalte, sogar auf Bit-Ebene. Allerdings handelt es sich um das Format einer Bitcoin Transaktion innerhalb eines Blocks. Das wird sich von dem Format einer Transaktion, so wie ich sie ins Netzwerk abschicke, unterscheiden. 

Sieht mir beides korrekt aus. Wenn du mir Bitcoin senden möchtest musst du genau auflisten welche Inputs du für diese Transaktion verwenden möchtest. Mit anderen Worten woher stammen die BTC, die du an mich senden möchtest. Willkommen in der Welt von UTXO. 

Edit: Schau dir mal diese Transaktion hier an: https://www.blockchain.com/btc/tx/6a8ce602a5e7bf76b43ed0247a5bd3599949a91bb020ea7ea62b6e8cc746e157

Der erste Teil ist der für Menschen verständliche Teil. Von welcher Adresse werden BTC zu welcher Adresse versendet. Die eigentliche Transaktion siehst du wenn du weiter nach unten scrollst. Da steht dann was von Inputs und Outputs. Das ist das Format einer Transaktion. Es gibt auch kein Feld für die Transaktionsgebühr obwohl sie dir oben angezeigt wird. Es gibt nur Inputs und Outputs. Der Fehlende Betrag zwischen der Summe aller Inputs und der Summe aller Outputs ist automatisch die Transaktionsgebühr.

Bearbeitet von skunk
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Stunde schrieb Belford:

Und siehe da, es gibt eine Auflistung der Inhalte, sogar auf Bit-Ebene. Allerdings handelt es sich um das Format einer Bitcoin Transaktion innerhalb eines Blocks. Das wird sich von dem Format einer Transaktion, so wie ich sie ins Netzwerk abschicke, unterscheiden. 

Für solche Fragen muss man oft einfach in die offiziele Dev-Doku schauen Link.

Bitcoin transactions are broadcast between peers in a serialized byte format, called raw format. [...]

A raw transaction has the following top-level format:

Bytes

Name

Data Type

Description

4

version

int32_t

Transaction version number (note, this is signed); currently version 1 or 2. Programs creating transactions using newer consensus rules may use higher version numbers. Version 2 means that BIP 68 applies.

Varies

tx_in count

compactSize uint

Number of inputs in this transaction.

Varies

tx_in

txIn

Transaction inputs. See description of txIn below.

Varies

tx_out count

compactSize uint

Number of outputs in this transaction.

Varies

tx_out

txOut

Transaction outputs. See description of txOut below.

4

lock_time

uint32_t

A time (Unix epoch time) or block number. See the locktime parsing rules.

A transaction may have multiple inputs and outputs, so the txIn and txOut structures may recur within a transaction. CompactSize unsigned integers are a form of variable-length integers; they are described in the CompactSize section.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Stunden schrieb Belford:

Das ist ja kein Bastelprojekt bei dem Nerds aus Spaß an der Technik partizipieren mit Enthusiasmus darüber wie schön alles funktioniert. Wir betrachten eine Technologie, die im World Scale funktionieren können soll... MUSS! 

Wer in größerem Maßstab daran partizipieren will, der wird nicht Nerd, sondern der wird Miner, und dann für seine Mühen auch bezahlt. Dir ist schon klar, daß vor jeder Mining-Farm ein ganz normaler Full-Node läuft? Ohne den käme der Miner ja nicht an den Mempool mit offenen Tx und könnte auch seine gefundenen Blöcke nicht verbreiten...

Und das wiederum steht schon im Whitepaper.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Stunden schrieb Belford:

Die Frage ist doch, hab ich einen Profit davon, mich nicht an die Regeln zu halten, welche dazu gedacht sind das Netzwerk zu stärken?

Ja, guter Punkt, es gibt keinen großen Anreiz, einen Full Node zu betreiben. Aber es ist billig genug, dass hinreichend viele Akteure lieber einen betreiben und damit auch selber ihr Investment schützen. Aber wenn man die Difficulty oder Blockgröße anpassen würde, so dass die Blockchain schneller anwächst, dann würde das dazu führen, dass mehr und mehr keinen mehr betreiben.

vor 1 Minute schrieb wwurst:

Dir ist schon klar, daß vor jeder Mining-Farm ein ganz normaler Full-Node läuft? Ohne den käme der Miner ja nicht an den Mempool mit offenen Tx und könnte auch seine gefundenen Blöcke nicht verbreiten...

Das ist sicherlich der Punkt, den Belford gesucht hat: Wenn du als Miner keinen FullNode betreibst, dann weißt du ja gar nicht, welche Transaktionen überhaupt valide sind.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Minute schrieb wwurst:

Wer in größerem Maßstab daran partizipieren will, der wird nicht Nerd, sondern der wird Miner, und dann für seine Mühen auch bezahlt. Dir ist schon klar, daß vor jeder Mining-Farm ein ganz normaler Full-Node läuft? Ohne den käme der Miner ja nicht an den Mempool mit offenen Tx und könnte auch seine gefundenen Blöcke nicht verbreiten...

Und das wiederum steht schon im Whitepaper.

Meine Rede. Und der Miner wird ja nicht altruistisch handeln, sondern nach Profitmaximierung.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Aber ich glaube ursprünglich gings uns nicht um das Betreiben einer Full Node, mein Diskussionseinstieg war ja, was hindert Nodes daran ihre Bandbreite nicht dafür freizugeben, damit neue Teilnehmer sie runterladen können.

Bearbeitet von Belford
  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 4 Stunden schrieb Belford:

Alles was ich will ist eine, gerne Bit für Bit, Darstellung darüber was in einer Transaktion enthalten ist.

Die musst du dir selbst schreiben. Im Ernst, gibt keine gute :D

Oder du kommst mit so was hier klar: https://en.bitcoin.it/wiki/Transaction

 

Die öffentlich zugänglichen sind eine Katastrophe und zum Teil fehlerhaft.

Ich kann dir meine (privat) schicken, wenn du möchtest?

 

Bearbeitet von MixMax
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 4 Stunden schrieb Belford:

Aber ich glaube ursprünglich gings uns nicht um das Betreiben einer Full Node, mein Diskussionseinstieg war ja, was hindert Nodes daran ihre Bandbreite nicht dafür freizugeben, damit neue Teilnehmer sie runterladen können.

Dann habe ich deine Frage nicht verstanden. Verstehst du womöglich unter "Nodes" etwas anderes als unter "Full Nodes"? Ich nicht - auch wenn für bestimmte Dogmatiker (u.a. Chris Wright) nur Miner überhaupt als Nodes zählen...

  • Full Node ohne Mining = Bastelprojekt, Liebhaberei, Altruismus (aber billig...) und "Warnglocke" falls irgendwo was im Netz verdächtig laufen sollte.
  • Full Node mit Mining = Voraussetzung, um überhaupt mit Mining Geld verdienen zu können. Und damit die selbst gefundenen Blöcke auch verbreitet und akzeptiert werden, muß der Miner-Node natürlich auch Bandbreite für Upload stellen. Cost of doing business..

und was anderes gibt es (bei mir) nicht...

Bearbeitet von wwurst
typo
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 7 Stunden schrieb Belford:

Mastering Bitcoin ist auch die erste Quelle, die mir in den Sinn kommt für sowas. Habs grad nochmal überflogen und die Stelle die den Inhalten einer Transaktion am nächsten kommt, ist wahrscheinlich die Abbildung 2.4

https://github.com/bitcoinbook/bitcoinbook/raw/develop/images/mbc2_0204.png

Die Abbildung wirft bei mir einige Fragen auf, zumindest beantwortet sie meine Eingangsfrage nicht in der Tiefe.

Alles was ich will ist eine, gerne Bit für Bit, Darstellung darüber was in einer Transaktion enthalten ist.

Gibt es religiöse Vorbehalte, dort das Kapitel 6 "Transactions" zu konsultieren? 😉 😉

Von den Erklärungen der Datenstruktur bis zur fertigen Tx, vollständig in Hex, findest du da alles. Hex in Bit-Darstellung gewandelt kriegst du auch im Netz oder in Excel, falls das auch noch unbedingt sein muß.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Stunde schrieb wwurst:

Dann habe ich deine Frage nicht verstanden. Verstehst du womöglich unter "Nodes" etwas anderes als unter "Full Nodes"? Ich nicht - auch wenn für bestimmte Dogmatiker (u.a. Chris Wright) nur Miner überhaupt als Nodes zählen...

  • Full Node ohne Mining = Bastelprojekt, Liebhaberei, Altruismus (aber billig...) und "Warnglocke" falls irgendwo was im Netz verdächtig laufen sollte.
  • Full Node mit Mining = Voraussetzung, um überhaupt mit Mining Geld verdienen zu können. Und damit die selbst gefundenen Blöcke auch verbreitet und akzeptiert werden, muß der Miner-Node natürlich auch Bandbreite für Upload stellen. Cost of doing business..

und was anderes gibt es (bei mir) nicht...

Die Miner sind meines Wissens keine Full Nodes. Das wäre für die Miner unwirtschaftlich jeweils eine Full Node laufen zu lassen. Stattdessen schließen sie sich zu einem Pool zusammen und der Pool stellt eine bzw mehrere Full Nodes bereit. Der Miner verbindet sich mit der Full Node und greift den Mempool ab ohne ihn selbst zu validieren. Dazu noch den Hash des letzten Blocks und schon kann der Spaß losgehen. Die Full Node muss natürlich vertrauenswürdig sein sonst könnte sie dem Miner invalide Transaktionen unterjubeln, die den kompletten Block Reward zunichte machen würden. Dem Miner fehlt die Möglichkeit valide von invaliden Transaktionen unterscheiden zu können.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 13 Minuten schrieb skunk:

Die Miner sind meines Wissens keine Full Nodes

Naja, ist jetzt eher Begriffsklärung. Wie du sagst, es braucht einen Full Node. Ob der Miner dahinter jetzt ein Individuum mit eigener Farm ist, oder die Steuersoftware eines Mining-Pools ist da erstmal wurscht.

Man könnte sich auch fragen, ob man sich als Pool-Teilnehmer überhaupt "Miner" nennen darf, oder, analog zu alten Anteilsbauern, nur "Zwölftelbergmann" 😉

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 19 Stunden schrieb MixMax:

Die musst du dir selbst schreiben. Im Ernst, gibt keine gute :D

Oder du kommst mit so was hier klar: https://en.bitcoin.it/wiki/Transaction

 

Die öffentlich zugänglichen sind eine Katastrophe und zum Teil fehlerhaft.

Ich kann dir meine (privat) schicken, wenn du möchtest?

 

Bitte!

Kann zu dem Rest gerade nicht reagieren, habe leider zu viel um die Ohren aktuell. Aber danke an alle, hab vieles gelernt ❤️ 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Stunden schrieb Belford:

Bitte!

Kann zu dem Rest gerade nicht reagieren, habe leider zu viel um die Ohren aktuell. Aber danke an alle, hab vieles gelernt ❤️ 

Schicke ich dir. Hoffe ich schaff es bis heute Abend.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...

Wichtige Information

Wir haben Cookies auf Deinem Gerät platziert. Das hilft uns diese Webseite zu verbessern. Du kannst die Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Du damit einverstanden bist, weiterzumachen.