From 5415644461158a86bfb61d61f1e1050b408870cb Mon Sep 17 00:00:00 2001 From: piux2 <90544084+piux2@users.noreply.github.com> Date: Fri, 3 Mar 2023 09:57:22 -0800 Subject: [PATCH 1/3] Update 20230303_ethdenver_gnoland_plan9_as_metaverse.md --- ...03_ethdenver_gnoland_plan9_as_metaverse.md | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/presentations/20230303_ethdenver_gnoland_plan9_as_metaverse.md b/presentations/20230303_ethdenver_gnoland_plan9_as_metaverse.md index 28bfe4b..5a37244 100644 --- a/presentations/20230303_ethdenver_gnoland_plan9_as_metaverse.md +++ b/presentations/20230303_ethdenver_gnoland_plan9_as_metaverse.md @@ -1,3 +1,35 @@ +# Comments (DELETE) + +From a programmer and user perspective + +## Trustless trust. - compared with bytecode and binary + +The core value of the blockchain is providing trust in a permissionless environment with minimal trust assumptions. + +Because GNO is an interpreter language, the human-readable source code is on-chain. Therefore, we can see and verify the source code and business logic that the VM executes on the chain. It does not rely on a centralized 3rd party to provide optional verification between the source and byte codes. + + +## Safety - compared with EVM + +EVM doe not separate code location and is a variable location in VM memory. It could cause memory collisions in upgradable contracts through delegation calls. It has to be handled by developers and follow an optional EIP 1167. Because gno is an interpreter language, memory management is inherited from golang runtime. This fundamental issue does not exist. + +EVM only captures EVM stack overflow error and revert transactions in Berlin Hardfork in April 2021. It causes infamous reentry attacks possible before the Berlin release. The reentry attack must be handled at the language level; it added complexity to the solidity language and consumed unnecessary brain power from Solidity programmers. Gno VM takes care of stack overflow from day one. Therefore reentry attack is prevented automatically. + +## Simplication - comparing with Cosmos SDK + +As golang blockchain developers, we don't need to write complicated modules and coordinate the deployment amount nodes. It reduces effort and cost. Also, source code and business logic are verifiable on the chain, and it also removes trust assumptions in the cosmos module binary deployment. + +## Gno + Comsos + IBC + +Three critical features in Cosmos add significant value to the trustless trust when they are combined with Gno smart contract. + +1) Native multisign support on the chain. For contract deployment, we don't need to rely on a self-deployed or third-party multi-sig contract; it removes the trust assumption of the multi-sig contract deployer, which is controlled by a single account + +2) Multi-native token support. We do not need to keep balance and record in contract storage as in ERC20. Gno can update the native balance of each account for tokens, which can be safely be transferred through the IBC cross-chain. It removes the trust assumption of the contract deployer and bridges. + +3) Native on-chain governance. We can use native on-chain governance to minimize the trust assumption of multi-sig key holders of contract deployers. Additional voting approval can be applied to the contract managed by multi-sig key holders. + + # Who am I? * Jae Kwon * 2014: Tendermint (BFT PoS), AIB From 6b9d5095070f0f07f330750dd472567ca310070c Mon Sep 17 00:00:00 2001 From: piux2 <90544084+piux2@users.noreply.github.com> Date: Fri, 3 Mar 2023 11:15:23 -0800 Subject: [PATCH 2/3] Update 20230303_ethdenver_gnoland_plan9_as_metaverse.md fixed typo --- .../20230303_ethdenver_gnoland_plan9_as_metaverse.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/presentations/20230303_ethdenver_gnoland_plan9_as_metaverse.md b/presentations/20230303_ethdenver_gnoland_plan9_as_metaverse.md index 5a37244..be5af11 100644 --- a/presentations/20230303_ethdenver_gnoland_plan9_as_metaverse.md +++ b/presentations/20230303_ethdenver_gnoland_plan9_as_metaverse.md @@ -6,22 +6,22 @@ From a programmer and user perspective The core value of the blockchain is providing trust in a permissionless environment with minimal trust assumptions. -Because GNO is an interpreter language, the human-readable source code is on-chain. Therefore, we can see and verify the source code and business logic that the VM executes on the chain. It does not rely on a centralized 3rd party to provide optional verification between the source and byte codes. +GNO is an interpreter language. The human-readable source code is on-chain. Therefore, we can see and verify the source code and business logic that the VM executes on the chain. It does not rely on a centralized 3rd party to provide optional verification between the source and byte codes. ## Safety - compared with EVM -EVM doe not separate code location and is a variable location in VM memory. It could cause memory collisions in upgradable contracts through delegation calls. It has to be handled by developers and follow an optional EIP 1167. Because gno is an interpreter language, memory management is inherited from golang runtime. This fundamental issue does not exist. +EVM does not separate contract code and variable location in VM memory. It could cause memory collisions in upgradable contracts through delegation calls. It has to be handled by developers and follow an optional EIP 1167. Because gno is an interpreter language, memory management is inherited from golang runtime. This fundamental issue does not exist. -EVM only captures EVM stack overflow error and revert transactions in Berlin Hardfork in April 2021. It causes infamous reentry attacks possible before the Berlin release. The reentry attack must be handled at the language level; it added complexity to the solidity language and consumed unnecessary brain power from Solidity programmers. Gno VM takes care of stack overflow from day one. Therefore reentry attack is prevented automatically. +EVM only captures EVM stack overflow error and revert transactions in Berlin Hardfork in April 2021. Therefore, it causes infamous reentry attacks possible before the Berlin release. The reentry attack must be handled at the language level; it added complexity to the solidity language and consumed unnecessary brain power from Solidity programmers. Gno VM takes care of stack overflow from day one. Therefore reentry attack is prevented automatically. -## Simplication - comparing with Cosmos SDK +## Simplication - compared with Cosmos SDK -As golang blockchain developers, we don't need to write complicated modules and coordinate the deployment amount nodes. It reduces effort and cost. Also, source code and business logic are verifiable on the chain, and it also removes trust assumptions in the cosmos module binary deployment. +As golang blockchain developers, we don't need to write complicated modules and coordinate the deployment among validator nodes. It reduces effort and cost. Since source code and business logic are verifiable on the chain, it also reduced trust assumptions in the cosmos module binary. ## Gno + Comsos + IBC -Three critical features in Cosmos add significant value to the trustless trust when they are combined with Gno smart contract. +Three critical features in Cosmos add significant value to the trustless trust when we use them with Gno smart contract. 1) Native multisign support on the chain. For contract deployment, we don't need to rely on a self-deployed or third-party multi-sig contract; it removes the trust assumption of the multi-sig contract deployer, which is controlled by a single account From 1b2fb34398eb9c5bfc0cdb9ac3a5b11a1f7e171c Mon Sep 17 00:00:00 2001 From: piux2 <90544084+piux2@users.noreply.github.com> Date: Fri, 3 Mar 2023 11:26:25 -0800 Subject: [PATCH 3/3] Update 20230303_ethdenver_gnoland_plan9_as_metaverse.md --- .../20230303_ethdenver_gnoland_plan9_as_metaverse.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/presentations/20230303_ethdenver_gnoland_plan9_as_metaverse.md b/presentations/20230303_ethdenver_gnoland_plan9_as_metaverse.md index be5af11..1fba873 100644 --- a/presentations/20230303_ethdenver_gnoland_plan9_as_metaverse.md +++ b/presentations/20230303_ethdenver_gnoland_plan9_as_metaverse.md @@ -15,9 +15,9 @@ EVM does not separate contract code and variable location in VM memory. It could EVM only captures EVM stack overflow error and revert transactions in Berlin Hardfork in April 2021. Therefore, it causes infamous reentry attacks possible before the Berlin release. The reentry attack must be handled at the language level; it added complexity to the solidity language and consumed unnecessary brain power from Solidity programmers. Gno VM takes care of stack overflow from day one. Therefore reentry attack is prevented automatically. -## Simplication - compared with Cosmos SDK +## Simplification - compared with Cosmos SDK -As golang blockchain developers, we don't need to write complicated modules and coordinate the deployment among validator nodes. It reduces effort and cost. Since source code and business logic are verifiable on the chain, it also reduced trust assumptions in the cosmos module binary. +As golang blockchain developers, we don't need to write complicated modules and coordinate the deployment among validator nodes. It reduces go to market effort and cost. Since source code and business logic are verifiable on the chain, it also reduced trust assumptions in the cosmos module binary. ## Gno + Comsos + IBC