title: p2p protocol on top of TLS, synchronizing intermediate certificates
body: <p>Imagine a bitcoin-like network where peers communicate using a custom protocol on top of TLS. When connection between two peers is being established each party verifies each other's certificate.
  Root certificate is shipped with the software.</p>
  
  <p>There might be intermediate certificates which will be created after software is shipped. The question is what is the best approach for delivering new intermediate certificates when they are created and how to implement certificate revocation? </p>
  
  <p>For example there are 2 peers <code>p1</code> and <code>p2</code> with certificates <code>c1</code> and <code>c2</code>, each of them is signed by an intermediate certificates <code>i1</code> and <code>i2</code>, which are signed by the root certificate. </p>
  
  <p>Right now I can imagine it can be implemented using a centralized server which provides a list of all intermediate certificates issued and peers just pull this data from time to time to keep their local copy up to date. </p>
  
  <p>Is there a common way on how to approach this problem? </p>