EOS:EOS上如何实现UTXO功能?

UTXO究竟是什么?

UTXO的全称是UnspentTransactionOutput。这概念首先是在比特币中使用,是个输出类型,可以是“没花出去的”或“花出去的”。一个钱包的余额,是追踪所有可花费的UTXO,把它们加起来的总和。在交易时,支出方钱包花出去多个UTXO,主网系统将生成新的UTXO到收取方钱包,如果收取方要“找零”给支出方,新的找零UTXO也会生成并返回到支出方钱包。所有UTXO显示的额度都是固定的,也改变不了,用户不能只花一部分UTXO,而是要全部花出去。

用UTXO模型实现交易环节

这些设计上的限制是UTXO的特色。UTXO不可变的特点,让程序员可基于UTXO开发出隐私算法。CoinJoin?是个很好的隐私算法案例,它就是用我们今天公布的代码做出来的!

Shardeum发布Sphinx Dapp 1.5.6更新内容:金色财经报道,Shardeum官方在社交媒体发布Sphinx Dapp 1.5.6更新版本说明,其中包括:节点列表同步V2、归档器之间的数据同步、丢失节点调查、网络配置变量等更新内容。[2023/9/6 13:21:31]

代码

pEOS团队致力于提供实用工具,以保护全世界人民的经济隐私。我们在最先进的区块链平台上,通过先进且高效的算法,实现交易的不可追溯性。

这个目标比打造pEOS更艰巨,我们的使命也涵盖了:市场教育、用户支持、工具开发、为EOS区块链赋予隐私相关的功能与技术。我们深信这么做能加速EOS生态多方全面的成熟。

基于这个理念,我们今天发布了一个智能合约,为基于EOS的代币实现比特币的?UTXO?功能。

基于Cardano的DApp Revuto完成170万美元融资:基于Cardano的DApp Revuto完成170万美元融资,Black Dragon领投。Revuto将利用这笔资金促进其大规模采用。(U.Today)[2021/5/18 22:14:53]

我们今天发布的代码,是在pEOS项目早前探索期写的。虽然有段时间了,但仍然非常有用。我们希望能协助其他项目团队,把真正的UTXO应用于他们的项目代币或项目本身中。

这个智能合约在基本代币协议之上,新增两个指令:loadutxo?与?transferutxo。在一般的EOS账号中,用户可执行?loadutxo?指令将资金转换成新的UTXO,执行?transferutxo?实现UTXO的完整交易。

日本加密货币交易所Coincheck与Dapper Labs合作将NFT引入日本:据官方消息,日本加密货币交易所Coincheck宣布与Dapper Labs合作,将NFT引入日本主流受众。Coincheck将选择上架一系列NFT,首款上架的是Flow区块链上发行的CryptoKitties。[2020/10/6]

在UTXO模型下的交易指的是输入一定数量的UTXO,输出一定数量新的UTXO,和比特币的交易方式是一样的。对于最常见的交易指令,可以执行Github代码库里的命令行工具。此工具也可做为钱包,用于钥匙管理。

在Jungle测试网络上体验

这个系统已经部署于Jungle测试网络,大家可以使用命令行工具做测试。在测试网络上的智能合约名是netpeostoken。不用任何实参调用此工具将显示帮助画面:

动态 | DAppTotal 数据:跨ETH/EOS/TRON/IOST四大公链,DApp活跃度排行榜:据 DAppTotal 12月09日数据显示,过去一周,综合对比ETH、EOS、TRON、IOST四大公链的DApp生态情况发现:总用户量(个): ETH(210,963) > TRON(60,967) > EOS(16,971) > IOST(4,583);总交易次数(笔):EOS(264,099,447) > TRON(4,766,942) > ETH(1,069,396) > IOST(476,637);总交易额(美元):EOS(73,126,391) > ETH(37,142,291) > TRON(23,596,901) > IOST(1,816,732);跨四条公链按用户量TOP3 DApps为:BeeHive(TRON)、HEX(ETH)、Maker(ETH);按交易次数TOP3 DApps分别为:EIDOS(EOS)、WINk(TRON)、Dice(EOS);按交易额TOP3 DApps分别为:Newdex(EOS)、EIDOS(EOS)、WINk(TRON)。[2019/12/9]

操作输入时,在命令名后面加上?--help?将可获得更多帮助信息。

声音 | Trust Wallet创始人:苹果正采取措施抑制DApp:币安旗下以太坊移动钱包Trust Wallet的创始人Viktor Radchenko发布推文称,Trust Wallet被迫删除其列出的DApp建议列表,以符合App Store即将推出的指导方针。DApp伤害了苹果的商业模式,因此他们正采取措施抑制DApp的采用。据悉,App Store已在过去一周第二次拒绝Trust Wallet列出DApp建议列表。Radchenko表示,苹果不允许应用程序提及DApp和收藏品,这适用于应用程序的屏幕截图和说明。[2019/5/5]

获得钱包信息,请使用balance命令如下:

获得UTXO的分析画面,请使用?balance-u?命令如下:

我们可以看到,这个钱包一共有98.0000PEOS,由2个UTXO构成,其中一个是88.0000PEOS,而另一个是10.0000PEOS,上述余额在EOS账号中是看不到的!

现在,我们试着把11.0000PEOS的资金转给另一个人,他的地址是?EOS8Dj5BLdUe1iAi6xNJnZ3bvNEMxDHX6bf4DGesA8USTwj4byJES?。操作非常简单:

依据工具的UTXO选择策略,这将会把我们的2个UTXO都花掉,同时生成2个新的UTXO,其中一个进入收取方的账号,另一个“找零”回到我们的账号。现在我们执行新的balance命令,看看我们的UTXO:

你可以看到,一个新的地址产生了,在这个地址里有我们的“找零”,而原先的UTXO被花掉了。

transfer命令也可以用来执行“从”一个EOS账号转“到”另一个EOS账号。如果操作者在“from”与“to”的地址填写处,输入EOS账号名而不是EOS地址,工具将执行合适的指令,完成转账交易。

如果你需要收进PEOS,你可以使用?receive?命令,操作如下:

你就可以把这个地址发给对方,让对方付PEOS给你。

此工具版本用了EOSIO原生钱包来创造并保护钥匙,同时为交易签名。我们建议用户使用?cleos?工具创造新的钱包,并安置工具于?clpeos?的配置中。

这工具还有很多功能,但超出了本文章的介绍范围。其他功能包括,输出交易但不传递信息、传播已撰写的交易。

pEOS的UTXO与Everipedia的Pay2Key“UTXO”区别在哪?

我们实现UTXO的方案与Everipedia的区别在哪?哪个更匹配开发者的需求?来看看以下几点:

Everipedia的解决方案不能结合多个UTXO为复合交易做新的输出,所以做不到CoinJoin那样的匿名性。

EveripediaUTXO不具备独特性且数值是可改变的。pEOS的UTXO方案完全遵循正真正UTXO的定义,与比特币、门罗币等主流币的UTXO定义一致。Everipedia的方案需要持续追踪每个账号,记录UTXO的数值更改情况。如果开发者想要以太坊的记账系统,Everipedia方案就更加合适。

按时间排序的额交易记录会出现问题。

EveripediaUTXO方案使用IQ_UTXO代币为媒介,而不是IQ。pEOS的方案可配合任何代币使用,不需要使用其他指定代币。

可见,两种方案各有用处。Everipedia的方案可实现简易的记账、便捷的钱包功能,但实现不了?CoinJoin、RingCT、MimbleWimble?的算法。

pEOS提议的方案,复制了比特币的UTXO模型,能实现所有隐私算法,实现真正的匿名性。

结语及pEOS的下一步

随着本次源代码的发布,我们希望能帮助所有EOS智能合约开发者。在此必须强调,这不是我们在白皮书中承诺的pEOS技术,这只是其中的5%。这也不是我们的钱包架构,我们将在未来的文章中介绍钱包架构。代码库里的命令行钱包工具只适用于UTXO合约测试,未做用户体验优化。

在接下来的开发进度文章中,我们将聚焦在优化的议题上,讨论如何优化UTXO的验证、创造“SegWit”模式的交易以释放出EOS主网的带宽及CPU资源。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:0ms0-5:45ms