Possible solution for stoping oversized mining rigs #867
Replies: 8 comments 16 replies
-
How would this curb the use of AVR emulators? Isnt the point of AVR mining to use actual hardware? |
Beta Was this translation helpful? Give feedback.
-
I like the overworking shares get 'donated' to the project rather than rejected... that way you can go over the limit and contribute at the same time :) I am a little confused by the limiting stuff and the undocumented changes that have occurred, but my thoughts are: Have a limit per user, then cap as above. I think the original idea of per user per client IP was also quite good. Per client IP alone seems bad for areas like student groups etc. Per-user limits stop accounts from accumulating significant coins regardless of what it's doing, or where. the current worker limit of 150 seems high, while 25 seems low to me. Trying to make each miner thread the same regardless of hardware seems to me to be the key. If you run a miner of a GPU, the difficulty is much higher than on an Arduino, so they should produce a solution in the 1.5 second-ish timeframe. If you can uniquely identify a thread (chip id for example) then you can possibly even slow the acknowledgement down - bad on the server though, and if you randomise your chip ID between calls that might attempt a bypass, but a submitted share should match the requested share, so this would be where you would rate limit. Based on time limiting though, you could also use some factor to limit rewards... aiming at 1.5seconds... if you come in at 1 second, you only get 66% of the reward. Doing that will mean that regardless of hardware, the mining is the same, then regardless of the number of miners, you cap out at the upper end. Run on a GPU or AVR simulator... all handled. To reduce the creating of multiple accounts to bypass this, the emails sent out should have an activation link in, and possibly an update every so often - 90 days for example - so that you need to ensure you still use your account. all using the google captcha thing. If your account is not active, you don't get jobs. Hopefully something useful in my ramblings :) |
Beta Was this translation helpful? Give feedback.
-
I think we can kick out of the system by limiting the daily mining amount of each account! For example, 200 accounts. At the same time, the number of accounts that can be used by each IP is limited. For example, each IP can have up to 6 accounts working at the same time. The accounts that exceed the limit will not get benefits! |
Beta Was this translation helpful? Give feedback.
-
Cap the number of chip ID's per account in any window (say 15 minutes) and use the submit job to get another job so a 'chain' can occur. This would stop anonymous/random chip ID's being spoofed in software to bypass the difficulty algorithm, and allow the backend to better set difficulty based on submission rate. One possible downside is that cheap cloned chips would all have the same ID though... |
Beta Was this translation helpful? Give feedback.
-
iirc someone (i forget who) said in the discord server that all arduinos (emulated or not) have chip identifiers or serial numbers. just either reject the known emulator chip IDs or set 100% donation level server-side on these emulation chips |
Beta Was this translation helpful? Give feedback.
-
another possible solution is to encrypt the shares with some encryption method client-side, with a method only possible on real hardware like using real pins on the real arduino needing to have voltage or not, and if that isn't true the encryption isn't unlocked, thus making the share invalid. |
Beta Was this translation helpful? Give feedback.
-
I think there is nothing wrong with rigs and nothing wrong with mining on other CPUs and GPUs. But I see the problem that other CPUs and GPUs are much more powerfull than an Arduino. I think the current way of sending a photo could be part of the solution. The other part could be additional hardware and the fun and ambition of the people. So maybe it could be a way to limit each user to 3 unregistered Arduinos and a maximum amount of DUCOs per day. Then it doesn't matter which hardware or software they use to mine DUCOs. Users who wants to use more then 3 arduinos and mine DUCOs beyond the limitations must connect a small cheap I2C Display-Modul to the Arduinos. Then a new version of the software reads out the serial number of the Arduino and sends it to the server. The server uses this number and a secret code to calculate a new secret code. This will be sent to the Arduino and shown on the display. Then the user has to take a photo of this and send it back. A free open source OCR-software could read out the mail and automatically store the text on the photo of the display to a textfile. After this another software reads out this textfile and compares the code with the expexted result in the database. If they match, then the registered Arduino will be stored in the database as registered for this user. The secret code for the registered Arduino could be sent as ID for this arduino within every communication to the server. So that this Arduino is not taken into account in the limits. Maybe this sounds difficult to realize, but I know how to realize it and I could help with that. I already build something similar to automatically recognize texts in photos and store them into a database some years ago with free open source software. |
Beta Was this translation helpful? Give feedback.
-
Weazel wallet Each type and power should get it's own coin currency If u mine esp32 u get a duino esp32 coin if u mine android phone u get duino apk or something like that Then if you mine with under 10x it's a duino apk 1x coin like 10c Mine with 20x it duino apk 20x Something like that So we can exchange values and we aren't detured from investing hardware numbers and computing power.......... I have quite few ideas if someone is interested |
Beta Was this translation helpful? Give feedback.
-
Hi,
I would like to gather here possible solutions to stop users that are breaking the Duino Coin project by creating oversized mining rigs and help @revoxhere find a durable solution for the project.
I have thinked about a way that may help.
By defining maximums of workers for each category based on efficiency ( currently -4% per arduino so over 25 arduinos efficiency for each new workers is 0 ) pools will be able to reject a certain amount of shares.
ex:
30 arduinos
30/25 = 120%
so 20% of the shares gets rejected.
Please feel free to post. We are here to debate the subject.
Thank you @revoxhere for starting this awesome project.
Beta Was this translation helpful? Give feedback.
All reactions