Layer 2 Theory and Design Best Practices