diff --git a/CIP-0164/README.md b/CIP-0164/README.md
index 782d45fbb2..973a83d291 100644
--- a/CIP-0164/README.md
+++ b/CIP-0164/README.md
@@ -80,6 +80,7 @@ technical resources, visit the Leios Innovation R&D site at
- [Incentives](#incentives)
- [Adaptive EB production](#adaptive-eb-production)
- [Hardware upgrade](#hardware-upgrade)
+ - [Clients](#clients)
- [Rationale: how does this CIP achieve its goals?](#rationale-how-does-this-cip-achieve-its-goals)
- [How Leios addresses CPS-18](#how-leios-addresses-cps-18)
- [Evidence](#evidence)
@@ -1452,6 +1453,24 @@ demonstrated in the [operating costs analysis](#operating-costs), SPO
profitability improves significantly once sustained throughput exceeds 30-50
TPS, providing clear economic incentives for infrastructure upgrades.
+### Clients
+
+Changes proposed for Ouroboros Leios will require changes to the node-to-client
+(N2C) mini-protocols used by client applications throughout the ecosystem.
+Concrete decisions will likely naturally surface through various
+implementations, however some care should be taken to minimize ecosystem
+disruption.
+
+An [Impact Analysis][impact-analysis] has been done and continued discussion
+is necessary. One recommendation is to serve a modified block with "inline"
+EB transactions over LocalChainSync. Additional queries and ledger state may
+be extended to provide Leios specific information to applications. It is
+assumed nodes providing client interfaces will provide the modified block
+to clients.
+
+A [CDDL for merged blocks](#merged-block-cddl) is available in Appendix B.
+
+
## Rationale: how does this CIP achieve its goals?
Ouroboros Leios introduces a committee-based voting layer over Nakamoto-style
@@ -2515,6 +2534,7 @@ usual mechanisms of governing a hard-fork will be employed.
- **Threat model** — [Report #1][threat-model]
- **Leios attack surface** — [Report #2][threat-model-report2]
- **Node operating costs** — [Cost estimate][cost-estimate]
+- **Impact analysis** - [Impact][impact-analysis]
**Related**
@@ -2596,6 +2616,9 @@ usual mechanisms of governing a hard-fork will be employed.
[cost-estimate]:
https://github.com/input-output-hk/ouroboros-leios/blob/d5f1a9bc940e69f406c3e25c0d7d9aa58cf701f8/docs/cost-estimate/README.md
"Leios node operating costs"
+[impact-analysis]:
+ https://github.com/input-output-hk/ouroboros-leios/blob/4603cfd0b545cccf3d7c8fddc75e6e0f182f132a/docs/ImpactAnalysis.md
+ "Impact Analysis"
@@ -2770,6 +2793,45 @@ tx_reference =
]
```
+**Merged Block**
+
+```diff
++ merged_block =
++ [ header : block_header
++ , transaction_bodies : [* transaction_body]
++ , transaction_witness_sets : [* transaction_witness_set]
++ , auxiliary_data_set : {* transaction_index => auxiliary_data}
++ , ? eb_certificate : leios_certificate
++ , ? eb_tx_references : [* tx_reference]
++ ]
+
++ block_header =
++ [ header_body : block_header_body
++ , body_signature : kes_signature
++ ]
+
++ block_header_body =
++ [ block_number : uint
++ , slot : slot_no
++ , prev_hash : hash32
++ , issuer_vkey : vkey
++ , vrf_vkey : vrf_vkey
++ , vrf_result : vrf_cert
++ , block_body_size : uint
++ , block_body_hash : hash32
++ , ? ( announced_eb : hash32
++ , announced_eb_size : uint32
++ )
++ , ? certified_eb : bool
++ ]
+
++ ; Reference structures
++ tx_reference =
++ [ tx_hash : hash32 ; Hash of complete transaction bytes
++ , tx_size : uint16 ; Transaction size in bytes
++ ]
+```
+
**Votes and
Certificates**