From 8fd0555c9dcd4f4ffab13547ff9f7e85d54afefb Mon Sep 17 00:00:00 2001 From: Keith Yeung Date: Tue, 6 Jun 2023 16:21:51 +0800 Subject: [PATCH 1/5] Update interoperability.md --- src/overview/interoperability.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/overview/interoperability.md b/src/overview/interoperability.md index 3760425..4cac012 100644 --- a/src/overview/interoperability.md +++ b/src/overview/interoperability.md @@ -1,21 +1,21 @@ # Introduction -XCM is a messaging format, a language, designed to enable seamless communication between different consensus systems, for example blockchains and smart contracts. -XCM was originally developed for the [Polkadot](https://polkadot.network/) ecosystem, but was designed to be general enough to provide a common language for cross-consensus communication that can be used anywhere. +XCM is a messaging format, a language, designed to enable seamless communication between different consensus systems. Examples of consensus systems are blockchains and smart contracts. +XCM is originally developed for the [Polkadot](https://polkadot.network/) ecosystem, but is designed to be general enough to provide a common language for cross-consensus communication that can be used anywhere. XCM is a language in which interactions (programs) can be written. It aims to provide better interoperability between consensus systems, both more features and a better user and developer experience. Its goal is to let blockchain ecosystems thrive via specialization instead of generalization. -If there's no interoperability, a chain is forced to do everything on its own. -With XCM, a chain can specialize and do what it does best, while still getting the benefits from interacting with others. +If there's no interoperability, a chain is forced to host all services and support all functionalities on its own. +With XCM, we are able to achieve an ecosystem-wide division of labour: a chain can specialize and focus on its own business logic, and leverage the benefits of depending on other specialized blockchain for services that it does not provide. -XCM has four high-level core design principles which it stands to follow: -1. Asynchronous: XCM messages in no way assume that the sender will be blocking on its completion -2. Absolute: XCM messages are guaranteed to be delivered and interpreted accurately, in order and in a timely fashion. Once a message is sent, one can be sure it will be processed as it was intended to be. -3. Asymmetric: XCM messages, by default, do not have results that let the sender know that the message was received - they follow the 'fire and forget' paradigm. Any results must be separately communicated to the sender with an additional message back to the origin. +XCM has four high-level inherent design assumptions: +1. Asynchronous: XCMs in no way assume that the sender will be blocking on its completion +2. Absolute: XCMs are guaranteed to be delivered and interpreted accurately, in order and in a timely fashion. Once a message is sent, one can be sure it will be processed as it was intended to be. +3. Asymmetric: XCMs, by default, do not have results that let the sender know that the message was received - they follow the 'fire and forget' paradigm. Any results must be separately communicated to the sender with an additional message back to the origin. 4. Agnostic: XCM makes no assumptions about the nature of the consensus systems between which the messages are being passed. XCM as a message format should be usable in any system that derives finality through consensus. -XCM is a work-in-progress, the format is expected to change over time. +XCM is a work-in-progress; the format is expected to change over time. It has an RFC process to propose changes, which end up in newer versions, the current one being v3. To keep up with the development of the format, or to propose changes, go to [the XCM format repository](https://github.com/paritytech/xcm-format). From 855c6a18ac8f37ec1cf80c9dc01cb60ab6b6e872 Mon Sep 17 00:00:00 2001 From: Keith Yeung Date: Wed, 7 Jun 2023 20:34:37 +0800 Subject: [PATCH 2/5] Update src/overview/interoperability.md Co-authored-by: Francisco Aguirre --- src/overview/interoperability.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/overview/interoperability.md b/src/overview/interoperability.md index 4cac012..3342f7a 100644 --- a/src/overview/interoperability.md +++ b/src/overview/interoperability.md @@ -1,6 +1,6 @@ # Introduction -XCM is a messaging format, a language, designed to enable seamless communication between different consensus systems. Examples of consensus systems are blockchains and smart contracts. +XCM is a messaging format, designed to enable seamless communication between different consensus systems. Examples of consensus systems are blockchains and smart contracts. XCM is originally developed for the [Polkadot](https://polkadot.network/) ecosystem, but is designed to be general enough to provide a common language for cross-consensus communication that can be used anywhere. XCM is a language in which interactions (programs) can be written. From 62f2ede45996e5a662363c6ff65b979f100ff55d Mon Sep 17 00:00:00 2001 From: Keith Yeung Date: Wed, 7 Jun 2023 20:34:49 +0800 Subject: [PATCH 3/5] Update src/overview/interoperability.md Co-authored-by: Francisco Aguirre --- src/overview/interoperability.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/overview/interoperability.md b/src/overview/interoperability.md index 3342f7a..e5394d1 100644 --- a/src/overview/interoperability.md +++ b/src/overview/interoperability.md @@ -1,7 +1,7 @@ # Introduction XCM is a messaging format, designed to enable seamless communication between different consensus systems. Examples of consensus systems are blockchains and smart contracts. -XCM is originally developed for the [Polkadot](https://polkadot.network/) ecosystem, but is designed to be general enough to provide a common language for cross-consensus communication that can be used anywhere. +XCM comes from the [Polkadot](https://polkadot.network/) ecosystem, but is designed to be general enough to provide a common language for cross-consensus communication that can be used anywhere. XCM is a language in which interactions (programs) can be written. It aims to provide better interoperability between consensus systems, both more features and a better user and developer experience. From 7bc4625b2a644564a302cc478859b20bf19a67d3 Mon Sep 17 00:00:00 2001 From: Keith Yeung Date: Wed, 7 Jun 2023 20:35:01 +0800 Subject: [PATCH 4/5] Update src/overview/interoperability.md Co-authored-by: Francisco Aguirre --- src/overview/interoperability.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/overview/interoperability.md b/src/overview/interoperability.md index e5394d1..812966b 100644 --- a/src/overview/interoperability.md +++ b/src/overview/interoperability.md @@ -3,8 +3,6 @@ XCM is a messaging format, designed to enable seamless communication between different consensus systems. Examples of consensus systems are blockchains and smart contracts. XCM comes from the [Polkadot](https://polkadot.network/) ecosystem, but is designed to be general enough to provide a common language for cross-consensus communication that can be used anywhere. -XCM is a language in which interactions (programs) can be written. -It aims to provide better interoperability between consensus systems, both more features and a better user and developer experience. Its goal is to let blockchain ecosystems thrive via specialization instead of generalization. If there's no interoperability, a chain is forced to host all services and support all functionalities on its own. From 252a16a422153c946ff5f4ef46edf4c559f0c09f Mon Sep 17 00:00:00 2001 From: Keith Yeung Date: Wed, 7 Jun 2023 20:38:10 +0800 Subject: [PATCH 5/5] Update src/overview/interoperability.md --- src/overview/interoperability.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/overview/interoperability.md b/src/overview/interoperability.md index 812966b..480e784 100644 --- a/src/overview/interoperability.md +++ b/src/overview/interoperability.md @@ -10,7 +10,7 @@ With XCM, we are able to achieve an ecosystem-wide division of labour: a chain c XCM has four high-level inherent design assumptions: 1. Asynchronous: XCMs in no way assume that the sender will be blocking on its completion -2. Absolute: XCMs are guaranteed to be delivered and interpreted accurately, in order and in a timely fashion. Once a message is sent, one can be sure it will be processed as it was intended to be. +2. Absolute: XCMs are assumed to be delivered and interpreted accurately, in order and in a timely fashion. Once a message is sent, one can assume that it will be processed as intended. 3. Asymmetric: XCMs, by default, do not have results that let the sender know that the message was received - they follow the 'fire and forget' paradigm. Any results must be separately communicated to the sender with an additional message back to the origin. 4. Agnostic: XCM makes no assumptions about the nature of the consensus systems between which the messages are being passed. XCM as a message format should be usable in any system that derives finality through consensus.