add docs/protocol.md