How it works:
Root port sends BPDUs every 2 seconds. If non-root switch stops receiving BPDUs over Root port for 20 seconds, it starts the Listening and Learning process on the Blocked port. Failover time is 50 seconds.
RST improves convergence time. Instead of having a Blocked port and spending too much time in Listening and Learning, we have Alternate port. Basically it's a second best port if Root port fails. When Root port fails, switch waits max time out (20 seconds) and starts forwarding traffic over the new Root port
When port flaps, switch sends TCN (topology change notification) message, which forces all switches to re-calculate the root switch. This is not very efficient when port towards the client flaps. In order to mitigate that, customer facing port is configured with spanning-tree portfast. This port will be always on (forwarding).
We should not receive BPDUs on the customer facing ports. There is a feature which sets the port to err-disabled state if switch receives a BPDU on that port.
Configuration on the Root switch to protect hijacking the Root role. Configured on the ports.
Instead of sending BPDU for each VLAN, MSTP aggregates VLANs into the instances and send a single BPDU for that group.
On Arista, by default MST instance 0 is created and all VLANs belong to that instance.