Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Comments: Update 20230303_ethdenver_gnoland_plan9_as_metaverse.md #6

Closed
wants to merge 3 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions presentations/20230303_ethdenver_gnoland_plan9_as_metaverse.md
Original file line number Diff line number Diff line change
@@ -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.

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 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. 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.

## 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 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

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

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
Expand Down