You are viewing a single comment's thread from:

RE: ReSTEEM-BOT : Introduction

in #resteembot7 years ago

Just tried it so will see how log it takes to get upvoted.
then if it does within 5 minutes will see how long it takes to get resteemed with a larger payment of sbd sent out to you resteembot!
Thanks and cheers to you for this service!
:D

Sort:  

I saw your transaction and decided to check out the program.
Thanks to you I found a bug in the URL parsing.
Now that it's fixed, all new requests will receive automatic resteems.

As for the timing:
The bot can resteem 1 post per second.
It can upvote 1 post per 10 seconds.
It can comment on 1 post per 30 seconds.

If there are too many requests the comments will be late, but the resteems and upvotes will be on time.
(It is another problem that I have low SP and I can't always upvote...)

Now that I think about it, you're actually the first kind of smart contract or better decentralized application I see in action! It took me a while to realize this but now that I see it it's so cool!

Decentralized? How?

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:

  1. I have a contract
  2. my counter-party signs it
  3. our random witness signs it and runs it when it is due.
  4. 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. :)