aeternity / aestratum_client

Stratum client
5 stars 1 forks source link

Miner in erlang is a nonsense #1

Closed sammy007 closed 5 years ago

sammy007 commented 5 years ago

By jerking with your erlang addiction you are literally put this network at risk of attack. This mining software will never be as efficient as miners implemented in low level languages like C. Stop wasting resources on this mess and deliver highly optimised software for both AMD and NVidia and cpuminer fork for testing purpose. With highly optimised (mostly order of magnitude) private miners this network is at risk.

sammy007 commented 5 years ago

Even if you are going to just use NIF it's still nonsense because the purpose of this software does not fit into scheduler requirements. There are ZERO reasons to rely on beam for mining.

sammy007 commented 5 years ago

ANY "reward" for this kind of software lower than at least 100K is a joke, nobody with high OpenCL and Cuda skill will even look at it because it will be more profitable to write it for a single private customer or just do high scale mining with it privately.

sammy007 commented 5 years ago

The correct design for it is a stratum server in a node and a stratum client (highly optimized multi GPU miner) for it. You can add some JSON stats via cowboy endpoint and show it for miner on his full node. The miner must have a failover to switch from private full node to a public pool in order of priority specified by user and vice versa. The example of UI user need https://github.com/sammy007/ether-proxy

sennui commented 5 years ago

@sammy007 This client runs exactly the same library as full node. It's native cuckoo cycle library. It can be one of cpp prebuilds (including nvidia cuda GPU one). It's completely outside of Erlang VM. So, I don't get what you mean here.

The current nvidia gpu is pretty efficient (at sub0.3sec per solution on 1080Ti). For state of the art, I think realistic price is way over 100k (I estimate it at 250k). That said, AE policy was never to mine and obviously platform-oriented blockchain can't focus mainly in developing miner. Inflation curve motivates private miners to invest in this area.

You are right about nice JSON API for stats. I will add ticket about it. Remember that erlang is almost always only coordination layer.

Sorry to respond so late, but I don't check all small repos. Feel free to shout in the main one. I always enjoy your precise position on our development;)

sammy007 commented 5 years ago

You seems new here, the problem is private miners who will invest in private mining software and it will be always private. it will give 10x benefit over public miners and they will simply put network at risk bc network will never be as secure as it could be with highly efficient public miner. Nobody is impressed about current public efficiency it's the same as ASIC manufacturer hidden mining.

sennui commented 5 years ago

@sammy007 of course 10x improvement can destabilize the network. From what I know available alternatives are only couple percent faster (mainly due to daemonizing subcomponents and saving time on dispatch).

John Tromp and main cuckoo development joint run continues significant awards for improving it, so I doubt there is 10x thing hiding.