diff --git a/docs/assets/origin-abstraction.png b/docs/assets/origin-abstraction.png new file mode 100644 index 000000000000..eb4e0e80942e Binary files /dev/null and b/docs/assets/origin-abstraction.png differ diff --git a/docs/learn/learn-account-abstraction.md b/docs/learn/learn-account-abstraction.md index fdd0bc164617..dc19efc12d9a 100644 --- a/docs/learn/learn-account-abstraction.md +++ b/docs/learn/learn-account-abstraction.md @@ -67,10 +67,19 @@ Neither of those origins is subservient to the concept of an account or assume a or associated data. Custom origins can be created while designing your chain using the Substrate (which is part of the [Polkadot SDK](https://github.com/paritytech/polkadot-sdk)). -Accounts happen to be just one variant (or corner case) of Substrate's FRAME possible origins, the -`frame_system::RawOrigin::Signed`. In Substrate, the concept of account is completely deprioritized. -Substrate itself remains indifferent to an account's balance and nonce. While FRAME can support -their presence, it fundamentally does not need to rely on them. +The figure below shows the {{ polkadot: Polkadot :polkadot }}{{ kusama: Kusama :kusama }}'s origin +abstraction. Accounts happen to be just one variant (or corner case) of Substrate's FRAME possible +origins, the `frame_system::RawOrigin::Signed`. OpenGov origins function in a way that, if +conditions (approval and support) are met and a proposal passes, the appropriate +[origin is then associated with the scheduled call](https://github.com/paritytech/polkadot-sdk/blob/1835c091c42456e8df3ecbf0a94b7b88c395f623/substrate/frame/referenda/src/lib.rs#L884). +Those origins are caller-personas that do not have any entity behind them, and do not hold any state +on chain. + +![origin-abstraction](../assets/origin-abstraction.png) + +In Substrate, the concept of account is completely deprioritized. Substrate itself remains +indifferent to an account's balance and nonce. While FRAME can support their presence, it +fundamentally does not need to rely on them. The [Cross-Consensus Messaging (XCM)](./learn-xcm-index) format can take advantage of origin abstraction for cross-consensus communications by specifying the context for a particular message.