Breakout session: cost model

Breakout session: cost model

April 2018 developer's conference

Questions addressed

  • When is the measure of the namespace set? and how? 

    • How do regions work? How do regions impact costing?

  • How do you split out rewards for validators?

  • How is rent distributed?

  • How do contracts move across regions?

  • What happens when a contract runs out of Phlo?

  • Does Phlo persist from block to block during computation?

  • If 2 '@foo' contracts are deployed simultaneously, how is it determined which contract points to which wallet 

Participants

  • Joseph Denman (moderator)

  • Nash Foster

  • Kyle Butt

  • Bill Willahan

  • Jamie Cook

  • Jake Gillberg

  • Dan Connley

  • Mirnal Manohar

  • Kevin Valentine

  • ?

  • Eitan

  • Kelly Foster (scribe)

Regions and impact on costing

  • If east costs more than central, and 

    • If there are more validators in a region, then it would cost more to operate in that region

    • IS there a concept of the number (min and max) of the validators in a region?

 

How do you split out rewards to the validators?

  • PROPOSAL: Distribute rewards evenly (or even stake-weighted) to validators

    • Problem: Free-riding: 

  • CONCERN: What if a validator turns on and off every 45 seconds, and then they get rewards (free-riding)

    • Free rider is a validator who watches the results of other validators and says they did it to get the reward

    • This problem is not unique to RChain. It is a problem that needs to be solved.

    • IDEA - TSA solution: To solve for an inattention problem, TSA inserts knives into bags that are not there. 

      • Insert a bogus transaction to force the network to ID, those who validate are free-riders

    • IDEA - The abusive boyfriend protocol

      • You know there are lies out there, if you sign something without checking it, then you are a free-rider

      • This is part of the consensus protocol

    • IDEA - Rewards are only distributed after the block is finalized. If you're block is not doing anything, then no rewards for you "Little Red Hen" concept

Ways to make REV

  • Inflation

  • Validation fees

How and when do fees change?

  • Cost of storage 

When is the measure of the namespace determined? How is it established?

  • ANSWER: It is determined by the region (the sum of measure of the regions) determined by the genesis block.

    • Regions establish the cost measures

  • Why can't it be the namespace?

    • Example: namespaces could come up with a costs model (A v B), but then C wants to join

    • ANSWER: This is prohibitive because it would require storage at the top

  • It is important that the measures of the regions don't change frequently because it will impact trust

  • You want namespaces that are in a federated, competitive market

    • You may decide to trade slowness for safety

    • You may decide to trade fastness for insecurity

    • What we want from the network is to have both extremes in the network

How is rent distributed?

  • Costs increase as safety goes up

    • Ideal is to find a place in the middle where the least achievable amount of safety is allowed.

What's the difference between a region and a namespace?

  • Nothing

  • A region is the smallest version of a namespace

  • This makes top-level transactions very expensive

  • It's cheaper to interact with your trusted network

  • Introduces competition based on cost (market economics)

Should validators decide costs by region?

  • Should there be a default for the region?

  • Regions determine costs, not namespaces