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. Сбор минимально необходимого объёма информации для осуществления финансовых операций
Сохранение конфиденциальности персональных данных покупателей является для нас приоритетом (см. также наш второй принцип). Несмотря на это, мы также должны обеспечить защиту персональных данных других участников процесса, таких как продавцов. Как правило, только минимальный объём информации, необходимой для осуществления финансовых операций, должен быть собран через GNU Taler, так как данные, которые не накоплены или более не хранятся в системе, не могу быть скомпрометированы.
6. Простота в использовании
GNU Taler должна быть простой в использовании для неспециалистов, включая конечных пользователей кошелька Taler, таких как продавцов, которые хотят использовать GNU Taler как свою платёжную систему, и внешних разработчиков приложений для электронной коммерции и других платформ. Мы должны руководствоваться лучшими практиками в отношении удобства и простоты использования системы и учитывать комментарии разработчиков и конечных пользователей. Свободное программное обеспечение также должно сопровождаться соответствующим руководством по работе, свободной документацией, для обеспечения информированного выбора. GNU Taler должна предоставлять хорошо документированный API (Application Programming Interfaces) для реализации идеальной интегрировании между GNU Taler и другими системами.
7. Эффективность
GNU Taler должна быть эффективной, это означает: меньше неисправностей, больше финансовых операций в секунду и наименьшее воздействие на окружающую среду. Принцип эффективности также критичен для использования GNU Taler в работе с микроплатежами. Поэтому определенные дорогостоящие и элементарные принципы, такие как, например, доказательство выполнения работы (proof-of-work), не должны быть использованы GNU Taler.
8. Устойчивая к сбоям разработка
Операторы-злоумышленники, ошибки ввода, сбой компьютера, неопытные работники. Бывает всё. GNU Taler должна быть разработана таким образом, чтобы оставаться устойчивой к сбоям индивидуальных компонентов и системы в целом. Если система может продолжать работать безопасно, она будет продолжать работать безопасно. Если система должна прервать операцию, остальные операции не должны быть без необходимости отозваны в режим оффлайн. Если в системах происходит сбой, это должно происходить корректно. У GNU Taler должен быть план по восстановлению после действий операторов-злоумышленников, которые могут скомпрометировать ключевую секретную информацию.
9. Содействие развитию конкуренции
Конкуренты должны относительно легко внедрять взаимоисключающие альтернативы. Препятствующие этому барьеры традиционной финансовый системы достаточно высоки и вне нашего контроля. Однако GNU Taler должна минимизировать техническое бремя для новых конкурентов при выходе на этот рынок. GNU Taler должна помочь различным группам операторов всколыхнуть существующую систему, где только несколько глобальных компаний доминируют рынок. Пример проектного решения, содействующего этому, - разделить всю систему на более маленькие компоненты, которыми можно управлять, которые можно разрабатывать и усовершенствовать по отдельности, вместо того, чтобы иметь одну полностью монолитную систему.