user2402: According to Cardano's ledger spec (page 26), the purpose of witnessing is to make sure that the intended action is authorized by the holder
of the signing key, providing replay protection as a consequence. For example, the signature of a transaction and a Plutus script are both witnesses.
Witnesses are used by block producers to validate transactions. After a transaction is validated by a block producer, it will be included in a new block, which is then propagated to the network, and verified by the rest of pools. Obviously, witnesses are required as part of the block validation. However, theoretically, once a transaction is validated and included in a block, is there a strong reason to keep the witnesses in the block? Can witnesses be discarded after being used in transaction validation in order to reduce the size of the blockchain? What does the lifecycle of witnesses look like in Cardano?

user382: A witness is the public key of the signer and the signature of the txbody using that public key. That is attached to the submitted transaction. It is not possible to query witnesses from db-sync at the moment, but the raw CBOR of the transaction submitted contains all witnesses included in the transaction.

2402: <p>According to Cardano's <a href="https://hydra.iohk.io/build/7632148/download/1/ledger-spec.pdf" rel="nofollow noreferrer">ledger spec</a> (page 26), the purpose of witnessing is to make sure that the intended action is authorized by the holder
of the signing key, providing replay protection as a consequence. For example, the signature of a transaction and a Plutus script are both witnesses.</p>
<p>Witnesses are used by block producers to validate transactions. After a transaction is validated by a block producer, it will be included in a new block, which is then propagated to the network, and verified by the rest of pools. Obviously, witnesses are required as part of the block validation. However, theoretically, once a transaction is validated and included in a block, is there a strong reason to keep the witnesses in the block? Can witnesses be discarded after being used in transaction validation in order to reduce the size of the blockchain? What does the lifecycle of witnesses look like in Cardano?</p>
 382: <p>A witness is the public key of the signer and the signature of the txbody using that public key. That is attached to the submitted transaction. It is not possible to query witnesses from db-sync at the moment, but the raw CBOR of the transaction submitted contains all witnesses included in the transaction.</p>
