Goals
- Common understanding of Mercury and its requirements. Every one of us should be able to answer "what about... " questions with respect to Mercury if cornered.
- Identify major gaps in Documentation and make sure someone is assigned to resolve it.
- Do some coding together in Rholang. Write contracts.
...
Day 2 Location 1: Rholang Lab (Greg, Timm, Ian, Navneet, Eitan, Kyle)
- TBD
Day 2: Location 2: CASPER (Vlad, Mike, Chris, Joe, Navneet, IanMichael, Dan, Kent, Griff)
- Addressing shell games that amount to finding consensus assuming you have already got consensus...
- Betting requires fungibility between forks. How do we solve this in POS Consensus - what is the asset external to the system to create consensus?
- If we define consensus inductively, there is a time window over which a network split absolutely cannot happen. There is no value for this time window that makes network splits not happen.
- What happens when a validator leaves for several months and then returns - how is trust re-established without opening the network to attack?
- How do we address the problem with the first induction window, in which you cannot possibly have bonded validators, and you must fall back to centralized selection.
- Will increasing the induction time to 7 days resolve the problem.
- Do we have a solution to the Prisoner's dilemma? reference:
- Transaction receipts (in lieu of every validator validating every shard that shares cross-shard state) create a Prisoner’s dilemma. It doesn’t matter if you model the self-referential consensus-by-betting with the Pi calculus, because such a process model does not model such economically driven externalities.
- How does one identify the list of validators at any given time? (It's not clear to it will work as described, may simply need clarification)
How do we address double spend?
For the Mercury release do we plan to have our staking token implemented "natively" - specifically, such that we can do the equivalent of msg.sender.send(amount) in Ethereum? Or are we just going to use the token.rho contract for our staking tokens too?
...
Day 2 Location 3: Business Requirements (Ed, Lawrence, Nash, JoeMedha, MedhaRolland)
- Are there special requirements for the wallet application for Mercury?
- Do we need MULTI-SIG support for Mercury
- Based on the industries and applications from Day 1 - define business requirements for the applications.
- Why do we want to integrate with BTC and ETH in time for Mercury (source: ECDSA Secp256k1 curve for BTC and ETH from WBS)
- What is not part of Mercury?
- What of Ethereum's road map? Do we address any of the items in Mercury?
Day 3: Location 1: Go to Market Marketing Strategy (Ed, Lawrence, Nash, Medha, Rolland, Ian)
- How will we reach our target Market?
- What is the message?
- What are we doing to create buzz?
- What is the value prop?
Day 3 : Location 2 - Block formats, types and messaging (Greg, Chris, Griff, Vlad, Michael, Dan, Navneet)
What hashes are there, and what do they look like?
What data is common to all blocks?
- Are there types of blocks, if so, how many types, and what is the specification of each type?
What is the size of a block? Can block sizes vary?
Are there "light blocks" constructable for "light clients".
...
Day 4: Location 1: Rholang Lab (Greg, Chris, Griff, Kyle, Michael, Dan, Navneet Vlad)
- TBD
Day 4: Location 2: Documentation (Timm, Mike, Joe, Kent, Navneet, Eitan, Kyle)
- Who will need documentation
- What portions of the system need documentation
- Who will complete the documentation, what is the timeline.
...
Day 4: Location 3: Release Management and OSS Relations (Nash, Ian, Rolland, Medha, Lawrence)
- Communicating releases to the OSS
Account abstraction? Allow for someone else to pay for another person's contract - in a nutshell
Seems like a very high value feature.
Notion of who pays and what do they pay with? What if there were no tokens involved at all? Someone else pays for the execution.