You are viewing a single comment's thread from:

RE: POCKET Announcement

in #pocket7 years ago

For sure an interesting experiment. I am really happy to see this kind-of research and development going on with Steem. I'm a little confused about some of your choices with the implementation. Considering that we are dealing with value here, why not use active-key+custom_json_operation instead? Consider if POCKET became a very valuable currency, but a popular posting-key accepting website got hacked and private keys were stolen. Every participant on that website would potentially get all there funds drained out. Also, consider that you're implementing a 60s block-time time on what could be a 3s block time. If you're familiar with C++ I highly recommend you go back and reimplement this as a Steem plugin for witnesses to run. As awful as that sounds, it's actually significantly easier to do what you're trying here. Thanks again for all the hard work and research on this project. I wish all participants a successful launch.

Sort:  

Absolutely agree with everything you've said. Active key, Custom_json, and a plugin will definitely the right way to do all of this.

I had essentially one reason for not doing all that: I wanted it to be completely interoperable with existing interfaces. Once you start using custom_json, you need to create a new interface or update old ones; I was trying to demonstrate that this is not necessary. Requiring active keys would rule out people who log in with their posting key; I wanted it to be as inclusive as possible. I agree, the security tradeoff is unfortunate.

A couple other notes:

  1. Perhaps the fee should be a percentage instead of flat. With the current fee structure outlined, these coins can really be 100% used up, which isn't a good property.
  2. Block mining algorithm isn't fair to miners. Witnesses have a distinct advantage as they know what's in the blocks first. If core-witnesses start running this application they will have an undisruptable oligopoly and there will be no incentive for anyone to run the blockchain.
  3. Distribution algorithm isn't fair, see Sybil attacks. I understand what you were going for. Everybody is equal, a fresh start, no whales. But in practice that's not going to happen. The noganoos and ubgs of the world are going to Sybil attack this coin to get as much as they initially can and in the process devalue everyone else's coins.
  4. comment-based tipping is still very possible. I would suggest a system where to bulk of coins is stored in a savings account and segments can be put into a tipping-account which can be spent with posting keys. To move funds out of the savings account requires active key permissions.
  5. Please make sure comment_options operation is considered valid in validators.py, otherwise this will not work with Chainbb or Busy as you've described.
  1. Fee is not burned; it's collected by confirmer account.
  2. If witnesses run the confirmers, that doesn't seem like a problem to me. If the witnesses are good enough for Steem, I suspect they're good enough for pocket.
  3. Pocket is weakly Sybil-resistant. Of the 300,000+ Steem accounts, fewer than 60,000 are eligible - you must have posted 5 comment operations before the creation of the genesis post. Crude, I know - but perhaps not totally ineffective. We'll see.
  4. Great idea.
  5. comment and comment_options are two separate operations, yes? The comment_options op will simply be ignored by the pocket protocol, which is fine - it's the comment operation that contains the command of interest.

Again, thanks for the comments.

  1. You're totally right. I've also come to terms with the fact it's not percentage based because the idea is 1 POCKET isn't ever going to be worth much. Not worth crying about for a fee. My concern was that if I'm tipping 1.5 POCKET because of how valuable it is that the 1 POCKET fee would be too expensive. With this flat fee system, we don't get any ugly decimal balances.
  2. My point was that there would literally be no incentive for anyone to run the POCKET DB at that point. Only the witnesses. Leading it to be highly centralized. I was also thinking, there is no penalty for falsely assuming that a transaction is valid and posting the verification message. The balance information can be found querying for previous comments mentioning the user's balance. No need to actually run the database. Even if it's only an effective strategy (found user's POCKET balances and made a verification comment in time) 33% of the time, it's virtually free compared to running a full steem node and validating the database. To combat the issues listed above I suggest that in order to claim a reward, you must post the hash of the database state. Since reliance on specific implementations is generally frowned upon, you would have to come up with some algorithm that defines how to hash database state. That could be something as simple as breaking the database down into a CSV file and hashing the CSV file. At least that shows you're storing the whole database and not using the strategy I outlined above.
  3. Fair enough. I think that's a fine measure.
  4. Thanks.
  5. You're so right. I was mistaken.

Point 2 brings up a couple very important things which I thought about informally, and I'd want to include in future iterations of this. I'll contact you if I get that far.

Really great points and questions. POCKET is already being refined.
I may be wrong but this seems like more of a social experiment than anything. To see what people do with it. Because regardless of if the coin becomes "valuable" the applications of which POCKET can be used are still vast.....
The experiment has already begun and look we have qualified intelligent people already discussing and refining the potential!
So cool!

Both of your points and reasoning are sound for different factors. Isn't there some way for this to be forked or changed in the future if it does become valuable?
I mean this is really cool and I am excited about the potential but it seems like more than anything its a social experiment right?
To see what people do with POCKET?

Spot on. It would be really easy to fork new projects off of this.

Cool, Im not a techie but this what my deduction abilities brought me to. Thanks for the answer!
Makes this project all the more awesome!
Excited to see what comes of this!

SteemON!

Thank you for your great points.