技术领域
本发明公开了一种以太坊中交易隐私保护方法,其通过将支付通道思想引入去中心化混币方案,使得双方的中间交易过程在链下进行,只将最终的交易结果记录到区块链上。优化后的去中心化混币协议可以确保在以太坊上实现交易隐私保护,同时提升交易的效率,降低交易的成本。本方法属于隐私保护技术领域,是一种以太坊中交易隐私保护方案的扩展。
背景技术
由于没有可信中心机构的存在,为确保区块链上数据一致性,区块链网络中所有节点都在本地存储一份交易历史记录。尽管区块链上账户采用伪匿名技术,但是攻击者仍可以采用去匿名化技术将用户在区块链上的账户地址与现实世界中的真实身份对应。另一方面,由于区块链上交易账单公开透明,因此攻击者可以获得账户余额、消费习惯等用户私有信息。这对区块链上交易隐私产生了极大的威胁。
目前针对以太坊上交易隐私问题,研究人员已提出的方法有混币方案、环签名、零知识证明、可信执行环境等,其中混币方案为普遍的交易隐私保护方法。下面主要介绍一下混币方案。在混币方案中,发送方向混币器存款,接收方从混币器存款,其中可利用环签名和零知识证明等技术断开发送方和接收方间的交易关系。按照混币器的实现方式,可将混币方案分为两类,一类是中心化的混币方案,其中可信第三方充当混币器,该中心化方案简单、易于实现,但是存在安全和隐私问题,可信第三方可能存在偷币、泄露隐私等行为;另一类是去中心化的混币方案,其中智能合约充当混币器,该去中心化方案有较高的安全隐私保证,但是方案计算量大、消耗的成本较高。
下面详细介绍一下利用智能合约实现的去中心化混币方案。在去中心化混币方案中,票据是一个重要的数据结构,类似支票,票据由票据持有人、票据面额以及票据随机数组成。与票据有关的两个概念是票据承诺和票据序列号,票据承诺用来隐藏票据信息,票据序列号用来表示该票据是否被花费。与票据有关的两个操作包括新票据的创建和旧票据销毁。去中心化混币机制主要包含3个步骤:1)存款:发送方向混币合约中存款一定金额的以太币,混币合约中生成等价的票据;2)转账:发送方销毁混币合约中自己未花费的票据,同时创建属于接收者的新票据;3)取款:接收方销毁混币合约中自己的某个票据,将该票据兑换为等量的以太币。
由于去中心化混币方案中涉及零知识证明等复杂的密码学计算,因此方案中相关操作可能会消耗大量Gas,增加交易隐私保护的成本。为了解决该问题,我们将支付通道思想引入去中心化混币方案。支付通道的关键思想是,在区块链上记录交易的最终结果而忽略双方间交易的中间过程。由于中间交易链下进行,所以支付通道方案中交易快速且较低交易费用。目前已有的支付通道实现方案包括比特币中的闪电网络、以太坊中的雷电网络等。受支付通道方案启发,我们在去中心化混币方案中创建支付通道,双方间交易的中间过程转移到链下进行,只将最终的交易结果记录到区块链上。本发明可以确保在以太坊上实现交易隐私保护,同时提升双方间交易的效率,降低交易的成本。
发明内容
[发明目的]:为了解决去中心化混币方案Gas消耗较多、成本较高的问题,本发明提出了将支付通道思想引入去中心化混币方案,旨在减少双方中间交易过程的Gas消耗。
[技术方案]:本发明方案主要包括以下内容:
1)发送方创建支付通道
发送方利用已存款的票据创建通道票据,其作为与接收方间的支付通道,通道中的存款即为通道票据的面额。例如,发送方Alice选取2个混币合约中未花费票据note
2)发送方向接收方转账
发送方对通道中存款进行重新分配,将交易信息链下发送给接收方。例如,通道拥有者Alice利用通道票据chnt
3)接收方关闭支付通道
接收方将最新收到的交易信息发送给混币合约,将票据再兑换为等量的以太币。例如,接收方Bob将从发送方Alice那收到的最新的交易信息发送给混币合约,混币合约验证通过后关闭支付通道。
[有益效果]:本发明创造性地将支付通道思想引入去中心化混币方案,确保在以太坊上实现交易隐私保护,同时提升双方间交易的效率,降低交易的成本。
[附图说明]:
图1去中心化混币方案基本模型;
图2支付通道方案基本模型;
图3去中心化混币方案的混币机制;
图4引入支付通道的去中心化混币方案中通道相关操作。
[具体实施方式]:
为了使本领域技术人员更好地理解本发明中的技术问题、技术方案和技术效果,下面结合附图和文档对本发明作进一步详细说明。
如附图4所示,本方案将支付通道思想引入去中心化混币方案,使得双方间交易的中间过程在链下进行,只将最终的交易结果记录到区块链上。利用承诺和零知识证明方案,确保在以太坊上实现交易隐私保护,同时提升双方间交易的效率,降低交易的成本。
1.发送方创建支付通道
发送方利用已存款的票据创建通道票据,作为与接收方间的支付通道,通道中的存款即为通道票据的面额。由于交易中的信息通过承诺方案进行隐藏,因此需要对交易的正确性进行证明,同时不泄露私有信息。例如,发送方Alice选取2个混币合约中未花费票据note
2.发送方向接收方转账
发送方对通道中存款进行重新分配,将交易信息链下发送给接收方。例如,通道拥有者Alice利用通道票据chnt
3.接收方关闭支付通道
接收方将最新收到的交易信息发送给混币合约,将票据再兑换为等量的以太币。例如,接收方Bob利用从发送方Alice那收到的最新的交易信息tx’
本发明的效果可以通过以下安全分析进行进一步说明。
1.防止双花攻击
为防止通道拥有者同时向多个接收方进行转账,我们规定发送方在创建通道时指定通道接收者,即chnt
2.防止通道拥有者关闭通道时提交非最新交易
由于交易中的转账金额为截至目前发送方需要向接收方转账的总金额,如果通道拥有者关闭通道时存在不诚实行为,即提交非最新交易,那么接收方实际收到的转账低于预期。为防止通道拥有者关闭通道时提交非最新交易,我们规定通道只能由通道接收方进行关闭,显然,接收方必然会提交最新收到的交易,使其利益最大化。具体实现为,在通道票据中引入困难问题,即chnt
3.防止通道接收者永不关闭通道
由于支付通道只能由通道接收者关闭,随之带来的问题是,如果接收方不愿意关闭通道,即使个人利益也会受到损害,那么通道拥有者在通道中剩余的存款将无法取出。为了防止通道接收者永不关闭通道的行为,我们规定发送方在创建通道时指定通道的截止时间,即chnt
机译: 去中心化交易所进行保证金借出和交易的方法和系统
机译: 去中心化交易所进行保证金借出和交易的方法和系统
机译: 去中心化,防篡改,面向资产的数据库系统和记录交易的方法