Update 1: a first payout from the new pool as set by the bad actor just came in at the bad actors wallet.
Guess I just stole a whopping 0.004919568954 XCH of myself
Update 2: The pay out address on the new pool changed back to original/legit address somehow? Didnât do anything on the legit client but turned off wallet sync on the bad actorâs⌠Turned it back on again, forced the bad actors address on to the pool again. Letâs see what happens over time without any interactions with either clientâŚ
Update 3: Just watching the pay out address at the (new) pool, it flip/flops between the legit pay-out address and the bad actorâs. Most likely a client periodically updates the receive address as in config.yaml to the pool in itâs config.yaml, as designated by the Plot NFT. Both do, hence the flip flopping of the pay out address at the poolâs side.
Update 4 and wrapping up for the moment:
I now believeâŚ
From any client (legit or bad) with appropriate keys the pool address (spacepool, flexpool, any pool) can be âprogrammedâ into the Plot NFT originating from those keys.
All clients farming with appropriate keys will copy this pool address from the plot NFT into their config.yaml by some scheduled process.
A pool payout address for NFT plots can only locally be set (into the config.yaml) by a client with appropriate keys.
All clients farming with appropriate keys will periodically update their locally set payout address to the pool in their config.yaml, as designated by the Plot NFT; not sure if the client or pool takes initiative for this exchange. I suspect itâs the clients initiative, because my âbad actorâ client has no port forwarding to it so canât be reached inbound.
My next test will be to revert to my original pool and see if the pay out address on that pool also flipflops between legit and bad actorsâs receive addresses.
So only changing the pay-out address on the bad actorâs client -but not the pool- will result in part of the payouts going into the wrong wallet. The pool wonât notice this as an anomaly, the legit farmer wonât see anything suspicious at his side besides disappointing payouts⌠This would be really ugly
Plot NFT at my legit client:
Plot NFT at my âbad actorâ client:
-UPDATE-
Changed back to my original (Space) pool in the mean time, from the âbad actorâ client.
Same thing, status pending, invalid, both pooling on Space Pool with config.yamlâs on both client adjusted accordingly.
Behaviour is a bit different, seems pools have some freedom/options to arrange their interaction with clients/farmers.
I didnât observe the frequent flip-flopping of receive addresses as with SpaceFarmers.io.
Space uses a pop up at the account webpage a client can get to by means of the Pool Login Link. Any client (!) - with keys of course. I changed the pay out address from a Login Link from the bad actorâs client. It hasnât changed back yet. So now I expect upcoming pay-outs to go to my bad actors wallet. Nothing to alarm the legit farmer from GUI or config.yaml settings, only a repeating error in log file:
2021-12-10T22:07:42.660 farmer chia.farmer.farmer : ERROR Failed to update farmer information on the pool https://eu1.pool.space
2021-12-10T22:12:52.786 farmer chia.farmer.farmer : ERROR Failed to update farmer information on the pool https://eu1.pool.space
2021-12-10T22:18:03.304 farmer chia.farmer.farmer : ERROR Failed to update farmer information on the pool https://eu1.pool.space
2021-12-10T22:23:15.286 farmer chia.farmer.farmer : ERROR Failed to update farmer information on the pool https://eu1.pool.space
2021-12-10T22:28:24.968 farmer chia.farmer.farmer : ERROR Failed to update farmer information on the pool https://eu1.pool.space
2021-12-10T22:33:35.821 farmer chia.farmer.farmer : ERROR Failed to update farmer information on the pool https://eu1.pool.space
2021-12-10T22:38:47.277 farmer chia.farmer.farmer : ERROR Failed to update farmer information on the pool https://eu1.pool.space
2021-12-10T22:43:57.570 farmer chia.farmer.farmer : ERROR Failed to update farmer information on the pool https://eu1.pool.space
Also lots of WARNINGS thrown for block validation time.
SpacePool does not seem to have any problems itself with these errors and warnings, receiving all valid partials and payouts go straight to the bad actorâs wallet.