one of the core values of the game is that, due to the decentralized nature of the pools and miners, the outcome cannot be manipulated. If you have a specific scenario in mind, I’d love to discuss it further
1. A large miner can rig this by moving to a different mining pool to change the odds of winning.
2. How is the block time determined? Maybe a mining pool can rig the block time.
Send funds directly from your personal crypto wallet (e.g., Ledger, Trezor, Exodus, MetaMask, Trust Wallet and other). Do not send from a cryptocurrency exchange (e.g., Binance, Coinbase), as exchanges may not support direct payouts.
I like this. BUT people smarter than me say it is a very bad idea:
I need it to return a payment to one of the sending addresses.
No!
No, no, no.
Just no.
In Bitcoin, there's no such thing as a "sending address". DO NOT try to guess at a return address from the inputs of a transaction. Doing so WILL eventually result in lost bitcoins and angry users. If you want to send bitcoins to someone, ASK THEM TO PROVIDE a receiving address, then use the address they give you.
There are just SO MANY ways that guessing a user's address from inputs will result in you using an incorrect address.
You're probably right, some users will ignore even the simplest of instructions. The return address only works when using your own wallet. This badly complicates my idea.
A significant percentage of the population doesn't even understand the difference between a self-custody wallet, and an account with a service provider.
Then companies like Coinbase (and others) make it even more confusing by calling their accounts "Wallets" all over their user interface.
Then on top of that, you've got multi-sig addresses and the possibility of CoinJoin transactions.
And even if users completely understand how to "use their own wallet" AND they understand that they need to avoid input sharing, you still have the problem that a user could compromise their address very shortly after sending the bitcoins to you (either lost the private keys and don't have a backup, or leaked the private keys). In either case, those coins aren't going to make it back to the person you intend them to.
And if the input is spending a non-standard output, then there is no "address" at all. Are you going to perfectly reproduce their customized script? Or is your code going to try to convert the bytes into an address for which they don't have the private key?