Bitcoin Forum
May 22, 2024, 01:01:15 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Verständnisfrage - Poolmining  (Read 761 times)
muto (OP)
Sr. Member
****
Offline Offline

Activity: 457
Merit: 250


View Profile
January 14, 2014, 01:40:14 PM
 #1

Mir ist vor kurzem unter der Dusche ein Einfall gekommen, den ich mit meinem Halbwissen nicht wiederlegen kann.

Was hält einen davon ab, einen Fork z.B. von cgminer zu machen, der shares an einen pool liefert und gefundene Blocks selbst einbehält?

Also eine einfach If-Schleife

Quote
If sharediff > networkdiff Then
  send to localwallet
Else
 send to pool
Endif
Ich kann mir fast nicht vorstellen, dass es funktioniert. Da wären bestimmt schon andere darauf gekommen. Aber ich weiß nicht, warum es nicht funktioniert  Huh
amigaman
Sr. Member
****
Offline Offline

Activity: 406
Merit: 250



View Profile
January 14, 2014, 02:39:13 PM
 #2

theoretisch geht das.
Aber wer würde deinen nicht-offiziellen Closed-source-client benutzen wollen?
muto (OP)
Sr. Member
****
Offline Offline

Activity: 457
Merit: 250


View Profile
January 14, 2014, 02:40:55 PM
 #3

Ich selbst (natürlich nicht, aber theoretisch), damit kann ich dann Coins für meine nutzlosen Shares im Pool abschöpfen und wenn ich tatsächlich mal nen Block finde, behalte ich den selbst.

Ich hoffe doch stark, dass das nicht geht.
amigaman
Sr. Member
****
Offline Offline

Activity: 406
Merit: 250



View Profile
January 14, 2014, 02:48:24 PM
 #4

Doch klar geht das, wenn du deine Saftware selber bauen kannst.
Warum sollte das nicht gehen?
Der Pool weiß doch nicht, das du das gefunden hast, wenn du es nicht erzählst.
Ist nur ne Frage, wie groß deine Chance ist, selbst einen Block zu finden.
Und sicherlich braucht es mehr als die paar Zeilen, aber das Prinzip geht so.
Ist so ähnlich mit der donate-funktion eingebaut gewesen, und manchen Pools wurde auch unterstellt, das sie das so ähnlich handeln.
poorminer
Full Member
***
Offline Offline

Activity: 294
Merit: 100


View Profile
January 14, 2014, 02:48:45 PM
 #5


Ich hoffe doch stark, dass das nicht geht.

Wieso hoffst du, dass es nicht geht?

Du könntest die Pooled Mining Szene doch voll aufmischen damit.  Grin

Akka
Legendary
*
Offline Offline

Activity: 1232
Merit: 1001



View Profile
January 14, 2014, 02:53:30 PM
 #6

Geht nicht.

Ob die Hashes die du für einen Pool erzeugst einen gültigen Block finden ist auch von der Adresse für den Coin reward abhängig.

Mit diesen Hashes kannst du für dich selbst nichts anfangen.

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

Activity: 3649
Merit: 1414


View Profile
January 14, 2014, 03:03:23 PM
 #7

theoretisch geht das.
Genaugenommen geht das weder theoretisch, noch praktisch.
cgminer erzeugt (oder findet) nämlich garkeine Blöcke, sondern nur Hashes.  Wink

Was ginge (sowohl theoretisch, alsauch praktisch), wäre, diese Hashes, die sogenannten Shares einzubehalten,
nur bringt das dem Erzeuger des Hashes/Shares garnichts, er schadet damit nur dem Pool und natürlich auch sich selbst.

Man kann mit einem Hash, den man für jemand anderen generiert (in unserem Fall für den Pool), keinen eigenen Block erzeugen,
da man für den eigenen Block andere Daten hashen würde, als der Pool.


sQueeZer
Sr. Member
****
Offline Offline

Activity: 312
Merit: 251


View Profile
January 14, 2014, 03:12:12 PM
 #8

Ich verstehe trotzdem nicht genau, wieso das nicht funktionieren sollte...

Hinter dem Pool steht ebenfalls ein Wallet, welches gesynced ist und auf aktuellem Netzwerk-Stand ist.
Daraus resultiert doch logischerweise auch der aktuelle Block, an dem gehashed wird - soweit korrekt?

Also ist es doch Jacke wie Hose ob ich die Bock information aus dem Pool-Wallet ziehe
und spaeter bei Share > Networkdiff eifnach an mein eigenes Wallet sende oder in den
Pool zurueck-reporte.

Ein Gueltiges 'BLOCK!' im cgminer sollte sowohl fuer den Pool gueltig sein, als auch fuer das lokale
Wallet. Denn beide Wallets sind ja auf aktuellem Blockstand.

Korrigiert mich bitte falls ich da was falsch verstanden habe.
poorminer
Full Member
***
Offline Offline

Activity: 294
Merit: 100


View Profile
January 14, 2014, 03:16:03 PM
 #9

Was ginge (sowohl theoretisch, alsauch praktisch), wäre, diese Hashes, die sogenannten Shares einzubehalten,
nur bringt das dem Erzeuger des Hashes/Shares garnichts, er schadet damit nur dem Pool und natürlich auch sich selbst.

Man kann mit einem Hash, den man für jemand anderen generiert (in unserem Fall für den Pool), keinen eigenen Block erzeugen,
da man für den eigenen Block andere Daten hashen würde, als der Pool.


Also man kann die erfolgreichen Hashes rausfiltern um einen Pool fertigzumachen. Der eigene Verdienst wird aber kaum gemindert, da es ja total unwahrscheinlich ist, selbst einen Block zu finden. Und selbst wenn, dann hätte man ja kaum was davon einen Block zu finden. Das nenn ich mal eine kreative, wenn auch ein wenig destruktive Idee.  Grin

Wie sieht das aus, könnte man auch totale nonsense-Hashes senden, um beim Pool abzusahnen ohne zu leisten?
fronti
Legendary
*
Offline Offline

Activity: 2909
Merit: 1307



View Profile
January 14, 2014, 03:18:15 PM
 #10

Ich verstehe trotzdem nicht genau, wieso das nicht funktionieren sollte...

Hinter dem Pool steht ebenfalls ein Wallet, welches gesynced ist und auf aktuellem Netzwerk-Stand ist.
Daraus resultiert doch logischerweise auch der aktuelle Block, an dem gehashed wird - soweit korrekt?


der Block zu dem du die den Hashwert finden willst/musst ist ja der neue. In den Transaktionen seit dem letzten gesyncten miteingeflossen sind.
Welche das dann sind entscheidet der miner (poolbetreiber) und da steht dann ja auch die Pooladdesse drin..


If you like to give me a tip:  bc1q8ht32j5hj42us5qfptvu08ug9zeqgvxuhwznzk

"Bankraub ist eine Unternehmung von Dilettanten. Wahre Profis gründen eine Bank." Bertolt Brecht
Akka
Legendary
*
Offline Offline

Activity: 1232
Merit: 1001



View Profile
January 14, 2014, 03:18:25 PM
 #11

Wie sieht das aus, könnte man auch totale nonsense-Hashes senden, um bei Pools abzusahnen?

Nein. (Als ob darauf noch keiner gekommen wäre).

Gültige Hashes sind immer Hashes die bei einer niedrigeren Difficulty (und sonst identischen Umständen) einen Block für den Pool gefunden hätten.

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

Activity: 3649
Merit: 1414


View Profile
January 14, 2014, 03:33:57 PM
 #12

Korrigiert mich bitte falls ich da was falsch verstanden habe.

Aaalso:

Um einen Block zu erzeugen, nimmt man einen Haufen Daten,
Client Versionsnummer, Timestamp, Hash des vorherigen Blocks, Nonce
und den Hash der Transaktionen, die man in den Block aufnimmt.

Eine der Transaktionen, die man aufnimmt, ist die, die den Coin-Reward generiert und an eine Adresse sendet.
Die Wahrscheinlichkeit, daß Du exakt dieselben Transaktionen in Deinem Block aufnimmst, die auch der Pool für seinen Block verwendet, ist schon extrem gering,
aber mindestens diese eine Transaktion der neu-generierten Coins wird sich immer unterscheiden,
schließlich willst Du diese Coins in Deinem Block ja nicht an die Adresse des Pools schicken, sondern an Deine eigene.  Wink

Für einen Block aus anderen Daten brauchst Du auch nen anderen Hash.

Wie gesagt, einbehalten kannst Du den Hash schon, bringt aber Dir aber nix.
sQueeZer
Sr. Member
****
Offline Offline

Activity: 312
Merit: 251


View Profile
January 14, 2014, 03:41:11 PM
 #13

Korrigiert mich bitte falls ich da was falsch verstanden habe.

Aaalso:

Um einen Block zu erzeugen, nimmt man einen Haufen Daten,
Client Versionsnummer, Timestamp, Hash des vorherigen Blocks, Nonce
und den Hash der Transaktionen, die man in den Block aufnimmt.

Eine der Transaktionen, die man aufnimmt, ist die, die den Coin-Reward generiert und an eine Adresse sendet.
Die Wahrscheinlichkeit, daß Du exakt dieselben Transaktionen in Deinem Block aufnimmst, die auch der Pool für seinen Block verwendet, ist schon extrem gering,
aber mindestens diese eine Transaktion der neu-generierten Coins wird sich immer unterscheiden,
schließlich willst Du diese Coins in Deinem Block ja nicht an die Adresse des Pools schicken, sondern an Deine eigene.  Wink

Für einen Block aus anderen Daten brauchst Du auch nen anderen Hash.

Wie gesagt, einbehalten kannst Du den Hash schon, bringt aber Dir aber nix.


Vielen Dank fuer die Ausfuehrliche Antwort. Das hiflt mir wirklich weiter Smiley
Dachte der naechste gueltige Block richtet sich lediglich am Hash des vorherigen Blocks.

Dennoch koennte man durch Einbehaltung der Gueltigen Pool-Bloecke zB
PPS-Pools schaden... Ohne selbt davon großartig betroffen zu sein.

Grueße
muto (OP)
Sr. Member
****
Offline Offline

Activity: 457
Merit: 250


View Profile
January 14, 2014, 03:43:19 PM
 #14

Ich verstehe trotzdem nicht genau, wieso das nicht funktionieren sollte...

Hinter dem Pool steht ebenfalls ein Wallet, welches gesynced ist und auf aktuellem Netzwerk-Stand ist.
Daraus resultiert doch logischerweise auch der aktuelle Block, an dem gehashed wird - soweit korrekt?


der Block zu dem du die den Hashwert finden willst/musst ist ja der neue. In den Transaktionen seit dem letzten gesyncten miteingeflossen sind.
Welche das dann sind entscheidet der miner (poolbetreiber) und da steht dann ja auch die Pooladdesse drin..



Danke! Der Teil hat mir gefehlt
poorminer
Full Member
***
Offline Offline

Activity: 294
Merit: 100


View Profile
January 14, 2014, 03:43:34 PM
 #15


Nein. (Als ob darauf noch keiner gekommen wäre).

Gültige Hashes sind immer Hashes die bei einer niedrigeren Difficulty (und sonst identischen Umständen) einen Block für den Pool gefunden hätten.

D.h. es wird jedes gesendete Hash vom Pool gegengeprüft, auch diejenigen, die keinen Block finden?
Akka
Legendary
*
Offline Offline

Activity: 1232
Merit: 1001



View Profile
January 14, 2014, 03:47:37 PM
 #16


Nein. (Als ob darauf noch keiner gekommen wäre).

Gültige Hashes sind immer Hashes die bei einer niedrigeren Difficulty (und sonst identischen Umständen) einen Block für den Pool gefunden hätten.

D.h. es wird jedes gesendete Hash geprüft, auch diejenigen, die keinen Block finden?

Wie sollte der Pool sonst deinen Anteil an der Arbeit ermitteln? Deshalb stellt Stratum ja auch eine Lokale Div. entsprechend deiner Hardware ein, sonst hättest du nur deshalb massig Traffic. War bei Getwork noch so, das ist deshalb für die schnellen ASICs ungeeignet und wird meines Wissens auch von niemandem mehr benutzt.

*Mining ist jetzt nicht gerade mein Fachgebiet also alles mit ner Prise Salz lesen.

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

Activity: 3649
Merit: 1414


View Profile
January 14, 2014, 03:49:47 PM
 #17

Dennoch koennte man durch Einbehaltung der Gueltigen Pool-Bloecke zB
PPS-Pools schaden... Ohne selbt davon großartig betroffen zu sein.
Ja, das könnte man,
was vermutlich mit ein Grund dafür sein dürfte, daß es fast keine PPS-Pools mehr gibt und der kümmerliche Rest hohe Gebühren verlangt.
sQueeZer
Sr. Member
****
Offline Offline

Activity: 312
Merit: 251


View Profile
January 14, 2014, 03:52:52 PM
 #18

Danke fuer die Beitraege, weiter so ! Smiley
Pages: [1]
  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!