User can sell his/her product on chain. When the form is filled out, a smart contract is generated for this product. So when it is sold and then new owner wanna sell it again, everyone can see who was the last owner, who owned it before, how much does it be paid. After a product is sold, buyer can approve it when he/she has the product and money will be transferred to seller and ownership will be transferred to buyer.
I have solidity smart contracts that handles this operations. The market contract stores the information about products and responsible for the creation of a product. Product contract has features such as getting previous owners, transfer ownership, transfer asset, making an offer. Frontend is the app that creates connection between smart contracts and an user.