GNU Taler:设计原则

在设计 GNU Taler 时,我们考虑到了以下设计原则:

1. 自由软件

...在计算机领域,自由意味着不使用专利软件

GNU Taler 必须是自由软件。对于商户而言,自由软件可以防止供应商锁定,这意味着商户可以轻松地选择其他服务提供商来处理他们的付款。对于国家而言,自由软件意味着 GNU Taler 不能通过强加限制或要求来损害主权。而对于兑换处运营商而言,透明度对于满足柯克霍夫原则和建立公众信心至关重要。

客户可以从自由软件中受益,因为任何人都可以自由修改钱包软件以支持其他更多的平台。源代码必须是可用的,并且可以轻松验证是否不存在对用户不利的功能,例如跟踪或遥测。

2.保护买家隐私

你应该拥有一些隐私

当通过技术措施保证隐私,而不是通过单纯政策保障时,隐私才是最有意义的。 如果没有默认提供隐私的技术层,金融交易会暴露不必要的个人或私人数据。在为在线出版物进行小额支付时尤其如此。 因此,GNU Taler 必须保护买家的隐私,以避免促进对人口的极权控制。 一些有限的私人数据,如实际交货的送货地址,可能需要根据业务需要收集,并根据当地法律进行保护。在这种情况下,GNU Taler必须在不再需要这些数据时尽快使其删除。

3. 可审计性——使国家能够对收入征税并打击非法经营活动

洗钱

由于支付系统必须遵守当地法律才能合法运行,GNU Taler 的设计必须符合这些要求。 GNU Taler 必须为依法运作的调查人员提供审计线索。 此外,我们认为征税对社会有益,而公平的征税要求收入透明。因此,GNU Taler必须使当局能够追踪收入。

4. 防止支付欺诈

网络钓鱼攻击

GNU Taler 必须减少最常见的支付欺诈来源。 我们必须遵循软件设计的最佳实践、防止混淆和误导用户界面的第三方设计准则,并且必须让其他人检查我们公开可用的代码。 此外,GNU Taler 必须为所有关键流程提供广泛的加密证据,以使各方能够准确地定性不良行为。

5. 收集必要的最少信息

设计中的隐私,默认的隐私,符合《通用数据保护条例》(GDPR)的规定

作为原则 (2) 的一部分,买方的隐私被给予特别优先考虑。 但是,其他方(例如商户)也必须有数据保护。 通常,GNU Taler 必须收集最少的必要信息:未收集或不再需要的数据不能被不当使用。

6. 实用的

一键购买。 对儿童来说也很容易。

GNU Taler必须能够为非专业客户使用,包括GNU Taler钱包的最终用户、希望使用GNU Taler接受付款的商户以及电子商务和其他平台的第三方应用开发商。GNU Taler 必须遵循最佳实践的可用性准则,并结合专家和用户的反馈。免费/自由的软件也需要免费/自由的文档,以便作出明智的选择。GNU Taler 必须提供记录完善的应用编程接口(API),以允许 GNU Taler 和其他项目之间的无缝集成。

7. 高效的

能源效率

GNU Taler 必须被设计得高效。很简单,效率意味着更少的故障,意味着每秒更多的交易,以及更低的环境影响。效率对于 GNU Taler 用于小额支付也至关重要。因此,GNU Taler 不能使用某些昂贵的原语,例如工作量证明。

8. 容错设计

生命保障器

恶意操作员、胖手指、计算机故障、捣蛋鬼。 事情会出错。 GNU Taler 的设计必须能够容忍单个组件和系统的故障。 在系统可以继续安全运行的地方,它将继续安全运行。 当它必须停止一个操作时,其他操作不得不必要地脱机。 当系统出现故障时,它们必须优雅地出现故障。 GNU Taler 必须有一个计划来恢复恶意操作者对核心机密的破坏。

9. 促进竞争

竞争激烈的市场

竞争对手必须可以相对容易地部署可互操作的替代方案。 在传统的金融系统中,这种障碍是相当高的,超出了我们的控制范围。 但是,GNU Taler 必须尽量减少新竞争对手进入市场的技术负担。 GNU Taler 必须支持多样化的运营商,打破目前只有少数全球公司主导市场的系统。 支持这一点的设计选择的一个例子是将整个系统拆分为更小的组件,这些组件可以独立运行、开发和改进,而不是拥有一个完全单一的系统。