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.
Breakout Session Topics
Day 1:Location 1 -Blockchain, Consensus and Networking (Chris, Griff, Mike, Vlad, Timm, Alex)
- Support for transactions taking place between contracts in different namespaces
- How is the ledger maintained? reference: Blockmumble
- What are the canonical set of blocks that a validator has to download?
- CASPER - When do expect to have working code?
- What is the data structure.
Day 1: Location 2 - Verticals, Industries and Applications (Medha, Lawrence, Ed, Rolland, Navneet)
- Which industries are expressing interest & we should target?
- What are the use cases that are the most compelling for these industries?
- Which markets are we going to go after in these industries (Enterprise, mid-market, SMB, VSB)
- What is the TAM (Total Addressable Market)
- What is the story we can tell if these industries solve the use cases with blockchain?
- What are the applications do we see evolving as a result
Day 1: Location 3 - Namespaces (Greg, Kent, Joe, Ian, Nash)
- Lay out namespacing, How is the set of the namespaces going to be defined
- Who gets to say what a valid url is
- Is there a registry, what does it look like, when do we need to have it in place, how is it maintained
- Can we specify statically the form of name in a namespace, so we can check it at compile time
- How do we introduce new formats for names? urls are great but dont cover everything we might want
- How do we allow nodes to define their own grammar for names?
Day 2 Location 1: Rholang Lab (Greg, Timm, Alex, Ian, Navneet, Medha)
- TBD
Day 2 : Location 2 - Block formats, types and messaging (Mike, Chris, Griff, Vlad, Kent, Rolland)
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 2 Location 3: Business Requirements (Ed, Lawrence, Nash, Joe)
- Are there special requirements for the wallet application 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)
Day 3: Location 1: Go to Market Strategy (Ed, Lawrence, Nash, Medha, Rolland)
- How will we reach our target Market?
- What is the message?
Day 3: Location 2: CASPER (Vlad, Greg, Chris, Joe, Navneet, Ian)
- What is needed in the networking layer to support the CASPER protocol?
Day 3: Location 3: Type Checker Design (Mike, Kent, Griff, Joe, Timm)
- Michael Stay (Unlicensed) - Please list any subtopics to guide the session
Day 4: Location 1: Rholang Lab (Mike, Kent, Griff, Alex, Timm)
- TBD
Day 4: Location 2: Documentation (Timm, Alex, Mike, Joe, Kent, Navneet)
- 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
ToDo: (find a spot for these items
Do we need Tuplespace (delimited continuations and Radix Tree/ Trie data structure) for Mercury?
How do we address double spend?