开源P2P电子商务项目Tanglefy的交易拆分探讨

前天,我们提到了由IOTA和Tangle支持的开源P2P电子商务项目-Tanglefy,这种去中心化的电商平台完全摒弃了传统平台疯狂的从顾客(卖家、买家)身上榨取利润的作法,他们不仅从顾客身上收取各种费用,甚至利用顾客的个人信息再次牟利。

而基于IOTA的Tanglefy则大大减少了传统平台的各种费用,分布式帐本技术则让P2P电子商务变得更加透明,安全,并尊重用户的隐私,为参与各方(包括卖家、买家、平台以及Tangle)带来众多益处。

我们同时在上述文章中提到Tanglefy开发团队目前正在研究交易的拆分,其开发者之一Lewis Daly在近日发表了一篇博文,讲述了这个功能的目的,他们计划如何实现这个功能以及存在的问题和其中的利弊,感兴趣的朋友可以关注一下,甚至可以与项目团队取得联系,直接与他们探讨或者把你想到的更优秀的方法告诉他们。

开源P2P电子商务项目Tanglefy的交易拆分探讨

为什么要拆分交易?

我最近加入了Tanglefy团队,帮助他们构建电子商务的未来。

我们首先需要解决的一个关键挑战是如何实现一种在Tangle中拆分交易的方法。在Tanglefy的情况下,平台可以通过这种方式收取少量的费用来维持运营。我们也可以想象由于其他原因的需要而拆分交易,例如,你可以使用这种方法在产品销售时自动向供应商付款,或者一个产品可以有2个或更多的参与方一起销售,每一方都会获得预先确定的收入分成。

现在我要指出的是,这是一种集中式的交易拆分方法,截至目前,IOTA无法像其他分布式分类帐技术一样以无需信任的方式对此进行操作。我们希望,随着神秘项目Q的正式发布,我们能够扩展这一想法。

在这篇文章中,我将概述我们如何计划在Tangle中实现这种交易拆分的基本架构。

这种方法是否完美?不。

这种方法是否会面临一些安全缺陷?有可能。

这对我们双方来说都是一个学习的机会吗?是的。

让我们在下文中深入探讨。

整体的设想

下面是我们需要采取的步骤,以便将Tangle中的单笔交易转化为2个或更多。

在我们做这个之前,让我们取一些名字先:

  • 我们将拆分交易的服务视为拆分网关。
  • 我们把从买方到拆分网关的第一个交易称为输入交易。
  • 从拆分网关到卖方的交易称为输出交易。

一个订单中的交易拆分流程:

  1. 买方查询拆分网关API并获取他们应该支付的地址(注:这是一次性地址)!
  2. 拆分网关创建一个pending状态的新交易记录。
  3. 买家通过Tanlge支付,然后通知拆分网关已付款,以及一些识别元数据,例如交易和bundle的id。
  4. 拆分网关等待交易在Tanlge中确认,然后它根据定义的规则将输入交易的价值划分为(比如,50-50,或更多的70-30分割)。
  5. 然后,拆分网关获取输出交易的每个地址(例如Tanglefy和卖方)。
  6. 把这些交易提交给Tangle。
  7. 一旦所有输出交易都被确认,拆分网关就会将交易状态更新为“已处理”状态。
  8. 最后,通知卖家发货,并通知买方交易已成功完成。

上述的情景是否合理?我仍然需要一些帮助,所以我画了一些图片来帮助大家更好的理解:

开源P2P电子商务项目Tanglefy的交易拆分探讨

可能的缺点

以上方法需要解决一些问题:

交易失败的情况如何处理?

IOTA免费的优点让我们不会把钱浪费在收费上,但我们仍然需要一种容错方案,并且可以回滚交易。也许在步骤1中,如果任何下游支付失败,用户可以发送给拆分网关一个可以支付退款的地址。这种方法存在的一个问题是,由于下游的支付需要被撤销,因此拆分网关可能会被掏空。

这种方法依赖于第三方的状态。

是的我知道。理想情况下,我们可以通过Tangle来管理状态。我目前正在使用MongoDB来跟踪输入和输出交易的状态。也许我们可以想出一个巧妙的方法来维持在Tangle中的状态,但我们仍然需要一个数据库来管理用户登录,api Key等。

DDOS

我们不必太担心这一点,因为如果输入交易的价值为0时,我们可以简单地确保不启动下游交易即可。也许唯一需要担心的是大量的小型交易,但是再次申明,这是IOTA的全部特性之一。

获取下游支付地址

这是我有点担心的一个。由于地址重用的预防措施,因此每次为下游付款获取新地址都是理想的选择,以防卖家重复使用地址的情况发生。对于输入支付,这不是问题,因为我们可以使用拆分网关来存储种子,但是如果输出交易的其中一个收款人从那个地址中花费,我们就会遇到麻烦。

一种选择是为每个收款人创建一个持仓账户(holding account)。然后收款人可以手动清空这个账户,每次给我们提供一个唯一的地址。另一种选择是每个收款人都运行一个小型服务器,可以根据其种子生成一次性地址。拆分网关可以与服务器进行身份验证,每次需要付款时都会获得一次性地址。

我得仔细考虑一下。

如果我们解决这个问题,这种方法可能是提高在Tangle中的支付效用的一种好方法。向DLT中添加费用是为了更好的免费,它使新的应用和服务能够以小额支付方式存活并提供更好、费用更低廉的服务。我们需要让服务长期稳定的运营,对吧?

我甚至可以想象,在某个阶段,这些拆分网关可以向其他拆分网关支付,这使得复杂的货币路由变得超级简单,这一切都要归功于Tangle。

正如我上面所说的,我已经在建立一个POC来研究这种方法的可行性如何。我相信我会继续学习。如果您有兴趣与我们共同探讨,请查看我们的repo。事实上,如果您想在这个项目上有所贡献,请随时与我们取得联系!目前我们正在寻找各种开发人员。

我想我肯定会多次修改这个设计,并且我会喜欢你的建议和意见!欢迎随时在IOTA discord上联系@lwilld。

 

相关链接:

原文链接:https://medium.com/@lewdaly/splitting-transactions-on-the-tangle-ed02676ccd74

Tanglefy介绍:https://www.iotachina.com/tanglefy-ecommerce.html

Tanglefy官网:https://www.tanglefy.com

Tanglefy Github:https://github.com/raafaell/Tanglefy

Tanglefy前置文档:https://docs.google.com/document/d/1awpiNEcL6UG3gjkeW6p4ot2ZfTFjxngi8g3h8GZqVxY/edit

胖子李

专栏作者:胖子李

个人简介:我共发表了 190 篇文章,总计被阅读了657,781 次,共获得了 1,884 个赞。

作者邮箱 作者主页 Ta的文章

发表评论

邮箱地址不会被公开。 必填项已用*标注