Zum Inhalt springen

Haben alle Coins eine kleinste Einheit?


Cftral

Empfohlene Beiträge

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 zu diesem Kommentar
Auf anderen Seiten teilen

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.

Bearbeitet von Anevay
  • Love it 1
  • Thanks 1
  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

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

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 zu diesem Kommentar
Auf anderen Seiten teilen

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.

 

 

 

Bearbeitet von Cftral
Link zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

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.

Bearbeitet von MixMax
Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Bearbeitet von Cftral
Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Bearbeitet von MixMax
Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Bearbeitet von MixMax
Link zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

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. 

Bearbeitet von Philbert
Link zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

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 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.