Git Product home page Git Product logo

Comments (4)

ivan-homoliak-sutd avatar ivan-homoliak-sutd commented on July 24, 2024

It is not clear how will be nodes added to the list. Can anybody make an entry and act as a delegated staking node?

  • If yes, then one entity might get multiple entries and dominate the voting process.
  • If not, assuming that some voting is required, then why would existing nodes opt to decrease their relative staking share by adding a new node to the contract?
    • it would require service on each node that would continuously check other nodes and their correct staking while reacting in the case of misbehavior (sending some slash vote tx).
    • it seems that most of the conditions you mention cannot be validated by contract, and it would need to use the voting and approval by a majority (possibly weighted by their deposit).

Minor comment: the whole design should be denoted as a delegated staking.

from one-wallet.

polymorpher avatar polymorpher commented on July 24, 2024

I think we shouldn't just allow everyone to automatically become a node at the beginning. There should be a quick approval process by voting. Existing nodes are incentivized to add new nodes because that increase the total capacity of the nodes. Note that a note cannot get more shares from the pool than their credit limit, and their credit limits are determined by the deposit they put in and the reward they accumulated so far. If there is too few nodes (and too little deposit) there would be too much left-over in the contract's pool, left un-staked.

Yes, most conditions cannot be validated by the contracts. There is simply no opcodes that allow us to query the state of the blockchain with respect to staking, and/or any historical transaction. That's also why I highly disfavor this design (hence calling it a poorman's version) and would rather wait until #9 is implemented. But I was told it is going to take at least 2+ more months.

It is not clear how will be nodes added to the list. Can anybody make an entry and act as a delegated staking node?

  • If yes, then one entity might get multiple entries and dominate the voting process.
  • If not, assuming that some voting is required, then why would existing nodes opt to decrease their relative staking share by adding a new node to the contract?
    • it would require service on each node that would continuously check other nodes and their correct staking while reacting in the case of misbehavior (sending some slash vote tx).
    • it seems that most of the conditions you mention cannot be validated by contract, and it would need to use the voting and approval by a majority (possibly weighted by their deposit).

Minor comment: the whole design should be denoted as a delegated staking.

from one-wallet.

ivan-homoliak-sutd avatar ivan-homoliak-sutd commented on July 24, 2024

So, to me, it means that there is no fixed total reward per block that validators "compete" on. (If there would be, the nodes would not decrease their relative chance of earning it by adding new nodes.) Instead, the total block reward is given by some linear function dependent on the total state => the more total stake, the higher block reward, and vice versa.

Because Harmony has capped total supply, it should not impact inflation long term; it might impact it only short term since the speed of mining is increased.

Is it correct?

from one-wallet.

polymorpher avatar polymorpher commented on July 24, 2024

This is superseded by new smart-contract staking mechanisms described in #9 (comment)

from one-wallet.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.