This is a cool idea. One implementation might be to create bid assets and write bid assets to a stream. You could control the bidding assets and distribute bids from nodes with permission or allow public creation of bidding assets by any node. Then bidding assets would be written to a stream. You could decide the permissions similarly for writing to the stream by anyone or only nodes with permission.