GNU Taler:设计原则
在设计 GNU Taler 时,我们考虑到了以下设计原则:
2.保护买家隐私
当通过技术措施保证隐私,而不是通过单纯政策保障时,隐私才是最有意义的。 如果没有默认提供隐私的技术层,金融交易会暴露不必要的个人或私人数据。在为在线出版物进行小额支付时尤其如此。 因此,GNU Taler 必须保护买家的隐私,以避免促进对人口的极权控制。 一些有限的私人数据,如实际交货的送货地址,可能需要根据业务需要收集,并根据当地法律进行保护。在这种情况下,GNU Taler必须在不再需要这些数据时尽快使其删除。
3. 可审计性——使国家能够对收入征税并打击非法经营活动
由于支付系统必须遵守当地法律才能合法运行,GNU Taler 的设计必须符合这些要求。 GNU Taler 必须为依法运作的调查人员提供审计线索。 此外,我们认为征税对社会有益,而公平的征税要求收入透明。因此,GNU Taler必须使当局能够追踪收入。
4. 防止支付欺诈
GNU Taler 必须减少最常见的支付欺诈来源。 我们必须遵循软件设计的最佳实践、防止混淆和误导用户界面的第三方设计准则,并且必须让其他人检查我们公开可用的代码。 此外,GNU Taler 必须为所有关键流程提供广泛的加密证据,以使各方能够准确地定性不良行为。
5. 收集必要的最少信息
作为原则 (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 必须支持多样化的运营商,打破目前只有少数全球公司主导市场的系统。 支持这一点的设计选择的一个例子是将整个系统拆分为更小的组件,这些组件可以独立运行、开发和改进,而不是拥有一个完全单一的系统。