GNU Taler: 設計原則
GNU Taler設計時、以下のような原則を心に留めていました:
1. オープンソースの自由なフリーソフトウェア
GNU Talerは自由ソフトウェア(Free/Libre Software)でなければなりません。マーチャントにとって、自由ソフトウェアはベンダーロックインを防ぎます。つまり、マーチャントは支払い処理を行う別のサービスプロバイダーを容易に選択できます。国家にとって、自由ソフトウェアであることは、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で支払いを受け取りたいマーチャント、eコマースや他のプラットフォームのサードパーティーのアプリ開発者を含む、非専門家でも使えるものでなければなりません。GNU Talerは最善のユーザビリティーガイドラインに従わなければなりませんし、専門家とユーザーからのフィードバックを取り入れなければなりません。自由なオープンソースのフリーソフトウェアは、十分な説明を受けよく考えた上での選択ができるようドキュメントを用意しなければなりません。GNU Talerと他のプロジェクトがスムーズに結合するようなアプリケーションプログラミングインタフェース (APIs) を、GNU Taler は提供しなければなりません。
7. 効率のよいこと
GNU Talerは効率的に設計されなければなりません。簡単に言えば、効率性とは壊れる箇所が少ないことを意味し、1秒あたりの取引数が多く、環境への影響が小さいことを意味します。効率性は、GNU Talerをマイクロペイメントに利用するためにも重要です。したがって、プルーフ・オブ・ワークのような高コストな基本要素は、GNU Talerで使用してはなりません。
8. 障害に強いフォールトトレラント設計
悪意あるオペレーター、不器用な人、コンピューターの不調、破壊的な人。うまくいかないことはあるものです。GNU Talerは各コンポーネントやシステムトラブルにも強くなければなりません。システムが安全に稼働できる条件下では、安全に稼働し続けます。システムを止めなければならないとき、連携するほかのオペレーションを意味もなくオフラインにすることがあってはなりません。システムが故障するときも、損害を最小限に食い止められるしくみでなければなりません。GNU Talerは大切な秘密を漏洩しようとする悪意あるオペレーターの攻撃から回復するプランをしっかりと練っていなければなりません。
9. 競争の促進
相互運用可能な代替のアプリを競合他社が実装することも簡単であるべきです。既存の金融システムに見られるこうした障壁は思いのほか高く、我々だけで解決することはできません。しかし、GNU Talerは競合他社が新規参入する際の技術的負担を軽減しなければなりません。GNU Talerは広くたくさんの人に運用されるべきで、ほんのひとにぎりのグローバルな大企業がマーケットを独占するのを防がなければなりません。たとえば強大なひとつの組織ではなく、このシステムを小さなコンポーネントに分解して運営、開発、改善をそれぞれが自由に行える設計にするべきです。