كيف يحافظ Blocknet على خصوصية المدفوعات

· مدة القراءة: 5 د

يتعمق هذا المقال أكثر من ملخص الخصوصية في ما هو Blocknet؟، ويستعرض كل طبقة خصوصية في معاملة Blocknet: ما تخفيه، وكيف تعمل، وما تعنيه في المرة القادمة التي ترسل فيها BNT أو تستلمها.

كيف يحافظ Blocknet على خصوصية المدفوعات؟

إجابة مختصرة

يخفي Blocknet المرسل بتوقيعات CLSAG الحلقية على 16 مُخرَجًا، والمستلم بعناوين خفية لمرة واحدة، والمبلغ بالتزامات Pedersen وإثباتات نطاق Bulletproofs. ويخفي ترحيل Dandelion++ النقطة التي دخلت منها المعاملة إلى الشبكة، ويحمل كل مُخرَج مذكرة مشفرة بحجم 128 بايت. وكل ذلك إلزامي، دون وضعية شفافة.

يستخدم Blocknet عائلة التشفير المجرّبة نفسها التي يستخدمها Monero: التوقيعات الحلقية، والعناوين الخفية، وإثباتات نطاق Bulletproofs، مبنية على مجموعة Ristretto فوق Curve25519. ويضيف فوق ذلك الدفع بالاسم والمذكرات المشفرة. تغطي كل طبقة جزءًا مختلفًا من الدفعة، ومعًا لا تتركن لمن يقرأ السلسلة إلا القليل جدًا ليستند إليه.

التوقيعات الحلقية تخفي من دفع

عندما تنفق عملات، توقّع محفظتك لمجموعة من 16 مُخرَجًا: المُخرَج الذي تملكه و15 مُخرَجًا آخر تُختار من السلسلة كمُدخلات تمويهية (decoys). التوقيع هو توقيع CLSAG حلقي. يستطيع أي شخص التحقق من أن أحد أعضاء الحلقة قد وقّع، ولا يكشف التوقيع أيّهم.

يفرض الإجماع حجم الحلقة. يجب أن يحمل كل مُدخل 16 عضوًا بالضبط في الحلقة، كل منهم مُخرَج حقيقي موجود على السلسلة بالفعل، وترفض الشبكة أي شيء آخر. ولأن كل مُدخل على الشبكة يستخدم الحجم نفسه، لا يمكن لحجم الحلقة أن يميّز معاملة أو المحفظة التي بنتها. ويثبّت كود برنامج العقدة الحجم «لمنع تسرب المعلومات من أحجام الحلقات المتغيرة».

ولمنع إنفاق العملات نفسها مرتين، يحمل كل مُدخل أيضًا صورة مفتاح (key image). وهي فريدة للمُخرَج الحقيقي الذي يُنفق، لكنها لا تكشف أي عضو في الحلقة هو. وإذا ظهرت صورة مفتاح مرة ثانية، ترفض الشبكة المعاملة باعتبارها إنفاقًا مزدوجًا.

العناوين الخفية تخفي من استلم الدفعة

يحمل عنوان Blocknet مفتاحين عامين، مفتاح الإنفاق ومفتاح العرض. عندما يدفع لك شخص ما، تجمع محفظته مفاتيحك مع رقم عشوائي جديد لصنع عنوان لمرة واحدة يُستخدم لذلك المُخرَج فقط. والعنوان الذي شاركته لا يظهر أبدًا على السلسلة.

تستخدم محفظتك مفتاح العرض الخاص بك لفحص المعاملات الجديدة والتعرف على المُخرَجات التي تخصك، ومفتاح الإنفاق لإنفاقها لاحقًا. عشر دفعات إلى العنوان نفسه تصل إلى عشرة عناوين لمرة واحدة لا علاقة بينها، فلا يستطيع المراقب جمع ما استلمه عنوان ما أو معرفة أن دفعتين ذهبتا إلى الشخص نفسه.

وينطبق الشيء نفسه على أسماء Blocknet ID. الاسم المختصر مثل @name عام بطبيعته، لأن المرسل يبحث عنه على blocknet.id ليدفع لك. ومع ذلك تذهب الدفعات إليه إلى عناوين جديدة لمرة واحدة، فلا يكشف الاسم شيئًا عما استلمته.

كيف يخفي Blocknet مبالغ المعاملات؟

تُخزَّن المبالغ كالتزامات Pedersen. يثبّت الالتزام رقمًا دون إظهاره، ويمكن جمع الالتزامات معًا. وهذا يتيح لكل عقدة التحقق من أن مُدخلات المعاملة تساوي مُخرَجاتها مضافًا إليها الرسوم دون معرفة أي من المبالغ.

قد يخفي الالتزام وحده مبلغًا سالبًا، وهو ما سيخلق عملات من العدم. لذلك يأتي كل مُخرَج مع إثبات نطاق Bulletproofs يثبت أن مبلغه يقع ضمن نطاق 64 بت يبدأ من الصفر. يقنع الإثبات كل عقدة بأن المبلغ صالح ولا يكشف عنه شيئًا آخر.

ومع ذلك يرى المستلم الرقم الحقيقي. تستعيده محفظته بالسر المشترك نفسه الذي تستخدمه للعثور على المُخرَج، فيكون المبلغ مرئيًا لطرفي الدفعة ولا أحد غيرهما.

Dandelion++ يخفي من أين بدأت المعاملة

لو أعلنت عقدة عن معاملتها لجميع نظيراتها دفعة واحدة، لاستطاع من يراقب عقدًا كثيرة تخمين مصدرها بملاحظة من سمع بها أولًا. يرحّل Blocknet المعاملات عبر Dandelion++ لمنع ذلك.

تنتقل المعاملة الجديدة أولًا على طول «ساق» (stem)، فتُمرَّر من نظير واحد إلى نظير واحد تالٍ. وفي كل قفزة هناك احتمال 90% أن تستمر على الساق؛ وإلا فإنها «تنتشر» (fluff) إلى الشبكة كلها من تلك النقطة. وبحلول الوقت الذي ترى فيه معظم العقد المعاملة، تبدو قادمة من عقدة قد تبعد عن عقدتك قفزات كثيرة. ويُعاد خلط مسارات الساق كل 10 دقائق.

من يستطيع قراءة مذكرة Blocknet؟

يحمل كل مُخرَج مذكرة مشفرة بحجم 128 بايت مع مساحة لما يصل إلى 124 بايت من النص. تُشفَّر بالسر نفسه الذي يتشاركه المرسل والمستلم لذلك المُخرَج، فلا يستطيع قراءتها سواكما. استخدمها لرقم فاتورة، أو مرجع طلب، أو ملاحظة قصيرة للشخص الذي تدفع له. ويوضح دليل المذكرات المشفرة كيف تضيف مذكرة وأين تجد المذكرات التي تستلمها.

المذكرة دائمًا بالحجم نفسه، سواء كتبت ملاحظة كاملة أو لم تكتب شيئًا على الإطلاق. عندما تكون المذكرة قصيرة أو فارغة، تملأ المحفظة الباقي بحشو عشوائي قبل تشفيرها، فيبدو المُخرَج الذي يحمل ملاحظة تمامًا مثل المُخرَج الذي لا يحملها. لا تبرز المذكرات أبدًا، ولا يستطيع أحد آخر حتى معرفة أي الدفعات تحمل رسالة.

هل الخصوصية اختيارية في Blocknet؟

إجابة مختصرة

لا. الخصوصية إلزامية في Blocknet. لا توجد في صيغة المعاملة وضعية شفافة، ويشترط الإجماع أن يحمل كل مُدخل حلقة من 16 عضوًا بالضبط، فتستخدم كل دفعة الحلقات والعناوين الخفية والمبالغ المخفية ومذكرة مشفرة. ولأن لا أحد يستطيع الانسحاب منها، تبدو المدفوعات الخاصة مثل كل دفعة أخرى على السلسلة.

عندما تكون الخصوصية إعدادًا، يشكّل من يفعّلونه مجموعة صغيرة يسهل تمييزها. أما في Blocknet فكل معاملة تُبنى بالطريقة نفسها، فتندمج كل واحدة مع جميع المعاملات الأخرى، ولا تحتاج أبدًا إلى تذكّر حماية دفعة ما.

ماذا يعني ذلك عندما تدفع لشخص ما

عندما ترسل BNT إلى عنوان أو إلى @name، تتولى محفظتك كل خطوة نيابةً عنك، دون أي شيء تحتاج إلى تفعيله:

  1. تختار 15 مُدخلًا تمويهيًا من السلسلة وتوقّع مُدخلك بحلقة من 16.
  2. تصنع عنوانًا جديدًا لمرة واحدة للمستلم.
  3. تلتزم بالمبلغ وترفق إثبات نطاق.
  4. تشفّر مذكرتك، أو حشوًا عشوائيًا إذا تركت المذكرة فارغة.
  5. تسلّم المعاملة إلى Dandelion++ لترحيلها.

من يقرأ السلسلة يرى مُدخلات يشير كل منها إلى 16 مُخرَجًا محتملًا، ومُخرَجات مرسلة إلى عناوين لمرة واحدة لم يرها أحد من قبل، والتزامات بدلًا من المبالغ، وحقل مذكرة من بايتات تبدو عشوائية. أما الشخص الذي دفعت له فيرى الدفعة والمبلغ وملاحظتك في محفظته.

إذا أردت كسب أول BNT لديك، يمكنك تعدينها على جهازك الشخصي. يشغّل دليل التعدين برنامج seine على bntpool.com خلال دقائق، ويمكنك التعدين مباشرة إلى عنوانك أو إلى @name الخاص بك.

ما القادم مع ترقية Faraday

تخطط Blocknet لترقية للشبكة تُسمى Faraday، ومن المخطط تفعيلها في نحو 2027-02-16، وفقًا لموقع blocknetcrypto.com. يسرد الموقع تغييرين سيأخذان الخصوصية إلى مدى أبعد:

ويقول الموقع أيضًا إن Faraday لن تأتي بعملة جديدة ولا بإعادة إطلاق، وإن سجلك يبقى كما هو. التصميم والاختبار والمراجعة العدائية جارية، والتواريخ مخطط لها وليست نهائية، لذا تابع blocknetcrypto.com للاطلاع على التحديثات.

الأسئلة الشائعة

هل Blocknet خاص افتراضيًا؟

نعم. تستخدم كل معاملة في Blocknet توقيعًا حلقيًا على 16 مُخرَجًا، وعنوانًا خفيًا لمرة واحدة لكل مستلم، ومبالغ مخفية مع إثباتات نطاق Bulletproofs، ومذكرة مشفرة بحجم 128 بايت على كل مُخرَج. لا توجد في صيغة المعاملة وضعية شفافة، فلا يوجد إعداد يجب تفعيله ولا طريقة لأن تتجاوز دفعة هذه الحمايات.

ما حجم الحلقة الذي يستخدمه Blocknet؟

يُوقَّع كل مُدخل في معاملة Blocknet بحلقة CLSAG من 16 مُخرَجًا بالضبط: المُخرَج الحقيقي و15 مُدخلًا تمويهيًا مأخوذة من السلسلة. يرفض الإجماع أي حجم آخر، ويجب أن يكون كل عضو في الحلقة مُخرَجًا حقيقيًا موجودًا على السلسلة بالفعل. ولأن كل مُدخل يستخدم الحجم نفسه، لا يمكن لحجم الحلقة أبدًا أن يميّز محفظة بعينها.

من يستطيع قراءة مذكرة Blocknet؟

المرسل والمستلم فقط. تُشفَّر كل مذكرة بالسر الذي تتشاركه المحفظتان لذلك المُخرَج، وتشغل دائمًا 128 بايت بالضبط على السلسلة، مع مساحة لما يصل إلى 124 بايت من النص. وتُملأ المذكرات القصيرة أو الفارغة بحشو عشوائي، فلا يستطيع أحد آخر معرفة أي الدفعات تحمل ملاحظة.

هل يستطيع الناس رؤية ما استلمه عنواني في Blocknet؟

لا. تصل كل دفعة إلى عنوانك إلى عنوان خفي جديد لمرة واحدة، فلا يمكن تجميع الدفعات تحت العنوان الذي شاركته. وتُخزَّن المبالغ كالتزامات Pedersen مع إثباتات نطاق، فلا تُظهر السلسلة أبدًا ما يحمله كل مُخرَج. ومحفظتك وحدها، باستخدام مفتاح العرض الخاص بك، تجد دفعاتك وتجمعها.

هل يستخدم Blocknet التشفير نفسه الذي يستخدمه Monero؟

يستخدم Blocknet عائلة التشفير المجرّبة نفسها التي يستخدمها Monero: توقيعات CLSAG الحلقية بحلقة من 16، والعناوين الخفية لمرة واحدة، والتزامات Pedersen مع إثباتات نطاق Bulletproofs، وترحيل المعاملات عبر Dandelion++. ويضيف فوق ذلك الدفع بالاسم عبر الأسماء المختصرة في Blocknet ID ومذكرة مشفرة بحجم 128 بايت على كل مُخرَج.