Casper needs a wallet that will not cause merge conflicts.

Description

Problem:
during deployment a wallet needs to be used to deposit funds which cover contract execution (computation cost).
this creates a merging problem - every block will write to a single wallet multiple times which will result in conflicts.

Proposed solution:
a special kind of wallet which introduces an additional layer of indirection.
this wallet identifies which validator it is being executed on and has a purse per validator.
This solves the stated problem by having a hidden layer of naming indirection.

AC:

  • the wallet has a singular well known public address

  • when accepting funds the wallet is able to spawn a non conflicting purse which will hold funds per validator

  • it is possible to "consolidate" the wallets - drain the sub-wallets into a single purse and make it available to the incentives algorithm

dependencies:

  • a map-like structure that allocates its keys as channels in the tuple space

  • peek mechanism (with merging in casper)

Status

Assignee

Unassigned

Reporter

Dominik Zajkowski

Components

Story Points

None

Epic Link

Labels

None

Sprint

Priority

Medium