GNU 탈러: 디자인 원칙
GNU 탈러를 고안하면서, 아래와 같은 디자인 원칙을 염두에 두었습니다:
1. 프리/자유 소프트웨어
GNU 탈러는 프리/자유 소프트웨어여야만 합니다. 상인들에게는, 프리/자유 소프트웨어가 그들의 결제를 처리해줄 서비스 제공자를 쉽게 선택할 수 있는, 벤더종속(특정 업체의 기술에 종속되는 현상)을 예방합니다. 국가에게는, 프리/자유 소프트웨어는 제한 혹은 요구사항으로 인한 주권 타협을 할 수 없다는 것을 뜻합니다. 그리고 거래소 운영자에게는, 투명성이 케르크호프스의 원리를 충족하고 대중의 신뢰를 받기 위해 중요합니다.
누구나 자유롭게 지갑 소프트웨어 지원하는 추가 플랫폼을 변형할 수 있기 때문에 고객들은 프리/자유 소프트웨어로 이득을 누릴 수 있습니다. 소스코드는 반드시 이용할 수 있어야 하며 트랙킹 혹은 측정 등 사용자에게 불편함을 주는 기능이 없는지 쉽게 입증할 수 있게 합니다.
2. 구매자의 사생활을 보호하자
사생활 보호는 단순히 정책으로만 보증되기 보다는 기술적인 조치로 보증되어야 가장 의미있습니다. 자연적으로 정보를 보호하는 기술적 단계가 없기에, 금융거래는 개인정보 및 사적정보가 불필요한 정도로 공개됩니다. 이는 온라인 발간물 구매를 위해 소액결제를 하는 경우가 특히 해당이 됩니다. 따라서, GNU 탈러는 전 인구에 대한 국가통제력 행사를 예방하기 위해 구매자의 사생활을 보호해야 합니다. 물리적인 배달을 위한 배송지 주소와 같은 제한적인 사적 정보는 업무의 필요성에 따라 수집되어야 하고 현지 법에 따라 보호되어야 합니다. 이 경우, GNU 탈러는 이러한 데이터가 필요가 없게 되자마자 삭제를 할 수 있도록 하여야 합니다.
3. 감사가능성 - 국가가 수익에 대해 과세를 할 수 있게 하고 불법적인 사업 행위을 엄중 단속할 수 있게 하자
합법적인 운용을 위해 결제 시스템은 현지 법을 준수하여야하기 때문에, GNU 탈러는 이러한 요구에 부응하기 위해 디자인되어야 합니다. GNU 탈러는 법을 근거로 조사하는 조사관의 감사 추적을 가능하게 하여야 합니다. 더불어, 우리는 세금 부과가 사회에 도움이 된다고 생각하며, 공정한 과세는 수익의 투명성을 필요로 합니다. 따라서, GNU 탈러는 당국이 수익을 추적할 수 있도록 하여야 합니다.
4. 결제 사기를 예방하자
GNU 탈러는 가장 보편적인 결제 사기를 줄여야 합니다. 모범적인 소프트웨어 디자인 및 혼선과 오해의 소지가 있는 유저 인터페이스를 예방하는 제3자 디자인 가이드라인을 따라야 하며, 저희가 대중에게 제공하는 코드를 타인이 점검하도록 해야 합니다. 더불어, GNU 탈러는 모든 당사자들이 잘못된 활동을 특정하기 위해 주요 과정 전반에서 광범위한 암호적인 증거를 제공해야 합니다.
5. 최소한의 정보를 수집하자
원칙 제2조의 일부로 구매자의 개인정보 보호는 특별히 최우선합니다. 그러나 상인처럼 다른 관계자도 데이터를 보호받아야 합니다. 대체로, GNU 탈러는 최소한의 정보만을 수집해야 합니다: 수집하지 않는 혹은 더이상 저장되지 않는 데이터는 이에 타협되지 않습니다.
6. 편리하게 하자
GNU 탈러는 GNU 탈러 지갑를 사용하는 최종 사용자(엔드유저), GNU탈러로 결제를 받고자 하는 상인들 그리고 이커머스 및 다른 플랫폼의 제3자 어플리케이션 개발자들을 포함한 비전문가 고객들도 사용할 수 있게해야 합니다. GNU 탈러는 모범 관행 사용성 지침서와 전문가와 사용자의 피드백을 포함하여야 합니다. 프리/자유 소프트웨어는 프리/자유 기록문서가 정보에 기반한 의사결정을 할 수 있도록 감안하여야 합니다. GNU 탈러와 다른 프로젝트와의 마찰이 없는 통합을 하도록 하기 위해 GNU 탈러는 잘 기록된 응용프로그램 인터페이스(API)를 제공하여야 합니다.
7. 효율적이게 하자
GNU 탈러는 효율적이도록 디자인되어야 합니다. 간단히 말하면, 효율성은 적게 파괴하는 것이고, 이는 1초당 더 많은 거래와 환경에 주는 영향이 최소화되는 것입니다. 효율성은 GNU 탈러가 소액결제에 이용되기 위해서도 중요합니다. 따라서 작업증명처럼 품이 많이 드는 예전의 것들은 GNU 탈러가 사용하지 말아야합니다.
8. 사기를 잘 예방하는 디자인
악의적인 조작, 타이핑 실수, 컴퓨터 상 작은 문제, 그렘린(기계 파괴괴물). 잘못 될 수 있습니다. GNU 탈러는 각 요소와 시스템의 실수를 예방하기위해 디자인되어야 합니다. 시스템이 안전하게 계속될 수 있으면, 계속 안전하게 진행될 것 입니다. 가동을 멈춰야한다면, 다른 활동도 불필요하게 오프라인되지 않아야 합니다. 시스템에 결함이 생기면, 부드럽게 작동이 멈춰야 합니다. GNU 탈러는 주요한 비밀정보를 노리는 악의적인 조작에서 회복할 수 있는 계획을 가지고 있어야 합니다.
9. 경쟁을 지향하자
경쟁자들이 상호 정보 교환이 가능한 대체재를 비교적 쉽게 사용할 수 있어야 합니다. 전통적인 금융시스템에서는 이러한 장벽은 높고 우리의 통제를 벗어나 있습니다. 그러나, GNU 탈러는 새로운 경쟁자가 시장에 진입할 수 있도록 기술적인 부담을 최소화해야 합니다. 소수의 글로벌 회사들이 시장을 독점하고 있는 현 시스템을 깨기 위해 GNU 탈러는 다양한 조작자들을 가능하게 하여야 합니다. 이러한 디자인적 선택의 예는 하나의 거대한 시스템이 아닌, 전체 시스템을 독립적으로 조작, 개발, 개선될 수 있는 요소로 작게 나누는 것입니다.