Hi,
I'm sure this is possible but I'd like to have advices about where to look for informations.
Basically, I have a nice idea i want to implement about a game. I could implement it on as a stand alone cryptocurrency but i don't see the point of creating another altcoin so i would like to use bitcoin blockchain as a base to implement my logics.
Technically what i'd need is to store information linked to a bitcoin address and the bitcoin blocks would trigger some events in my game logic
the things to store could take several KB of data, i could even need to upload some images/sounds, so i can't store them right into the bitcoin blockchain, so i think i should need something like external assets linked to bitcoin transactions.
Now, i could easily implement a service that can be used to get/put assets but since it would be a proprietary server, there is the problem about the trust of information it holds, so what's the best practice for things like this?
without entering in the game detail, i have in mind the workflow i need.
the user should be able to do this:
1) store the (encrypted) information about his character (it's not really a character but for semplicity sake let call it this way) and be able to update it
2) subscribe to an event, sending a BTC amount to a specific address, plus a link to his subscribed character address
3) validate the subscribtion, sending the private key to decrypt his character
4) the external service will then execute the event, producing a result that would take a lot of space, so will be stored in the external server and a link to that result(asset?) need to be store in the bitcoin blockchain
users can use their own clients to verify that the produced result is right (the concept is like the transaction validations that bitcoin nodes does, this is why i said that i could implement an altcoin)
questions are:
- what's the best practice for things like this?
- how to grant that stored external asset doesn't change over time? (generate a CRC and put it on blockchain? any better ideas?)
- how to handle the payment in BTC without running a sort of exchanger? (i was thinking about using RETURN_OP as a way to link informations)
- would be nice to give to users the chance to store the same data stored in my server (sort of sidechain), is this possible actually?
thanks, feel free to ask if i didn't explained well
p.s.
it seems that sidechains proposal would fit well but it's just a proposal (
http://www.coindesk.com/bitcoin-core-developers-bitcoin-side-chains/)