web3-虚拟合约 vs 现实合同:权利、义务与资产的链上新秩序

web3-虚拟合约 vs 现实合同:权利、义务与资产的链上新秩序

一、智能合约vs真实世界合约

传统合约:基础要素

如下图,现实世界的合约,会有一个条款,然后下面还有一个“Alice”的签名
提出合约和接受合约;
考虑;
双方之间的协议;
合法性和履约能力;
在这里插入图片描述

例子:代币销售

Bob 是一个接收方,Bob至少支付高于1个以太坊给Alice,然后Alice给Bob对应的catToken

contract ContractOffer {
	address payable public Alice = address(0x0);
	address payable public Bob = address(0x0);
	// Hardcoded address of the CAT token 
	Token public CatToken = Token(address(0x0));
	
	function bobAcceptsOffer() public payable {
		require(msg.sender == Bob); // Only offered to Bob
		require(msg.value == 1.0ether); // Payment must be 1 ETH
		require(now <= 1613937837); //Offer good through Feb 21
		
		// Transfer the payment to Alice
		Alice.transfer(1.0ether);
		
		// Transfer the CAT token to Bob
		CatToken.transfer(Alice,Bob,1.0);
	}
}

传统合约的看法

  • 提出合约和接受合约
    • 要接受合约,必须对交易进行数字签名。Alice必须提前将资产转移到合约中
  • 考虑
    • 付款以区块链中的本币收取
  • 双方协议
    • 合约的高级代码通常会发布
  • 合法性和履约能力
    • 合约代码的执行自动在支付的同一笔交易中进行数字资产的转移
“智能合约”概念化 by Szabo in 1994

智能合约是一种执行合约条款的计算机化交易协议

总体目标是满足合同条件(例如支付条款、留置权、保密性、强制执行性),最大限度地减少恶意的外部情况,并最大限度地减少对受信任中间的需求。 相关的经济目标包括 降低欺诈损失、仲裁和执行成本 以及其他交易成本。

二、以太坊上的同质化代币和非同质化代币

什么是代币?

代币是一个充当数字资产的一个智能合约
在这里插入图片描述
非同质化代币==>NFT
在这里插入图片描述

NFT遵循的一些标准

在这里插入图片描述

NFT的一个交易模版

contract NonFungibleToken {
	struct Record {
		string description;
		address owner;
		bool exists;
	}
	
	mapping (uint => Record) public table;
	uint public nextid = 0;
	
	function ownerOf(uint id) view public returns(address) {
		return table[id].owner;
	}
	address public administrator;
	constructor () public { administrator = msg.sender;}
	
	function mint(string memory description) public {
		require(msg.sender == administrator);
		require(table[nextid].exists == false);
		table[nextid].exists = true;
		table[nextid].owner = msg.sender;
		table[nextid].description = description;
		nextid +=1;
	}
	function transfer(uint id,address to) public {
		require(table[id].exists);
		require(ownerOf(id) == msg.sender);
		table[id].owner = to;
	}
}

在这里插入图片描述

ERC20定义基本代币的行为界面

Basic functionality:

function totalSupply() contant returns (uint256 totalSupply)
function balanceOf(address _owner) contant returns (uint256 balance)
function transfer(address _to,uint256 _value) returns (bool success)

Delegating control:

function transferFrom(address _from,address _to,uint256 _value) returns (bool success)
function approve(address _spender,uint256 _value) returns(bool success)
function allowance(address _owner,address _spender) constant returns (uint256 remaining)

总结

本文探讨了web3时代智能合约与传统合同的区别,以及区块链资产的新形态。传统合同依赖法律框架,而智能合约通过代码自动执行,降低信任成本。文章详细分析了同质化代币(ERC20)和非同质化代币(NFT)的技术实现,包括智能合约代码示例。NFT通过唯一标识符实现数字资产确权,ERC20则定义了代币的基本操作接口。这些技术正在重塑数字世界的权利、义务与资产交易秩序,推动去中心化的新经济模式发展。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全干engineer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值