You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

73 lines
2.6 KiB

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
  1. ---
  2. layout: simple
  3. base: '../'
  4. ---
  5. # Design Notes
  6. ## Initial design choices
  7. - note that serialization with JSON doesn't guarante key's order when using maps, so for CAS storage yaml is prefered
  8. - server-side fileformat : yaml
  9. - client-side fileformat : JSON
  10. ## Language choice:
  11. serverside: perl (or nodejs)
  12. clienside: javascript
  13. ## block chain structure
  14. minimally sized blocks :
  15. - segreated signature, timestamp, audit etc.
  16. - block: {address, previous, pow}
  17. - use balances for state rather than TXO to avoid the need keep txo states, and link txi to utxo
  18. ## Networking layer choise
  19. initally we thought websocket would be the simple choice for the P2P network,
  20. however the protocol implementation in perl is a little cumbersome, so we fall back
  21. to simple tcp sockets, no ssl support for the first version !
  22. - blocking socket
  23. next version :
  24. - protocol/routing/network layer: websockets (multi nonblocking clients)
  25. ## observation ...
  26. - revokable block if sign w/ a DH on txo and ECDSA on txi
  27. - txroot (merkle root can be global)
  28. - PoW is to slow down chainupdate to avois spam
  29. - consensus is on the longest length
  30. - /!\ maximal work is hackable (as pow is exponential to difficulties)
  31. - sort of tx sequence can be done on node side
  32. - block chain can store tx out of order (FIFO style)
  33. - does mining really need to be conpetitive ?
  34. - if mining is done by all node the recipient of txo will be willing to mine!
  35. - if a .2% tax on transaction can replace/solve all VAT taxes
  36. then mining rewards is "artificially" inflated to compensate for a wasteful
  37. technology
  38. - nano-trading is stealing (i.e. taking advantage of who has the power to be informed fast)
  39. on need to put a "lowpass" filter on trading :
  40. speculation is necessary for long term protection against future uncertainty...
  41. short term predicition make no sense !
  42. long unpredictable queue time (mempools) can deter speculator as it would be like "lotery"
  43. lotery is a "gamified" tax extractor.
  44. - PoW can be replaced by ZK proof of some Work
  45. - should it be txo which carries the burden of proof of work ?
  46. - validator already do a great job making the system "alive"
  47. - block reward could be proportional to the number of tx in the block
  48. i.e. the "real" work is indeed the verif not a hash-puzzle.
  49. - How to mitigate DDoS on Mempool ?
  50. why would we want making block more and more difficult to add when technology advance ???
  51. (how to make spice of spamming constant through technology ?)
  52. ### misc & links
  53. - testing javascript with a [gist:42835214f63750080a8cb73d4be5a4a1](https://hologit-ml.ipns.cf-ipfs.com/tstanchfield/code.git)