Hi,
before I start the formal process of writing BSIPs I'd like to get feedback on an idea. Actually it's more like one and a half ideas.
My starting point was that I'd like to have a way to attach generic information to an account in the form of key/value pairs. Examples would be contact information like email address, URL, PGP-key etc. - specific uses would be up to client software. External representation should be in the form of JSON or BSON, perhaps with an extra datatype for blockchain object references. The latter would make it possible to add a list of "friend" accounts, for example. All of this could be implemented mostly by extending existing data structures (account_object and account_update_operation) with optional add-ons. Since this permanently consumes node resources, more weight should be put on per-kb fees for related operations.
Now that we have defined a generic data structure, the next logical step is to allow storing arbitrary data objects in the blockchain. In addition to the data itself (again, key/value pairs like above), such a data object would require metadata like permissions (owner + active keys) and an expiration time. Fees should be calculated per-kb and per-time, and the expiration time of existing object could be extended by paying additional fees.
I think these generic interfaces could be used by a lot of blockchain-related businesses. Opinions?