Well, I understand that a bot runs on a user's computer which reads and adds to the Steem blockchain which is then signed by witnesses. Is that not decentralized? Maybe it should run directly as an application on the witness' computer in order to be called decentralized?
Hehe right, let me think about it by writing it out. In theory it could be decentralized if I consider the following use case:
I have a contract
my counter-party signs it
our random witness signs it and runs it when it is due.
the result is eventually stored in the blockchain
So the contract (application) runs on a single computer at a time but it will run on several random computers over it's lifetime, maybe by choosing time of flight for reducing latency + some randomness?
But the last part is certainly decentralized according to your definition because the checking algorithm is running on each computer since the information is copied everywhere. And maybe it should be all the time when I think about it. Each step above could be written to the blockchain but step 1. is unnecessary.
I like to think about this stuff, that makes me what? A mathematician, programmer?
I don't know if any of that makes this decentralized, to be honest. Just because data associated with the app gets stored in the blockchain doesn't mean the app is decentralized. This reply I'm writing now is going in the blockchain, but does that mean I am decentralized?
To be decentralized, it seems like a minimum requirement should be something like this: you should have no single point of failure. Even if a witness is running the code, if that witness shuts it down the whole app would be dead in the water.
So what if all the witnesses are running the code and they take turns executing the contract? That would make it more decentralized, but consider this: what if the owner of the re-steem bot account suddenly changes his private key? Then every time the witnesses running the code try to re-steem a post, the transaction would be rejected, and we would have found another single point of failure.
So to actually build this as a decentralized app, you would also need to make sure that the permissions of the re-steem bot account were also decentralized. At that point, nobody would actually own the bot, so who would you send the payments to?
I get into this stuff - I think decentralization theory is really interesting, just like you. If you like thinking about this, I'd say it makes you curious. :)
To be decentralized, it seems like a minimum requirement should be something like this: you should have no single point of failure.
This is a good one!
Changing your private/public key is changing who you are no? Is like shooting yourself in the foot. This is more about ownership but maybe a better example would be multisig or that you break a key into pieces so that if it gets stolen then nothing is really lost, as others a guarding the rest of it. I'm not sure but Criag Wright talked about it in the latest Future of bitcoin presentation.
I get into this stuff - I think decentralization theory is really interesting, just like you. If you like thinking about this, I'd say it makes you curious. :)
Nice, I'll be posting in a few hours that what was uploaded just 10% last time, I'll be curious to know what you think :)
Well, I understand that a bot runs on a user's computer which reads and adds to the Steem blockchain which is then signed by witnesses. Is that not decentralized? Maybe it should run directly as an application on the witness' computer in order to be called decentralized?
Maybe I'll find out from your post :)
I'd take the view that if it's a single application running on a single computer, it's not decentralized. :)
Hehe right, let me think about it by writing it out. In theory it could be decentralized if I consider the following use case:
So the contract (application) runs on a single computer at a time but it will run on several random computers over it's lifetime, maybe by choosing time of flight for reducing latency + some randomness?
But the last part is certainly decentralized according to your definition because the checking algorithm is running on each computer since the information is copied everywhere. And maybe it should be all the time when I think about it. Each step above could be written to the blockchain but step 1. is unnecessary.
I like to think about this stuff, that makes me what? A mathematician, programmer?
I don't know if any of that makes this decentralized, to be honest. Just because data associated with the app gets stored in the blockchain doesn't mean the app is decentralized. This reply I'm writing now is going in the blockchain, but does that mean I am decentralized?
To be decentralized, it seems like a minimum requirement should be something like this: you should have no single point of failure. Even if a witness is running the code, if that witness shuts it down the whole app would be dead in the water.
So what if all the witnesses are running the code and they take turns executing the contract? That would make it more decentralized, but consider this: what if the owner of the re-steem bot account suddenly changes his private key? Then every time the witnesses running the code try to re-steem a post, the transaction would be rejected, and we would have found another single point of failure.
So to actually build this as a decentralized app, you would also need to make sure that the permissions of the re-steem bot account were also decentralized. At that point, nobody would actually own the bot, so who would you send the payments to?
I get into this stuff - I think decentralization theory is really interesting, just like you. If you like thinking about this, I'd say it makes you curious. :)
This is a good one!
Changing your private/public key is changing who you are no? Is like shooting yourself in the foot. This is more about ownership but maybe a better example would be multisig or that you break a key into pieces so that if it gets stolen then nothing is really lost, as others a guarding the rest of it. I'm not sure but Criag Wright talked about it in the latest Future of bitcoin presentation.
Nice, I'll be posting in a few hours that what was uploaded just 10% last time, I'll be curious to know what you think :)
Here's that post I talked about. Basically I think how we can flow upvotes (money) through 'curation' to the original creator even when it was linked.