High level topics
- Understand enough of what we are building such that we can draw a picture of our blockchain and explain it to someone else.
Namespaces:
- Supporting 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?
- Lay out namespacing, How is the set of the namespaces going to be defined
- Who gets to say what a valid url is
- 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?
Blockchain:
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"?
Node:
...
Kent says that at the moment there is no use of asynchrony by the output of the compiler. Is there a layer between the grey JVM and the orange Rosette VM stuff that wakes up an idle Rosette VM and adds new strands?
Consensus:
- CASPER - When do we need working code? If we miss the milestone, what is our fallback plan?
- What is the data structure.
- Can Proof of Stake work at all?
Rholang:
- There is no sort of import or include statement to provide a jar file - FFI is available at the rbl level but not at the Rholang level.
- OCaps model - supply of physical capabilities provided to the interface - everything that is needed by a contract is provided on a channel.
Mercury
- What are the requirements for Mercury?
- ERC20 Contracts
- Wallet contracts that run on hundreds of nodes.
...