forked from OortConsensus/SCP
-
Notifications
You must be signed in to change notification settings - Fork 1
/
TODO
58 lines (56 loc) · 2.13 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
TODO:
Finish Consensus Stuff:
- confirmations with quorum set stuff
- creating/sending messages appropriately
Proposer Function to make new ballots
- Verify nonces on receipt of new ballot for first time
* What are the places to verify>
* Dynamic difficulty?
Writeup Paper:
- Polishing up
- More on the SCP
- Add a section on Asteroid and Comet and the differences
Clean up code
- Adding more test cases! Making tests run somewhere else than main (make test?)
- Consistently using shared pointers
- use more std::blah because apparently using namespace std is bad
- DRY up consensus countings
FakeRPCLayer -> TCPRPCLayer or UDPRPCLayer or Byzantine RPC Layer
- Resending
- Signing messages
- Forwarding messages
- Peering
- memcpy messages in fakerpc layer!
Node/Network:
Being able to join at any time/bootstrapping :: Low priority because they can just propose a bunch of shit to peers
Proposer Function to make new ballots
- Verify nonces on receipt of new ballot for first time
* What are the places to verify>
* Dynamic difficulty?
DONE:
Finish Consensus Stuff:
- incrementing ballots? -- Pretty sure (JHH)
- only broadcast messages to your peers
- only let messages from your peers change your state.
Proposer Function to make new ballots
- Picking a slot
- Use light HashCash for random timeouts?
- confirmations with quorum set stuff
- creating/sending messages appropriately
- incrementing ballots?
Writeup Paper:
- Journey into Stellar/Our summary of how the protocol works
- Design overview
+ Why we chose C++
+ What we got done/what is left
+ paste in consensus critical code
State Machine(s)
- Key Value store
* Append
Node/Network:
Message
serialize
Change RPC Layer Queue to be using json strings
FakeRPCLayer -> TCPRPCLayer or UDPRPCLayer or Byzantine RPC Layer
Memory Management
- Clean up memory leaks :: Would be good to do