To a layman - is it possible to create a smart contract with a stipulation that it can only be transferred on if exchanged through a specific portal (to centralize the exchange but retaining the de-centralized ledger model)
Absolutely. You can essentially centralise a contract by adding the notion of "owner" to it. You can also devise a mechanism of transferring ownership. If you tell me about your use case I might be able to show you how to do it
Comments
contract Contract { address owner; function Contract() { owner = msg.sender; } function transferOwnership(address newOwner) { if (msg.sender != owner) return; owner = newOwner; } }