Sort:  
 18 days ago (edited)

I have thought a little about the problem.

I think the only way to handle this safely at the moment would be to wait 30 days + x hours.
I could imagine the following procedure (the new steps are in italics):

  1. The seller registers the account with the master password.
  2. The app assigns a new master password and then changes (only) the OwnerKey (so that the seller can continue to use the account).
  3. The waiting period of 30 days + x hours (recovery window plus x hours for safety) begins.
  4. The account is displayed as "reservable" in the app. After the waiting period has expired, the account is displayed as "available for sale".
  5. The purchaser transfers the amount of steem to the service account when buying the account.
    At the moment of the purchase, the app changes the master password to a new one using the initial private owner key.
  6. Wait until the waiting period has expired.
  7. Then, the purchaser gets the new password and the old password is not valid anymore.
  8. The service account transfers the amount of steem to the seller.
  9. Refund the amount to the purchaser if an error occurs during this process.

As an option, you could also offer a risk variant for the buyer, where the waiting period can be explicitly deactivated...

So, now it's your turn :-)

 17 days ago 

Thank you for your idea. Now I know how the account recovery works.

What if the recovery account is changed to something else owned by the buyer at the time of purchase?

Then, the seller cannot try to recover the account. right?

 17 days ago 

I think so, but changing the recovery account also takes 30 days. The old recovery account is valid for this period. For your purpose, changing the recovery account immediately at the time of purchase would therefore not bring any advantage.
You can see this with my account (Account Details on https://steemworld.org/@moecki). I changed the recovery account today.

 16 days ago 

thank you for the test.

Coin Marketplace

STEEM 0.28
TRX 0.13
JST 0.033
BTC 62875.13
ETH 3030.71
USDT 1.00
SBD 3.67