mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-05 04:55:18 +00:00
ci: add markdown linter (#146)
This commit is contained in:
@@ -41,10 +41,9 @@ and that the node may not be able to keep the connection persistent.
|
||||
These are IDs of the peers that we do not add to the address book or gossip to
|
||||
other peers. They stay private to us.
|
||||
|
||||
|
||||
## Unconditional Peers
|
||||
|
||||
`--p2p.unconditional_peer_ids “id100000000000000000000000000000000,id200000000000000000000000000000000”`
|
||||
|
||||
These are IDs of the peers which are allowed to be connected by both inbound or outbound regardless of
|
||||
These are IDs of the peers which are allowed to be connected by both inbound or outbound regardless of
|
||||
`max_num_inbound_peers` or `max_num_outbound_peers` of user's node reached or not.
|
||||
|
||||
@@ -30,11 +30,11 @@ If a pong or message is not received in sufficient time after a ping, the peer i
|
||||
|
||||
Messages in channels are chopped into smaller `msgPacket`s for multiplexing.
|
||||
|
||||
```
|
||||
```go
|
||||
type msgPacket struct {
|
||||
ChannelID byte
|
||||
EOF byte // 1 means message ends here.
|
||||
Bytes []byte
|
||||
ChannelID byte
|
||||
EOF byte // 1 means message ends here.
|
||||
Bytes []byte
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -29,10 +29,10 @@ Both handshakes have configurable timeouts (they should complete quickly).
|
||||
Tendermint implements the Station-to-Station protocol
|
||||
using X25519 keys for Diffie-Helman key-exchange and chacha20poly1305 for encryption.
|
||||
|
||||
Previous versions of this protocol suffered from malleability attacks whereas an active man
|
||||
Previous versions of this protocol suffered from malleability attacks whereas an active man
|
||||
in the middle attacker could compromise confidentiality as decribed in [Prime, Order Please!
|
||||
Revisiting Small Subgroup and Invalid Curve Attacks on
|
||||
Protocols using Diffie-Hellman](https://eprint.iacr.org/2019/526.pdf).
|
||||
Protocols using Diffie-Hellman](https://eprint.iacr.org/2019/526.pdf).
|
||||
|
||||
We have added dependency on the Merlin a keccak based transcript hashing protocol to ensure non-malleability.
|
||||
|
||||
@@ -46,10 +46,10 @@ It goes as follows:
|
||||
- compute the Diffie-Hellman shared secret using the peers ephemeral public key and our ephemeral private key
|
||||
- add the DH secret to the transcript labeled DH_SECRET.
|
||||
- generate two keys to use for encryption (sending and receiving) and a challenge for authentication as follows:
|
||||
- create a hkdf-sha256 instance with the key being the diffie hellman shared secret, and info parameter as
|
||||
- create a hkdf-sha256 instance with the key being the diffie hellman shared secret, and info parameter as
|
||||
`TENDERMINT_SECRET_CONNECTION_KEY_AND_CHALLENGE_GEN`
|
||||
- get 64 bytes of output from hkdf-sha256
|
||||
- if we had the smaller ephemeral pubkey, use the first 32 bytes for the key for receiving, the second 32 bytes for sending; else the opposite.
|
||||
- get 64 bytes of output from hkdf-sha256
|
||||
- if we had the smaller ephemeral pubkey, use the first 32 bytes for the key for receiving, the second 32 bytes for sending; else the opposite.
|
||||
- use a separate nonce for receiving and sending. Both nonces start at 0, and should support the full 96 bit nonce range
|
||||
- all communications from now on are encrypted in 1024 byte frames,
|
||||
using the respective secret and nonce. Each nonce is incremented by one after each use.
|
||||
@@ -99,14 +99,14 @@ type NodeInfo struct {
|
||||
}
|
||||
|
||||
type Version struct {
|
||||
P2P uint64
|
||||
Block uint64
|
||||
App uint64
|
||||
P2P uint64
|
||||
Block uint64
|
||||
App uint64
|
||||
}
|
||||
|
||||
type NodeInfoOther struct {
|
||||
TxIndex string
|
||||
RPCAddress string
|
||||
TxIndex string
|
||||
RPCAddress string
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user