Jump to content

Haben alle Coins eine kleinste Einheit?


Cftral

Recommended Posts

Hallo zusammen,

ich Frage mich aktuell für ein kleines Projekt an dem ich gerade sitze, ob alle Coins eine kleinste Einheit haben.

Beim Bitcoin ist die kleinste Einheit z.B. 0,00000001 also sind 1 BTC = 100'000'000 Satoshis.

Bei Ether hingegen sind 18 Nachkommastellen möglich, also  wäre die kleinstmögliche Einheit 0,000000000000000001 ETH

Ist das bei allen Coins so, dass es eine kleinste mögliche Einheit gibt und gibt es da eine Zentrale Seite wo ich nachlesen kann wie klein diese ist?

Link to comment
Share on other sites

vor 38 Minuten schrieb Cftral:

Beim Bitcoin ist die kleinste Einheit z.B. 0,00000001 also sind 1 BTC = 100'000'000 Satoshis.

 

Nein, auch bei Bitcoin sind beliebig viele Nachkommastellen möglich.

Nur halt nicht in der Blockchain, was auch (derzeit) überhaupt keinen Sinn macht. 

Aber auch die Blockchain ließe sich problemlos anpassen um auch Mikro-Satoshis in Transaktionen ausweisen zu können.

Und ja, alle Blockchains haben eine "kleinste" und eine "größte" Einheit, denn ein "unendlich" ist in der Informatik nicht ohne Weiteres abbildbar.

Eine zentrale Stelle wird es kaum geben, weil es überhaupt keinen Sinn macht.

Sobald Bedarf für kleinere Einheiten ist, dann werden diese auch implementiert.

Edited by Anevay
  • Love it 1
  • Thanks 1
  • Like 1
Link to comment
Share on other sites

vor 59 Minuten schrieb Cftral:

Hallo zusammen,

ich Frage mich aktuell für ein kleines Projekt an dem ich gerade sitze, ob alle Coins eine kleinste Einheit haben.

Beim Bitcoin ist die kleinste Einheit z.B. 0,00000001 also sind 1 BTC = 100'000'000 Satoshis.

Bei Ether hingegen sind 18 Nachkommastellen möglich, also  wäre die kleinstmögliche Einheit 0,000000000000000001 ETH

Ist das bei allen Coins so, dass es eine kleinste mögliche Einheit gibt und gibt es da eine Zentrale Seite wo ich nachlesen kann wie klein diese ist?

Ich kenne zwar nicht alle Coins, beziehe mich aber mal auf die Möglichkeiten für Zahlenformate in der Informatik.

Theroetisch gibt es bei Reellen Zahlen unendlich viele Zahlen zwischen jeder Zahl.

Praktische Zahlenformate können diesen Zahlenraum aber natürlich nicht abbilden. Daher gibt es in jedem Zahlenformat der Informatik eine kleinste und größte Zahl.

Alle Krypto-Coins die auf der derzeitigen Computer-Technik basieren, müssen sich dieser Gesetzmäßigkeit unterordnen.

Edited by MixMax
  • Like 1
Link to comment
Share on other sites

vor einer Stunde schrieb Cftral:

ich Frage mich aktuell für ein kleines Projekt an dem ich gerade sitze, ob alle Coins eine kleinste Einheit haben.

Was für ein Projekt ist das denn?

 

Kleiner Ausblick in die Zukunft:

Früher mussten wir Musik live hören. Es gab keine Tonträger.

Später konnten wir Musik auf Tonträgern speichern und sie immer dann abhören wenn wir das wollten.

Noch später kam das Streaming. Wir müssen keine Tonträger mehr bei uns haben sondern erhalten die Musik wann immer wir Musik hören wollen.

 

Analogie dazu:

Früher mussten wir Goldstücke in Säckchen mit uns herum tragen und verstecken.

Später gab es Banküberweisungen. Wir haben Geld erhalten wenn wir einen Monat lang dafür arbeiteten. Auch heute ist vieles im Monats-Rhythmus: Miete, Lohn, Rente, Strom, Gas, Wasser.

Noch später werden wir dann bezahlen wenn wir es nutzen. Wir lassen das Wasser laufen und zack, wird uns direkt das Geld aus der Wallet abgebucht. Ist die Wallet leer, dann gibt es kein Wasser mehr, aus. Keine Schulden. Gleiches bei Strom: Wenn Geld alle, dann kein Strom mehr. Und auch bei unserem Einkommen wird es das Streaming geben. Nachwächter werden für ihre Anwesenheit stetig bezahlt. Während der Arbeitszeit klingelt die Kasse. Außerhalb der Arbeitszeit nicht. Lohnarbeiter werden direkt für jedes fertige Stück bezahlt welches die Qualitätskontrolle erfolgreich passierte.

Genau für diesen Fall braucht es extrem kleine Währungseinheiten.

Dieses "Money-Streaming" wird jedoch nicht über die Blockchain geschehen sondern auf Sidechains oder auf 2nd-Layern über entsprechende Payment-Provider. 

Und genau hier setzt Bitcoin-Lightning an. Damit lässt sich dieses Streaming in "kleineren" Zeiteinheiten durchführen. 

Link to comment
Share on other sites

vor 40 Minuten schrieb MixMax:

Ich kenne zwar nicht alle Coins, beziehe mich aber mal auf die Möglichkeiten für Zahlenformate in der Informatik.

Theroetisch gibt es bei Reellen Zahlen unendlich viele Zahlen zwischen jeder Zahl.

Praktische Zahlenformate können diesen Zahlenraum aber natürlich nicht abbilden. Daher gibt es in jedem Zahlenformat der Informatik eine kleinste und größte Zahl.

Alle Krypto-Coins die auf der derzeitigen Computer-Technik basieren, müssen sich dieser Gesetzmäßigkeit unterordnen.

@Anevay

Danke, der Hintergrund meiner Frage ist folgender:

Ich möchte zu lernzwecken eine kleine Anwendung schreiben um realisierte Gewinne/Verluste zu tracken und im Blick zu behalten wann ich die 1 Jahr Haltefrist für steuerfreie Verkäufe erreicht habe.

Ich stehe jetzt vor der Entscheidung ob ich die Coin Anzahl als Integer (z.b.) big Int speichere, dann müsste ich aber für alle Coins Definieren was je der kleinst mögliche Anteil ist.

Oder ich speichere und verwende die Werte direkt wie sie sind mit Nachkommastellen. Da befürchte ich im Umgang aber Probleme mit Rundungsfehlern und müsste auch da für effizientes speichern die potentiell möglichen Nachkommastellen im Hinterkopf behalten.

 

 

 

Edited by Cftral
Link to comment
Share on other sites

vor 3 Minuten schrieb Cftral:

Oder ich speichere und verwende die Werte direkt wie sie sind mit Nachkommastellen. Da befürchte ich im Umgang aber Probleme mit Rundungsfehlern und müsste auch da für effizientes speichern die potentiell möglichen Nachkommastellen im Hinterkopf behalten.

Double weil du mit nur 8 signifikanten Stellen definitiv nicht hinkommst, das müssen 15 mindestens sein.

 

Link to comment
Share on other sites

vor 7 Minuten schrieb Cftral:

Danke, der Hintergrund meiner Frage ist folgender:

Ich möchte zu lernzwecken eine kleine Anwendung schreiben um realisierte Gewinne/Verluste zu tracken und im Blick zu behalten wann ich die 1 Jahr Haltefrist für steuerfreie Verkäufe erreicht habe.

Ich stehe jetzt vor der Entscheidung ob ich die Coin Anzahl als Integer (z.b.) big Int speichere, dann müsste ich aber für alle Coins Definieren was je der kleinst mögliche Anteil ist.

Oder ich speichere und verwende die Werte direkt wie sie sind mit Nachkommastellen. Da befürchte ich im Umgang aber Probleme mit Rundungsfehlern und müsste auch da für effizientes speichern die potentiell möglichen Nachkommastellen im Hinterkopf behalten.

 

 

 

Wo holst du die Werte her? Auf dessen Plattform müssten die Coins ja auch in irgendeinem Format (einheitlich) gelistet sein.

Nimm doch einfach das Format, welches die Plattform dort auch hat.

Edited by MixMax
Link to comment
Share on other sites

vor 6 Minuten schrieb Anevay:

Double weil du mit nur 8 signifikanten Stellen definitiv nicht hinkommst, das müssen 15 mindestens sein.

 

Wenn meine Informationen Stimmen hätte ich da bei Ethereum mit 18 möglichen Nachkommastellen schon ein Problem.

vor 5 Minuten schrieb MixMax:

Wo holst du die Werte her? Auf dessen Plattform müssten die Coins ja auch in irgendeinem Format (einheitlich) gelistet sein.

Nimm noch einfach das Format, welches die Plattform dort auch hat.

Aktuell aus Bitpanda, da ist alles in Nachkommastellen angegeben, aber die Plattform könnte sich in Zukunft jederzeit ändern. Auch könnte das intern genutze format bei den Plattformen von dem angezeigten abweichen

Edited by Cftral
Link to comment
Share on other sites

vor 15 Minuten schrieb Cftral:

Wenn meine Informationen Stimmen hätte ich da bei Ethereum mit 18 möglichen Nachkommastellen schon ein Problem.

Aktuell aus Bitpanda, da ist alles in Nachkommastellen angegeben, aber die Plattform könnte sich in Zukunft jederzeit ändern. Auch könnte das intern genutze format bei den Plattformen von dem angezeigten abweichen

Das nim einfach "String" und konvertieren dann in ein Format, welches von der Genauigkeit für alle Coins mehr als ausreicht. Z.B. Big-Integer

String, weil String als Text immer lesbar sein sollte.

Rundungsfehler bekommst du ja immer nur auf die letzte Stelle. Wenn die letzten 5 Stellen z.B. eh nicht mehr benötig werden, kannst du sie dann einfach abschneiden.

 

Beispiel: 1.12515112  als Quelle Convertierst du nach: 0.1251511200000000   Und schneidest dann die letzte Null ab: 0.125151120000000

Edited by MixMax
Link to comment
Share on other sites

vor 36 Minuten schrieb MixMax:

Beispiel: 1.12515112  als Quelle Convertierst du nach: 0.1251511200000000   Und schneidest dann die letzte Null ab: 0.125151120000000

Wo bleibt die erste „1“?

Warum nicht einfach „Double“?

Link to comment
Share on other sites

vor 26 Minuten schrieb Anevay:

Wo bleibt die erste „1“?

Warum nicht einfach „Double“?

Ja, hab ich vergessen, die "1".

Keine Ahnung ob "Double" reicht, kann sein, weis ich jetzt nicht.

Ehrlich gesagt hab ich das Thema auch nur überflogen und jetzt nicht soo genau drüber nach gedacht, weil ich auch die benötigten Nachkommastellen für diverse Coins gar nicht kenne.

Wenn man jetzt diverse Coins mit 0,0000000000000123 mit einbezieht (Will ja keine Namen nennen :D) wird es schwierig.   Dann bleibt (falls Double nicht reicht) wohl wirklich nur Big-Integer, etc.

Edited by MixMax
Link to comment
Share on other sites

2 hours ago, Anevay said:

auch bei Bitcoin sind beliebig viele Nachkommastellen möglich

Aber nur als 2nd Layer-Lösung. (Auf der Originalchain wäre das ein extrem heftiger Hardfork, der quasi alles umkrempeln müsste.)

Link to comment
Share on other sites

vor 1 Minute schrieb Anevay:

Wie "schlimm" wird bei 15 signifikanten Stellen der Rundungsfehler wohl sein?

 

Sicherlich nicht schlimm, die Frage ist nur ob ein Rundungsfehler für das was er machen will akzeptabel ist.

Wenn z.B. ein Datensatz gehasht wird, ist bei einem Rundungsfehler, sei er noch so klein, der Hash, dann anders. (ist nur nen Beispiel)

  • Like 1
Link to comment
Share on other sites

vor 2 Stunden schrieb Anevay:

Noch später werden wir dann bezahlen wenn wir es nutzen. Wir lassen das Wasser laufen und zack, wird uns direkt das Geld aus der Wallet abgebucht. Ist die Wallet leer, dann gibt es kein Wasser mehr, aus. Keine Schulden. Gleiches bei Strom: Wenn Geld alle, dann kein Strom mehr. Und auch bei unserem Einkommen wird es das Streaming geben. Nachwächter werden für ihre Anwesenheit stetig bezahlt. Während der Arbeitszeit klingelt die Kasse. Außerhalb der Arbeitszeit nicht. Lohnarbeiter werden direkt für jedes fertige Stück bezahlt welches die Qualitätskontrolle erfolgreich passierte.

Wieso wird das so kommen und wer würde das wollen? 

Link to comment
Share on other sites

vor 52 Minuten schrieb MixMax:

Wenn z.B. ein Datensatz gehasht wird, ist bei einem Rundungsfehler, sei er noch so klein, der Hash, dann anders. (ist nur nen Beispiel)

Auch bei 5 Billionen Nachkommastellen hast du am Ende einen Rundungsfehler wenn irgendwo dividiert wird. Es muß also immer gerundet werden. Und dann kann man sich doch einfach am kleinsten sinnvollen Wert (in FIAT) orientieren. Es geht ja um Gewinne und Verluste. Ich wüsste nicht wozu man da mehr als 10 Nachkommastellen benötigen würde. 

  • Love it 1
Link to comment
Share on other sites

23 minutes ago, Philbert said:

Auch bei 5 Billionen Nachkommastellen hast du am Ende einen Rundungsfehler wenn irgendwo dividiert wird. Es muß also immer gerundet werden.

Muss bei der Guthabenverwaltung durch eine Blockchain überhaupt dividiert werden? Reichen da nicht Addition und Subtraktion?

  • Like 1
Link to comment
Share on other sites

vor 23 Minuten schrieb Philbert:

Und dann kann man sich doch einfach am kleinsten sinnvollen Wert (in FIAT) orientieren.

Was kostet ein Tropfen Benzin? Nichts? Dann tropfen sie mir bitte den Tank voll.....

Nein FIAT reicht nicht aus. Welchen Wert hat ein wei und ein sat? Beides kann man nicht in FIAT angeben und einfach runden und trotzdem kann man Millionär werden obwohl der Wert so viele Nachkommastellen hat. Kleinvieh macht halt auch Mist vor allem wenn man eine ausreichende Menge davon hat.

Link to comment
Share on other sites

vor einer Stunde schrieb skunk:

Was kostet ein Tropfen Benzin? Nichts? Dann tropfen sie mir bitte den Tank voll.....

Nein FIAT reicht nicht aus. Welchen Wert hat ein wei und ein sat? Beides kann man nicht in FIAT angeben und einfach runden und trotzdem kann man Millionär werden obwohl der Wert so viele Nachkommastellen hat. Kleinvieh macht halt auch Mist vor allem wenn man eine ausreichende Menge davon hat.

Aber nicht bei dieser Aufgabenstellung. 

 

Zusatz: Du kannst ja mal grob überschlagen wieviele Milliarden ETH Trades du machen müsstest um bei 17 statt 18 Nachkommastellen du am Ende 1 Cent Ungenauigkeit aufsummiert bekommen würdest. 

Edited by Philbert
Link to comment
Share on other sites

vor 4 Minuten schrieb Philbert:

Aber nicht bei dieser Aufgabenstellung. 

Den korrekten Datentyp habe ich oben verlinkt. Bei Nutzung dieses Datentyps hat man das Rundungsproblem nicht mehr. Warum dann also irgendwas anderes nehmen wenn die Lösung doch schon vorhanden ist?

Link to comment
Share on other sites

vor 3 Minuten schrieb skunk:

Den korrekten Datentyp habe ich oben verlinkt. Bei Nutzung dieses Datentyps hat man das Rundungsproblem nicht mehr. Warum dann also irgendwas anderes nehmen wenn die Lösung doch schon vorhanden ist?

Weil es nicht nötig ist? Siehe mein Edit oben. 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.