Gas费用上涨,区块链上交易成本高昂。以太经典和以太坊开发团队携手创建了一座连接ETC和ETH的桥梁——和平桥(peaceBridge),希望解决高额gas费用难题,提高数字货币交易量。它引入无需信任的托管人机制,用联合签名来作为监管链,验证两条链上的跨链交易,从而降低gas消耗。此项技术,将会在
9月12日的韩国ETC大会上,正式对外发布
。
现在,ETC社区将以“ETC→ETH”为示例,提前向大家简单介绍下,
什么是
“和平桥
”
。
下注、铸币、存款
1a)
托管人将
α
个
ETC
存放到以太经典区块链上的
DepositContract
。在
DepositContract
中用户将原数字货币(这里是
ETC
)存放起来,用来在外链上交易。
α
定义了
depositCap
,表示可以存入
ETC
到
DepositContract
的最大额度。
1b)
托管人在以太坊区块链上设置
TokenContract
并在此铸造
ERC721
代币。每次铸币会产生一个
ERC721 TETC
代币。
ERC721
是一种以太坊生态中代币交互、流通的接口规范,其特点是具有不可分割性和唯一性。每个根据
ERC721
创建的代币都有
tokenId
作为唯一标识,不可分割
。
一旦建立了
DepositContract
和
TokenContract
,并且设置了
depositCap
,
ETC
到
TETC
之间的兑换就可以进行了。
注意,每一个用户都必须在,向
DepositContract
存放之前,或者同时,执行
TokenContract
铸造代币
。这可以有效防止他人恶意利用公开发布的存款来无偿地铸造他们自己的代币。
铸币和存放过程如下
:
2a
)
Alice
想用
x
个
ETC
兑换
TETC
代币以在以太坊上使用。为此,她在以太坊区块链上的
TokenContract
中铸造
x
个
TETC-A
代币。注意,
TETC-A
应该是不可分割的
ERC721
代币并且有唯一的
tokenId
。
2b
)
Alice
在以太经典区块链上的
DepositContract
中存入
x
个
ETC
并且声明她的铸币。
传输、联合签名、监管链
1. Alice
将请求发送至
TokenContract
以将
TETC-A
代币转移给
Bob
此时
declaredNonce
= 1
。如果她的转币被认可,那
TETC-A
的
transferNonce
将会由
0
变为
1
。代币的
transferNonce
在铸造时被初始化为
0
,之后每次转移被批准后
+1
,如此在监管链中形成递进表。
2.
托管人批准
Alice
的转币请求,在
transferNonce
= 1
时签名
TETC-A
的转币交易。
3. TETC-A
的归属权被成功转移到
Bob
。
transferNonce
递加
1
,表明
TETC-A
经过了一次转移。
在托管人批准
Alice
的转币请求前,
Alice
可在任何时候改变想法撤回将
TETC-A
转移给
Bob
的交易。
提款和挑战
提款人可凭
TETC-A
从
DepositContract
中
withdraw()
提取数字资产,例如本例中
Alice
存放的
ETC
。提款人必须向
DepositContract
提供以下信息:
-
uint256 _tokenId
, TETC-A
代币的唯一标识
-
bytes32[] _rawTxBundle
,
一堆有关
_withdrawalTx
,
_lastTx
,
_custodianTx
的信息
-
bytes32[] _txMsgHashes
,
_rawTxBundle
的哈希值
-
uint256 _declaredNonce
, TETC-A
被转移的次数
如果提款请求被托管人和上一个代币拥有者联合签署,
DepositContract
会开启一段挑战期。在此期间,如果有人认为提款人存在恶意欺诈行为,任何人都可以提供证据发起挑战。挑战成功的人将会获得被证明有欺诈行为的提款人的份额奖励。
不过,在挑战之前,挑战者必须以提款人份额的
20%
作为下注,以承担提款人响应挑战的
gas
费用。这样可以有效防止那些降低网络速度的无理挑战和恶意攻击。
下表显示了挑战者响应和
declaredNonce
的关系
declaredNonce
|
挑战响应
|
declaredNonce
在之前或者正在发生
(
declaredNonce
<=
transferNonce
)
|
挑战者必须证明有交易的none比
declaredNonce
大,以此证实提款人已放弃
|
declaredNonce
在未来
(
declaredNonce
>
transferNonce
)
|
挑战者必须提供能够填充
declaredNonce
和
transferNonce
之间的交易的证据。如果提款人没有回复则挑战成功。
|
此外,任何时候,如果同一代币的
相同
nounce
时
,托管人签名了多笔(一笔以上)交易,那么,可以通过
DepositContract
来证明托管人非法双签。
非法双签会受到如下惩罚:
托管人的份额中将会削减
x
个
TETC-A
代币和等量的
ETC
存款。并且,
随着被发现双签次数的增加,对托管人的惩处力度也会呈线性增长,以阻止托管人双签。
9
月
12
日的韩国
ETC