Veilid للنقل. Monero للتسوية. ولا مشغّل بينهما.
لا يوجد خادم لـ DUCAT في أي مكان — جهات الاتصال والرسائل والفواتير والإيصالات كلها سجلات على شبكة DHT وحمولات مختومة من طرف إلى طرف، وكل هاتف يشغّل عقدة Veilid كاملة، فيعيد ما يأخذه من توجيه وتخزين.
موقّع للتنقيح، على stagenet فقط. ليس لمال حقيقي بعد.
كان الدوكات عملة ذهبية مقبولة من البندقية إلى فيينا إلى بلاد الشام على مدى ستة قرون — بلا علاقة مع جهة إصدار، وبلا حساب خلفها، وبلا إذن ملحق بها. و DUCAT هو ذلك بعينه، للحظة التي تقف فيها أمام إنسان وتعقد معه صفقة.
جهات الاتصال والفواتير والمدفوعات والإيصالات تسير على هيئة حمولات مختومة من طرف إلى طرف فوق شبكة DHT الخاصة بـ Veilid. لا شيء يُستدعى قضائيًا، ولا يُخنق، ولا يُطرد من منصّة، ولا يُطفأ، لأنه لا شيء يعمل أصلًا. كل هاتف عقدة كاملة، ويعيد ما يأخذه من توجيه وتخزين.
يُصنع على الهاتف. لا بريد إلكتروني، ولا رقم هاتف، ولا جهة تسجّل لديها — ولهذا السبب نفسه لا يستطيع أحد أن يستعيدها لك، والتطبيق يقول ذلك بصوت عالٍ بدل أن يدفنه.
تناول أحدهم بطاقة — رمز QR، أو رابط ducat:، أو لمسة NFC — وهي صالحة
لشخص واحد. ومتى استُلمت توقّفت عن العمل، فلقطة شاشة تسرّبت إلى مكان آخر
ليست مدخلًا.
تشفير على هيئة X3DH، بمفاتيح تمهيدية تُستعمل مرة واحدة وسرية أمامية. وحين يضطر التطبيق للتراجع إلى المفتاح التمهيدي الموقّع، يريك قفلًا مفتوحًا بدل أن يخفي ذلك.
خيوط قائمة على صندوق بريد تعمل حتى لو كان أحد الطرفين خارج الاتصال — تحمل فواتير مفصّلة بالبنود يجب أن تُجمع سطورها فتساوي الإجمالي وإلا رُفضت الرسالة، وتحمل المدفوعات، وإيصالات يصدرها المستلم وتشير إلى المعاملة التي تقرّ بها. والمجموعات الصغيرة تتوزّع على الخيوط الثنائية نفسها: لا مفتاح للمجموعة، ولا سجل مشترك، وكل خاصية من خصائص الخيط كما هي.
كل لقطة في هذه الصفحة هي التطبيق يعمل على هاتف حقيقي، لا نموذجًا تجريبيًا. ولا شيء هنا يطلب منك التسجيل، لأنه لا توجد جهة تسجّل لديها.
هويتك زوج مفاتيح يُصنع على الجهاز — لا بريد إلكتروني، ولا رقم هاتف، ولا جهة تسجّل لديها، ولهذا السبب نفسه لا يستطيع أحد أن يستعيدها لك. والخطوة الأخيرة هي النسخة الاحتياطية، لأن محفظة لا تستطيع استعادتها هي الطريق الوحيد الذي يخسر به المرء ماله هنا حقًا.
محفظة Monero بحفظ ذاتي، مع تحويل إلى العملة المحلية في كل شاشة، يمسحها ويصرف منها محرّك monero-oxide مدمج — بلا أي خدمة محفظة تعمل في الخلفية على الهاتف.
عند الدفع يظهر المبلغ، ورسوم الشبكة التقديرية، والإجمالي، وما يبقى لديك بعدها، وكم ورقة سيُنفق، وكم يستغرق تقريبًا — ويترك لك اختيار السرعة. والسجل يُعاد بناؤه من السلسلة: المبالغ المرسلة تُعرف بصورة المفتاح، والباقي لا يظهر أبدًا كدخل، وكل سطر يحمل الرصيد الجاري، والكشف كله يُصدَّر بصيغة CSV.
يصرف Monero أوراقًا منفصلة لا رصيدًا، لذا قد تعجز محفظة تحمل ورقة واحدة كبيرة عن الدفع مرتين متتاليتين. يحصي التطبيق الأوراق القابلة للصرف ويقول لك أن تفكّ واحدة قبل أن تقف عند المحاسب، بدل أن يخذلك هناك.
جهة الاتصال زوج مفاتيح، لا معرّف. مسحة واحدة تفتح محادثة قائمة على صندوق بريد تعمل حتى لو كان أحد الطرفين خارج الاتصال — وتلك الخيوط تحمل تجارة، لا نصًّا فحسب.
تناول أحدهم بطاقة — برمز QR، أو رابط ducat:، أو لمسة NFC — وهي صالحة لشخص
واحد: ومتى استُلمت توقّفت عن العمل، فلقطة شاشة تسرّبت إلى مكان آخر ليست مدخلًا.
المجموعة قائمة لا تفعل إلا أن تكبر، وكلامها يركب سجل لوحة مشتركًا واحدًا لكل جيل (§16.24): كل عضو يكتب صفحاته تحت مفتاح مجموعة تحمله القائمة، فتصير الرسالة إلى خمسة أشخاص كتابةً واحدة بدل خمس، ولا تستطيع الشبكة أن تميّز ذلك السجل عن أي سجل آخر. لا أحد ينتحل أحدًا، والخروج شأن محلي. وتستطيع المجموعة أن تقسم فاتورة: يصير المجموع الواحد طلبًا منفصلًا لكل شخص، ومعه جملة يستطيع الجميع أن يراجعوا عليها الحساب، وينقلب كل طلب إلى مدفوع ما إن يصل سنده.
اختر واحدًا من تسعة أوضاع فيسلّم التطبيق كله المقود — بألسنته الخاصة، ولا يبقى شيء من المحفظة. ولم يحتج معظم ذلك إلى كائن جديد في البروتوكول، وهذه هي الجملة التي تفخر بها المواصفة أكثر من غيرها.
نقطة البيع تسجّل الأصناف أو تقبل إجماليًا مكتوبًا، وتحسب ضريبة المبيعات لمنطقتها، وتعرض رمزًا واحدًا؛ فتصل الفاتورة إلى هاتف الزبون لحظة مسحه لها، ويعود الإيصال حين يدفع. والحساب المفتوح يبلّغ الزبون بكل كأس ويُغلق بفاتورة واحدة. والكشك يسلّم الهاتف كله للزبون، ولوحة العاملين خلف رمز PIN. وصندوق التبرّعات يفتح السبيلين معًا: رمز DUCAT يفتح محادثة ويعيد إيصالًا ما إن يصل المال، وعنوان دائم يمكن لأي محفظة Monero أن تعطي له — وكلفة إمكانية الربط مذكورة على الشاشة لا في سياسة مكتوبة.
اكتب إلى أين أنت ذاهب. يحوّل هاتفك موضع GPS إلى خلية جغرافية — لوحة إعلانات عامة عنوانها المكان نفسه — ثم يعلّق نداءً: بطاقة تُستخدم مرة واحدة، ومنطقة تقريبية، وعرضًا محسوبًا من مسار القيادة الحقيقي. ولا اسم يصعد إلى اللوحة — لا على البطاقة ولا في السجل الذي خلفها. يراقب السائقون خليتهم والخلايا المجاورة فيلتقطونه؛ والحَكَم في هذا السباق هو شبكة DHT، ولا وسيط موجود أصلًا.
الخط الأخضر هو بيت القصيد: أسعار DUCAT أدنى بنحو ١٥٪ ممّا تتقاضاه منصّة من الراكب، والسائق يحتفظ بها كلها — حصة المنصّة الغائبة، رُدّت إليهما معًا. والقبول يصل ومعه وجه: الاسم والسيارة واللون واللوحة ووقت الوصول — مختوم إلى الراكب وحده، ولا يُعرض على اللوحة أبدًا. أما اسمك أنت والمدخل الذي تقف عنده فيذهبان في الاتجاه المعاكس في اللحظة نفسها، إلى السائق الوحيد الذي التقط النداء.
تنازل واحد، مذكور بصراحة على الشاشة: البحث عن العناوين، وحساب المسار، ومربّعات الخريطة كلها تسأل OpenStreetMap — وهو الموضع الوحيد الذي يرسل فيه DUCAT الموقع خارج الجهاز. أما اللوحات نفسها فلا تحمل أبدًا دقة أفضل من نحو ١٫٢ كم.
الآلية نفسها في اللوحات تحمل أكثر من الرحلات. إعلان في السوق، أو تأجير، أو ساعة من مساعدة ماهرة — كلها تُعلَّق على لوحة عنوانها الحي، فيقرؤها غريب قريب منك دون أن يمسّ أيٌّ منكما أي منصّة.
الإعلانات تجلس على لوحات أخشن من النداءات — نحو خمسة كيلومترات عرضًا، لأن الناس يتنقّلون من أجل حزمة مفاتيح. والبحث يقرأ لوحتك والحلقة المحيطة بها، ويرسم النتائج كلما ردّ أحدها، فيظهر ما هو متوقّف قربك على الشاشة في أقل من ست ثوانٍ، بينما تستغرق «لا شيء معروض هنا» أربعين ثانية تقريبًا، وتشطب المناطق واحدة تلو الأخرى وهي تمضي.
استمارة الإعلان مقسومة نصفين، والتطبيق يخبرك أيّ نصف هو أيّ: كل ما في الجزء الأول يذهب إلى لوحة علنية يستطيع أي أحد قريب أن يقرأها، أما العنوان، وموضع المفاتيح، ولوحة السيارة فتذهب إلى الجزء الثاني، وهو لا يغادر هاتفك حتى يصير الحجز حقيقيًا.
السجلات التي تحمل فاتورة تحمل صفحةً بالقدر نفسه. مفتاحك عنوانٌ أصلًا، فما تكتبه له مكان يسكن فيه دون أن تستأذن أحدًا في مساحة.
بيت الشخصية يقوم على العنوان الذي يسمّيه مفتاحها هي، والخلاصة هي الخط الزمني لمن تُبقيهم عندك — يستطيع المنشور أن يحمل صورةً وملفًا، والقلوب تعود. والمواقع يقدّمها من نشرها من قرصه هو، وتُفتح في غرفة مختومة، فقراءة موقع لا تجلب شيئًا من أي مكان آخر.
المطبوعات — جريدة، أو مسلسلة، أو قطعة برمجية — تُباع عالميًا على لوحات حسب الموضوع لا حسب الحي: ينزل المنشور على لوحة موضوعه وعلى لوحة لغته معًا، و«الكل» يقرأ الرفوف الستة جنبًا إلى جنب. والإعلان يجلب حزمته من هاتف البائع نفسه — حتى ٢٤ صورة بحجمها الكامل، ووصف، ومواصفات، وملفات مرفقة — ويُرفض كاملًا عند أي مفتاح لا يسمّيه، حتى لا يخبّئ مستندٌ سيّئ صورًا جيدة.
لا شركة في الوسط لتنحاز إلى أحد، فيفعل DUCAT شيئًا أبسط. يستقر المال في عنوان لا يفتحه إلا أنتما الاثنان، والإفراج يعيد إلى كل طرف ضمانه هو بالاسم. ولا أحد يستطيع أن يأخذ ضمانًا — ونحن من ضمنهم، إذ لا وجود لـ«نحن» يُدفع لها أصلًا.
هذه الأرقام مُحاجَج عليها لا مخمَّنة — فنموذج Bisq «٢ من ٢» بلا وصيّ هو أقرب سابقة تعمل فعلًا، وأدبيات الوديعة المزدوجة تثبت أن هذا الترتيب عصيّ على الغش عند التوازن. ومنه يخرج حدّان: ضمان قيمته أقل من رسوم إعادته يصير صفرًا بدل أن يكون زينة، ولا يتجاوز أيّ ضمان نصف السعر. والطرف الأكثر انكشافًا يودع ثانيًا، حتى لا يجلس ماله وحده في عنوان مشترك.
حين تطلب الصفقة أكثر من ضمان: الراكب والسائق وجهة اتصال محكّم يثق بها الطرفان، يجرون توليد مفاتيح موزّعًا عبر الخيط المختوم — ثلاثة أجهزة تشتقّ عنوان Monero واحدًا، كلٌّ منها يحمل حصة فقط، وأيّ اثنين يمكنهما التوقيع، ولا موزّع في أي مكان. والمسار الميسور نقرتان.
وما عدا ذلك تسوية: طرف يقترح قسمة، والآخر يوقّع أو يقترح غيرها. ومن علق يسأل المحكّم، وتوقيعه المشترك هو الحكم — ومحكّم مُختطف أقصى ما يستطيعه أن يختار بين الطرفين المسمّيين، ولا يدفع لنفسه أبدًا. وقد أُثبت على السلسلة على stagenet بكل صوره، بما فيها إفراج FROST بمدخلين.
قبل أن تكون هناك صفقة، هناك غريب، والسؤال هو: بماذا كلّفه اسمه. يمكن للشخصية أن تحرق Monero — أن ترسلها إلى عنوان لا يملك أحد مفاتيحه، مشتقٍّ من بصمة يستطيع أي أحد أن يعيد حسابها بنفسه — وأن تحمل معها إثبات الدفع الخاص بـ Monero نفسها. يتحقق تطبيقك من ذلك الإثبات عند عقدته هو، ويسأل عقدة ثانية إن كانت المعاملة قد دخلت كتلة، ومن ثمّ يعرض الشخصية بالكلمات في كل موضع تقرّر فيه شيئًا: حُرق ٠٫٠١ XMR، منذ الكتلة N. ولا درجة أبدًا. والقاعدة التي تهمّ هي التحذير: حين يكون ما أنت على وشك المخاطرة به أثمن ممّا حرقوه، يقول التطبيق ذلك، لأن اسمًا لم يكلّف شيئًا لا يخسر شيئًا باختفائه.
بعد صفقة تمّت تسويتها، يمكن لأيٍّ من الطرفين أن يوقّع إيصالًا مقيَّمًا، ويمكن لكل من قابلته وجهًا لوجه أن يوقّع تزكية. وكلاهما يسافر في خيط مختوم، وكلاهما يزنه القارئ وحده — صوت واحد لكل موقّع، ولا يُحتسب من الموقّعين إلا من تحققت من حرقه هو، ولا تُحتسب التزكية إلا ممّن هم أصلًا ضمن جهات اتصالك. خطوة واحدة، ولا رسم بياني، ولا شيء منشور في أي مكان. سمعة تكلّف مالًا بدل أن تكلّف خصوصية.
أداة خصوصية غير مريحة في الاستعمال تُستعمل مرة واحدة. وهذه تسمّي لك ما تكلّفك الأشياء، وتتكلّم عشرين لغة، ولها سمة داكنة ليست فكرة لاحقة.
للراحة ثمن في نظام خصوصية، والتطبيق يسمّي هذا الثمن في لحظة اختيارك لا في سياسة لا يقرؤها أحد. أن تدع جهات اتصالك تدفع لك مباشرة يعني إعادة استعمال عنوان واحد — فيقول إن كل من يراقب السلسلة يستطيع أن يرى أن الشخص نفسه تلقّى الدفع في كل مرة، حتى من دفعوا لك مرة واحدة فقط، ثم يشير إلى البديل. والعادة نفسها تسري في كل مكان: ما يُرى في mempool يُعرض على أنه شوهد، ولم يُسوَّ قط؛ والملف الشخصي يُقدَّم دائمًا على أنه ما هو عليه فعلًا — ادّعاء صاحبه.
يتكلّم عشرين لغة — كل شاشة تقرأ من ملفات الموارد، وصيغ الجمع تُركَّب لا تُلصَق، والعربية والفارسية تثبتان صحّة الانعكاس. والإيصالات سجلات لا رسائل: كل إيصال يعيش في مخزنه الخاص، ويبقى بعد حذف الخيط وجهة الاتصال، ويسافر مع النسخة الاحتياطية المشفّرة — التي تحمل الناس بقدر ما تحمل المال.
نافذة أصلية فوق الشيفرة نفسها بلغة Rust التي يشغّلها الهاتف — فتصير خزينة صاحب الدكان، والكشك، وغرفة التحرير، والسوق، والخلاصة تنفيذًا واحدًا لا نقلًا إلى منصّة أخرى.
يتكلّم لغات الهاتف العشرين من المصادر نفسها، وهو مُجرَّب في وجه الهاتف في كل طقس: المحادثة، والمجموعات على اللوحات، والفواتير والإيصالات، وطلب كشك دُفع من هاتف لم يلتقِ بهذا المكتب قط، وملفات ومواقع قُدِّمت وجُلبت، ومكالمات بصوت حقيقي.
يمسك ملف README دفترًا لما جرى فعلًا من طرف إلى طرف على الشبكة الحقيقية وعلى stagenet الحقيقي — ويذكر الثغرات بدل أن يدفنها.
core/ قطكل بناء موقّع للتنقيح ويسوّي على stagenet الخاصة بـ Monero — عملات بلا قيمة، بحكم التصميم. والمواصفة هي المسودة 1.1.0-dev13 وتقول عن نفسها: لا شيء هنا نهائي، و§14 هو جدول الأعمال الحقيقي. جرّبها، واكسرها، واقرأها — لكن لا تموّلها.
ملف ducat-protocol.md هو الأثر الأول — خمسة أجزاء، وسجل تغييرات في المقدّمة، وطقم
مطابقة يشغّله تنفيذ ثانٍ، حتى لا ينحرف المستند عن الشيفرة في صمت.
★ ducat-protocol.md المواصفة — مسودة 1.1.0-dev13، وسجل التغييرات أولًا core/ التنفيذ المرجعي (Rust) vectors/ ٤٠٦ حالة مطابقة + المخطط conformance/ أربعة فاحصين، يعملون مع كل دفع harness/ من طرف إلى طرف عبر مسارات Veilid حقيقية sim/ محاكٍ دون اتصال، وسيناريوهات سوق applications/ android/ + desktop/ (المصادر نفسها) mobile/ جسر Rust: المحفظة · صندوق البريد · العقدة research/ أدلة، لا منتج
schema.jsonالأمانة إلزامية لا تطلّعية: §18.7 يجعل أخلاق Veilid شرط مطابقة — لا رسوم بروتوكول، ولا دفع للعقد، أبدًا. ابنِ ما شئت من هذه الشيفرة، لكن عميلًا يتربّح من النقل ليس DUCAT.
لا شيء تثبّته أولًا — كل بناء يحمل مكتبة Rust الخاصة به وآلة JVM. على الهاتف Android، وعلى Linux و Windows و macOS التطبيق نفسه بوصفه نافذة أصلية. لا يوجد بناء لـ iOS؛ سينال مجلدًا حين يستحقه.
متصفح الهاتف، وأحدث بناء، وبلا صفحة إصدارات تتصفّحها. armeabi-v7a للهواتف الأقدم من
نحو عام ٢٠١٦ فقط؛ وx86_64 للمحاكيات.
بناءان لـ Apple Silicon و Intel. غير موقّعين — سينبّهك macOS عند أول فتح.
موقّع للتنقيح، على stagenet فقط — ليس لمال حقيقي.