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 必须支持多样化的运营商,打破目前只有少数全球公司主导市场的系统。 支持这一点的设计选择的一个例子是将整个系统拆分为更小的组件,这些组件可以独立运行、开发和改进,而不是拥有一个完全单一的系统。