Bitcoin Forum
May 11, 2024, 02:01:46 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2]  All
  Print  
Author Topic: Allgemeine Fragen zur Währung Bitcoin zwecks wissenschaftlicher Arbeit  (Read 3144 times)
Sukrim
Legendary
*
Offline Offline

Activity: 2618
Merit: 1006


View Profile
May 19, 2015, 10:28:55 AM
 #21

Übrigens: Diese Berechnungen sind Teil der Referenzimplementation, aber NICHT des Protokolls!

Das heißt Transaktionen in Blöcken müssen NICHT diesen Anforderungen genügen um von Bitcoin-core als gültig akzeptiert zu werden, allerdings wird Bitcoin-core selbst nur Blöcke erzeugen, die nach diesem Algorithmus zusammengestellt wurden. Durch die wahnsinnig hohe Verbreitung von Bitcoin-core im P2P Netzwerk das Transaktionen weiterleitet ist es aber in der Realität sehr schwer, stark von diesen Regeln abweichende Transaktionen auch nur zu verbreiten.

https://www.coinlend.org <-- automated lending at various exchanges.
https://www.bitfinex.com <-- Trade BTC for other currencies and vice versa.
"I'm sure that in 20 years there will either be very large transaction volume or no volume." -- Satoshi
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
Bewater11 (OP)
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
May 19, 2015, 11:52:37 AM
 #22

In der Formel stecken Zeit (input_age ist die Anzahl an Confirmations, wobei eine Confirmation im Durchschnitt grob 10 min benötigt), Betrag (Bitcoin rechnet intern in Satoshi, also input_value_in_base_units) und die Grösse (size_in_bytes).

Als Referenzwert für das Limit einer kostenlosen Transaktion wird nun ungefähr 1 BTC, 1 Tag und 1 Input genommen. Damit bekommt man 100.000.000 Satoshi * 144 Confirmations / 250 Byte = Priorität 57.600.000. Diese Basiswerte sind willkürlich (aber recht wirkungsvoll) gewählt. Das Alter 1 Tag ist damit nur ein Teil des Referenzwertes. Mit 2 BTC und einem halben Tag oder 0,5 BTC  und zwei Tagen kommt man auf den gleichen Wert. Wobei die Tage auch wieder nur eine Näherung über die Confirmations sind. Uhrzeit spielt im System sowieso nur eine untergeordnete Rolle.


1 Tag sind also nicht 24 Std, sondern soll nur die "Bestätigung" im System ausdrücken? Und ich benötige mehr Bestätigungen, lediglich um eine höhere Sicherheit bei meiner Transaktion zu haben oder?

Ich dachte der Input wäre der Betrag (in BTC) den man in den Client eingibt um ihn zu versenden, der Output wäre dann der Betrag der beim Empfänger auch ankommt. Die Differenz somit die Transaktionsgebühr, die automatisch an den Miner geht.

1 Input hat immer eine Größe von 250 Byte? Also ist die Größe einer Transaktion, lediglich von der Anzahl der Inputs abhängig? Da vom Standard-Client als Bedingung für gebührenfreie Transaktionen, die Größe <1000 Bytes gegeben ist, darf man lediglich 3 oder 4 Inputs wählen? Dass die Beträge der Ausgänge >= 0,01 BTC betragen habe ich natürlich schon berücksichtigt.

Diese Regeln gelten NUR für den Standard-Client, es gibt aber noch etliche andere Clients jeweils anderen "Regeln". Ist dies korrekt?

LG
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1520


No I dont escrow anymore.


View Profile WWW
May 20, 2015, 06:18:52 AM
 #23

In der Formel stecken Zeit (input_age ist die Anzahl an Confirmations, wobei eine Confirmation im Durchschnitt grob 10 min benötigt), Betrag (Bitcoin rechnet intern in Satoshi, also input_value_in_base_units) und die Grösse (size_in_bytes).

Als Referenzwert für das Limit einer kostenlosen Transaktion wird nun ungefähr 1 BTC, 1 Tag und 1 Input genommen. Damit bekommt man 100.000.000 Satoshi * 144 Confirmations / 250 Byte = Priorität 57.600.000. Diese Basiswerte sind willkürlich (aber recht wirkungsvoll) gewählt. Das Alter 1 Tag ist damit nur ein Teil des Referenzwertes. Mit 2 BTC und einem halben Tag oder 0,5 BTC  und zwei Tagen kommt man auf den gleichen Wert. Wobei die Tage auch wieder nur eine Näherung über die Confirmations sind. Uhrzeit spielt im System sowieso nur eine untergeordnete Rolle.


1 Tag sind also nicht 24 Std, sondern soll nur die "Bestätigung" im System ausdrücken? Und ich benötige mehr Bestätigungen, lediglich um eine höhere Sicherheit bei meiner Transaktion zu haben oder?

1 Tag sind 144 Bestätigungen, bei 10 Minuten im Schnitt entspricht das 24 Stunden (im Schnitt). Die Bestätigungen geben Dir Sicherheit das die Transaktion nicht rückgängig gemacht werden kann, aber das spielt hier keine Rolle. Es geht um die Idee das "alte Coins" eine höhere Priorität bekommen. Das heißt wenn Du vor 2 Jahren Bitcoin überwiesen bekommen hast und vor 2 Tagen. Jetzt daraus Transaktionen erzeugst, dann hat die Transaktion die den 2 Jahre alten Eingang benutzt eine höhere Wahrscheinlichkeit ohne Gebühr bestätigt zu werden.

Wenn Du die üblichen Gebühren zahlst kann Dir das ziemlich egal sein.

Ich dachte der Input wäre der Betrag (in BTC) den man in den Client eingibt um ihn zu versenden, der Output wäre dann der Betrag der beim Empfänger auch ankommt. Die Differenz somit die Transaktionsgebühr, die automatisch an den Miner geht.

Input [dt. Eingang] und Output [dt. Ausgang] sind technische Begriffe. Ein Input verweist immer auf eine alte Transaktion; ein Output erzeugt einen zukünftigen möglichen Input für jemand anderen. In einer Transaktion kannst Du viele Inputs nutzen und viele Outputs erzeugen. Z.B.: hat diese TX[1] 6 Inputs und 46 Outputs.

1 Input hat immer eine Größe von 250 Byte?

Nein, ein input hat typischer Weise 180 byte, ein Output 34 byte und dazu kommen dann noch ca. 10 byte für die TX insgesamt, je nach dem wie man rundet ist man dann bei den typischen 250 (220, 230, etc.) byte. Das gilt aber auch wieder nur für typische Transaktionen, Script Inputs (z.B. multisig) sind üblicherweise deutlich größer.

Also ist die Größe einer Transaktion, lediglich von der Anzahl der Inputs abhängig? Da vom Standard-Client als Bedingung für gebührenfreie Transaktionen, die Größe <1000 Bytes gegeben ist, darf man lediglich 3 oder 4 Inputs wählen? Dass die Beträge der Ausgänge >= 0,01 BTC betragen habe ich natürlich schon berücksichtigt.

Solange Deine TX in einen Block passt ist die Größe egal soweit ich weiß. Es sind pro Block (lt. bitcoin core default Einstellungen) 50 KByte für TX ohne Gebühren reserviert. Die mit der höchsten Priorität werden zuerst gewählt. Die ~57 Millionen bzw. der "Bitcointag" (1 BTC, 1 Input, 1 Tag) sind eine Faustregel und keine feste Implementierung.

Diese Regeln gelten NUR für den Standard-Client, es gibt aber noch etliche andere Clients jeweils anderen "Regeln". Ist dies korrekt?

LG

Generell können Miner so ziemlich machen was sie wollen. Sie können Transaktionen alphabetisch sortieren oder nach Quersumme der TX ID als base 7 interpretiert. Es gibt ein paar Regeln an die man sich halten muss, aber welche gültigen(!) TX bestätigt werden und welche nicht liegt beim Miner. Alle "Regeln" hier beziehen sich entsprechend auf die üblichen Regeln. Elegius[2] z.B. erlaubt es einigen Menschen bestimmte TX direkt an sie zu schicken. Diese sind dann automatisch im nächsten Block, haben also immer Vorrang vor allen anderen.

[1] https://www.blocktrail.com/BTC/tx/8eb49b01a6bd58b591b15423460044758bd563af0da192d5ed235a087757a7f4
[2] http://eligius.st/~wizkid057/newstats/pushtxn.php

Im not really here, its just your imagination.
mezzomix
Legendary
*
Offline Offline

Activity: 2618
Merit: 1253


View Profile
May 20, 2015, 06:32:22 AM
 #24

Also ist die Größe einer Transaktion, lediglich von der Anzahl der Inputs abhängig? Da vom Standard-Client als Bedingung für gebührenfreie Transaktionen, die Größe <1000 Bytes gegeben ist, darf man lediglich 3 oder 4 Inputs wählen? Dass die Beträge der Ausgänge >= 0,01 BTC betragen habe ich natürlich schon berücksichtigt.
Solange Deine TX in einen Block passt ist die Größe egal soweit ich weiß. Es sind pro Block (lt. bitcoin core default Einstellungen) 50 KByte für TX ohne Gebühren reserviert. Die mit der höchsten Priorität werden zuerst gewählt. Die ~57 Millionen bzw. der "Bitcointag" (1 BTC, 1 Input, 1 Tag) sind eine Faustregel und keine feste Implementierung.

Wenn ich das richtig im Kopf habe, ist die 1000 Byte Grenze eine zusätzliches Kriterium im Standard Client. Ich habe daher vor einiger Zeit meine Dust Transactions in mehreren Schritten (genau mit diesen 3-4 Inputs und einem Output) konsolidiert (ohne Fee). Das hat allen im System geholfen, da die UTXO (Unspent Transaction Outputs) DB dadurch weniger Einträge hat.

Ob es eine 0,01 BTC Grenze im Core Client gibt, weiss ich nicht. Es gibt auf jeden Fall Miner die eine 0,001 BTC TX ohne Fee aktzeptieren.
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1520


No I dont escrow anymore.


View Profile WWW
May 20, 2015, 10:21:23 AM
 #25

Also ist die Größe einer Transaktion, lediglich von der Anzahl der Inputs abhängig? Da vom Standard-Client als Bedingung für gebührenfreie Transaktionen, die Größe <1000 Bytes gegeben ist, darf man lediglich 3 oder 4 Inputs wählen? Dass die Beträge der Ausgänge >= 0,01 BTC betragen habe ich natürlich schon berücksichtigt.
Solange Deine TX in einen Block passt ist die Größe egal soweit ich weiß. Es sind pro Block (lt. bitcoin core default Einstellungen) 50 KByte für TX ohne Gebühren reserviert. Die mit der höchsten Priorität werden zuerst gewählt. Die ~57 Millionen bzw. der "Bitcointag" (1 BTC, 1 Input, 1 Tag) sind eine Faustregel und keine feste Implementierung.

Wenn ich das richtig im Kopf habe, ist die 1000 Byte Grenze eine zusätzliches Kriterium im Standard Client. Ich habe daher vor einiger Zeit meine Dust Transactions in mehreren Schritten (genau mit diesen 3-4 Inputs und einem Output) konsolidiert (ohne Fee). Das hat allen im System geholfen, da die UTXO (Unspent Transaction Outputs) DB dadurch weniger Einträge hat.

Ob es eine 0,01 BTC Grenze im Core Client gibt, weiss ich nicht. Es gibt auf jeden Fall Miner die eine 0,001 BTC TX ohne Fee aktzeptieren.

Ich hab auch irgendwo im Hinterkopf das es da eine Grenze gibt, aber ich glaube nicht bei 1000 Byte. Die größte TX die ich erstellt habe hatte 64Kbyte[1], ging ohne Probleme raus (von bitcoin core) und war schnell verbreitet. Das spricht für mich gegen ein 1000 byte relay limit. Ggf. 100Kbyte, was Sinn machen würde bei 1MB Blockgröße.

[1] https://blockchain.info/tx/6fef43800fae817160e50720a2e34c51c6d246664d6c98ead5595872177d1a75

Im not really here, its just your imagination.
mezzomix
Legendary
*
Offline Offline

Activity: 2618
Merit: 1253


View Profile
May 20, 2015, 10:39:31 AM
 #26

Die 1000 Byte sind das Limit für TX ohne Fee. Mit dem aktuelle Core Client und Coin Control kann man das überprüfen, wenn man darüber mehr als 4 UTXO kontrolliert.
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1520


No I dont escrow anymore.


View Profile WWW
May 20, 2015, 10:52:21 AM
 #27

Die 1000 Byte sind das Limit für TX ohne Fee. Mit dem aktuelle Core Client und Coin Control kann man das überprüfen, wenn man darüber mehr als 4 UTXO kontrolliert.


Hmm ist das nicht nur für die Faustregel relevant? Also der "Bitcointag" basiert auf der Annahme das die TX kleiner als 1000Byte ist. Bei einer größeren TX müsste entsprechend nur das alter der Eingänge und/oder die größe (in BTC) der Eingänge höher sein.

Im not really here, its just your imagination.
Bewater11 (OP)
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
June 19, 2015, 10:58:07 AM
 #28

Hi Leute!
Ich hätte noch ein paar abschließende Fragen und hoffe ihr könnt mir hierbei helfen:

1) Da die Bitcoin-Anzahl bis zum Jahr 2040 nahezu ihre Maximalanzahl mit 21 Mio. erreicht hat, wird ja auch die Gegenleistung des Systems für das Minen wegfallen bzw. sehr gering sein und man lediglich die Transaktionsgebühren erhalten. Man kann ja somit davon ausgehen, dass die Transaktionsgebühren relativ stark steigen werden oder nicht? In meiner Arbeit gehe ich besonders auf den Vorteil der niedrigen Transaktionskosten im Vergleich zu traditionellem Zentralbankengeld bzw. den Onlinezahlungsmethoden wie Kreditkarte, Paypal etc. ein. Wie werden sich denn die Transaktionsgebühren bzw. Kosten in den nächsten Jahren entwickeln und auch über 2040 hinweg. Wird man überhaupt noch Miner finden, die die Transaktion bestätigen wollen bzw. sind dazu einfach die Transaktionsgebühren zu hoch?

2) In Deutschland gilt zwar das Zentralbankgeld bzw. die Euronoten als einzig unbeschränktes Zahlungsmittel, aufgrund des Prinzips der Vertragsfreiheit können aber Vertragspartner in Deutschland ihre Verträge so schließen wie sie möchten. Wie ist das international? Kann ich theoretisch in Ländern in denen die Nutzung des Bitcoins erlaubt ist, größere Geschäfte (Kauf von einer Immobilie, eines Autos etc.) mit Bitcoins abwickeln? Wie sieht dies steuerlich aus?

3) Mithilfe einer Confirmation bzw. mehrere steigt die Sicherheit einer Transaktion bzw. sinkt das Risiko einer "Umkehrung" und somit eines Betrugs. Was ist denn genau solch eine Umkehrung? Muss ich bei größeren Transaktionen bzw. Beträgen die ich erhalte immer auf 6 Confirmations warten bis ich sicher bin, dass diese Transaktion vollständig abgeschlossen ist?

Liebe Grüße
Bewater11
herzmeister
Legendary
*
Offline Offline

Activity: 1764
Merit: 1007



View Profile WWW
June 19, 2015, 11:29:25 AM
 #29

zu 1) Dazu bin ich upthread bereits eingegangen. Kurz gesagt, wenn Bitcoin sich weiter verbreitet hat, dann gibt's auch mehr Transaktionen, ergo muss nicht unbedingt die Gebühr pro einzelner Transaktion recht viel steigen, auch wenn die Belohnung für die Miner in der heutigen Größenordnung erhalten bleiben soll.

zu 3) "Umkehrung" meint wohl einfach, dass die Transaktion letztendlich nicht ausgeführt wird, somit nicht in der Blockchain landet. Grundsätzlich gilt, je mehr Confirmations, desto sicherer. Einen absoluten Punkt der Sicherheit gibt es nicht, alles ist relativ im Universum.  Wink Die Zahl 6 hat in diesem Zusammenhang keine besondere Bedeutung, sondern wurde irgendwann mal als Richtwert vorgeschlagen, um auch in Extremszenarien, in denen ein Angreifer annähernd 51% des Minings im gesamten Bitcoin-Netzwerk kontrolliert, statistisch gesehen relativ sicher sein zu können. Im Alltag hingegen reichen für kleinere Summen sogar 0 Bestätigungen. Mit einigen heuristischen Tools zur Netzwerkanalyse kann man bereits quasi in Echtzeit die Wahrscheinlichkeit erfragen, mit der eine Transaktion in den nächsten Block mit aufgenommen wird. Anbieter wie Bitpay machen das so. Für größere Summen (etwa ein paar hundert oder tausend Euro) sollte man 1-2 Bestätigungen abwarten. Hier müsste der Angreifer schon Kontrolle über den verarbeitenden Miner haben, um die Transaktion rückgängig machen zu können. Auch bei einem Autokauf oder was würden mir persönlich dann 3 Bestätigungen reichen.

https://localbitcoins.com/?ch=80k | BTC: 1LJvmd1iLi199eY7EVKtNQRW3LqZi8ZmmB
qwk
Donator
Legendary
*
Offline Offline

Activity: 3542
Merit: 3411


Shitcoin Minimalist


View Profile
June 19, 2015, 11:35:33 AM
 #30

1) Da die Bitcoin-Anzahl bis zum Jahr 2040 nahezu ihre Maximalanzahl mit 21 Mio. erreicht hat, wird ja auch die Gegenleistung des Systems für das Minen wegfallen bzw. sehr gering sein und man lediglich die Transaktionsgebühren erhalten. Man kann ja somit davon ausgehen, dass die Transaktionsgebühren relativ stark steigen werden oder nicht? In meiner Arbeit gehe ich besonders auf den Vorteil der niedrigen Transaktionskosten im Vergleich zu traditionellem Zentralbankengeld bzw. den Onlinezahlungsmethoden wie Kreditkarte, Paypal etc. ein. Wie werden sich denn die Transaktionsgebühren bzw. Kosten in den nächsten Jahren entwickeln und auch über 2040 hinweg. Wird man überhaupt noch Miner finden, die die Transaktion bestätigen wollen bzw. sind dazu einfach die Transaktionsgebühren zu hoch?
Schwierig zu sagen. Es gibt da zwei/drei gegensätzliche Effekte.
Einerseits die höheren TX-Gebühren, damit die Miner den Wegfall der  Belohnung kompensieren.
Andererseits steigt möglicherweise die Anzahl der Transaktionen in Zukunft stark an, so dass pro Transaktion geringere Gebühren nötig sind, um für die Miner rentabel zu bleiben.
Letztlich wird sich ein Gleichgewicht einstellen, aber es ist schwierig einzuschätzen, wo das liegen wird.
Gehen wir mal in einer Beispielsrechnung davon aus, dass Bitcoin von den heute theoretisch möglichen 7 Transaktionen pro Sekunde erweitert wird auf das 20-fache (das ist mit der Diskussion um größere Blocks derzeit ja wahrscheinlich), und nehmen wir an, dass diese Kapazität auch zur Hälfte genutzt wird, dann sind das so Pi mal Daumen 70 Transaktionen pro Sekunde, oder 42.000 pro Block, den ein Miner löst.
Momentan arbeiten Miner offensichtlich profitabel, wenn sie pro Block ungefähr 25 BTC, also ungefähr 6.000$ verdienen.
Hätten sie die Belohnung nicht und müssten das aus den Transaktionen erwirtschaften, käme man also so auf ca. 0.14$ pro Transaktion.
Der genaue Wert dürfte sich natürlich im Laufe der Zeit ändern, aber als grobe Schätzung ist so ein Wert in der Größenordnung wahrscheinlich realistisch. Dieser Wert ist wiederum der durchschnittliche Preis einer Transaktion, nicht das Minimum.
Es dürfte sich im Laufe der Zeit eine Tendenz entwickeln, dass jemand, der seine Transaktion schnell bestätigt haben will, bspw. 1$ zahlt, während ein anderer, dem Geschwindigkeit unwichtig ist, eher nur 0.01$ zahlt.
Naja, wahrscheinlich habe ich mich da jetzt ein paarmal verrechnet und so, das solltest du also selbst nochmal alles durchchecken, aber von den Größenordnungen dürfte es hinkommen, wenn man davon ausgeht, dass Transaktionskosten in Zukunft wohl irgendwo zwischen 0.01$ und 1$ liegen.

2) In Deutschland gilt zwar das Zentralbankgeld bzw. die Euronoten als einzig unbeschränktes Zahlungsmittel, aufgrund des Prinzips der Vertragsfreiheit können aber Vertragspartner in Deutschland ihre Verträge so schließen wie sie möchten. Wie ist das international? Kann ich theoretisch in Ländern in denen die Nutzung des Bitcoins erlaubt ist, größere Geschäfte (Kauf von einer Immobilie, eines Autos etc.) mit Bitcoins abwickeln? Wie sieht dies steuerlich aus?
Es ist schon unmöglich mit Bestimmtheit zu sagen, wie das in Deutschland steuerlich aussieht, und dann erwartest du eine Einschätzung für alle Steuersysteme der Welt? Roll Eyes
Kurz gefasst, im Moment unklar. Sollte Bitcoin an Bedeutung im Handel gewinnen, wird sich das klären.
Ich persönlich erwarte, dass Bitcoin früher oder später nicht wesentlich anders gehandhabt wird als "normales" Geld.

3) Mithilfe einer Confirmation bzw. mehrere steigt die Sicherheit einer Transaktion bzw. sinkt das Risiko einer "Umkehrung" und somit eines Betrugs. Was ist denn genau solch eine Umkehrung? Muss ich bei größeren Transaktionen bzw. Beträgen die ich erhalte immer auf 6 Confirmations warten bis ich sicher bin, dass diese Transaktion vollständig abgeschlossen ist?
6 Confirmations musst du überhaupt nicht warten, das ist ein willkürlich gewählter Wert.
Vielmehr ist es so, dass die Sicherheit mit jeder zusätzlichen Confirmation zunimmt.
Wenn du nur einen Kaugummi verkaufst, wirst du das auch ohne Confirmation sinnvoll tun können.
Wenn du halbwegs sicher gehen willst, solltest du eine Confirmation abwarten.
Ab zwei Confirmations ist es extrem schwierig bis unmöglich, dich noch zu betrügen.
Wenn du aber wirklich einmal ein paar Millionen auf die Caymans transferieren willst, würde ich mir überlegen, ob ich nicht sogar 24 Stunden abwarte, bis ich dann halt 144 Confirmations habe Wink Genau genommen ist das übertriebene Vorsicht, aber hey, wir reden hier von einer Million Cool

Eine "Umkehrung" im eigentlichen Sinne gibt es nicht, zumindest kann man den Begriff so nicht verwenden.
Das würde bedeuten, dass man die Bitcoins auf eine Adresse schickt und wieder zurückschickt. Das ist unmöglich.
Was du vermutlich meinst, ist ein Double-Spend, d.h.:
Jemand schickt dir 1 BTC von seiner Adresse auf deine.
Sekunden später schickt er den selben 1 BTC von seiner Adresse an eine andere Adresse.
Beide Transaktionen sind zunächst nur Nachrichten im Netzwerk, quasi ausgefüllte Überweisungsträger auf dem Tisch eines Bankmitarbeiters.
Der Bankmitarbeiter muss nun entscheiden, welche von beiden Nachrichten als erste da war, denn nur sie kann ausgeführt werden, danach ist das Konto leer. Legst du dem Bankmitarbeiter nun einen Hundert-EUR-Schein auf den zweiten Überweisungsträger, kommt er vielleicht in Versuchung, den ersten Überweisungsträger zu ignorieren Wink
Nach der ersten Confirmation ist das schon schwieriger, da musst du schon den Bankvorstand bestechen.
Und wenn das mal bei der weiterleitenden Bank angekommen ist, wird's fast unmöglich.

Yeah, well, I'm gonna go build my own blockchain. With blackjack and hookers! In fact forget the blockchain.
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!