مقالات قد تهمك

إنشاء العناوين وإدارة الأذونات على الكتل متعددة السلاسل

كيفية إنشاء العناوين، سواء كانت احتجازية أو غير احتجازية، ثم كيفية إدارة الأذونات لها.

في عالم البلوكتشين أو في عالم العملات المشفرة، لا بد أنك سمعت عن مفهوم “ليست مفاتيحك، وليست عملاتك”. حيث نقول أنه إذا لم يكن لديك سيطرة على المفتاح الخاص، فلن يكون لديك سيطرة على الأصول الخاصة بك أو العملات المشفرة ولهذا السبب نقول أنه من الأفضل استخدام محفظة لامركزية، وهي مثل قناع التعريف حيث مفاتيحك معك بدلا من وضع العملات المشفرة الخاصة بك في البورصة حيث لا تكون مفاتيحك معك.

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

دعونا نلقي نظرة على جميع الأوامر المختلفة التي سنستخدمها لإنشاء هذه الأنواع من العناوين وبعد ذلك سنرى كيفية إدارة الأذونات فعليا.

إنشاء عناوين الحراسة:

أولا قم بتسجيل الدخول إلى عقدة بلوكتشين التي أنشأتها في واجهة سطر الأوامر في الوضع التفاعلي.1 6

بعدها نعطي أمر الحصول على عنوان جديد( getnewaddress) الآن عندما نقوم بتشغيل هذا الإخراج هو عنوان. لذلك تقوم بإرجاع عنوان وصاية جديد لأن المفتاح الخاص المتعلق بهذا العنوان محفوظ في العقدة. وكون المستخدم  هو المستخدم النهائي، فلن يتمكن من الوصول إلى المفتاح الخاص.2 6 وهذا يشبه قيام البنك بتشغيل عقدة لعملائه ويعطي عناوين لعملائه. لذلك يحتاج العملاء ببساطة إلى تسجيل الدخول باستخدام كلمة مرور اسم المستخدم في تطبيق الهاتف المحمول الخاص بالبنك، وبعد ذلك عندما يقومون بتشغيل أي نوع من الأوامر، فإنهم لا يقومون بتشغيله باستخدام المفتاح الخاص، بل يقومون بتشغيلها باستخدام كلمة مرور اسم المستخدم، ثم يقوم البنك بتشغيل المعاملة الفعلية لأن البنك الوحيد هو الذي يتحكم في المفتاح الخاص المقابل لهذا العنوان.

3 5

ولذلك قمنا بإضافة عنوان جديد لإرجاع عنوان وصاية جديد تمت إضافة مفتاحه الخاص إلى المحفظة التي تعمل في العقدة.

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

في حال لم نكن نريد الكثير من المعلومات، فيمكننا تشغيل أمر الحصول على عناوين خاطئة (getaddresses false) وهنا ستظهر لنا العناوين فقط دون أي معلومات إضافية عنها.

4 4

قائمة العناوين (Listadresses): عند تشغيل هذا الأمر يعرض لنا جميع العناوين ومع كل منها يخبرنا فقط ما إذا كان لدينا المفتاح الخاص أم لا. لذلك عندما نقول “ملكي” فهذا يعني أن المفتاح الخاص لهذا العنوان موجود على هذه العقدة.5 3

أمر عنوان غير احتجازي: وهذا يعني أن لوحة المفاتيح العامة الخاصة لن تكون كذلك المخزنة على العقدة. لن تكون متاحة لأي شخص آخر غير المستخدم ولكل لوحة مفاتيح سيتم توفير المفتاح العام (pubkey) والمفتاح الخاص (privkey) للعنوان.6 1

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

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

توفر لوحة المفاتيح العامة الخاصة هذه المفتاح الخاص للعميل ولن يتم تخزينه بواسطة البنك أو أي شخص يقوم بتشغيل هذه العقدة. لذلك في المستقبل أيضا لا يمكن لأي شخص آخر إجراء هذه الصفقة غير المستخدم لأنه يملك فقط مفتاحه الخاص المخزن معه.

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

أمر التحقق من صحة العنوان: ما سيفعله هذا الأمر هو أنه سيعود لمعلومات حول عنوان معين يتوافق مع المفتاح الخاص أو المفتاح العام الذي سنذهب إليه. فمثلا المفتاح العام، للتحقق من صحة العنوان نضع هذا المفتاح العام ويخبرنا نعم هذا صحيح، هذا هو العنوان، ولكن المفتاح الخاص غير متوفر مع هذه العقدة ولهذا السبب أصبح عقله خاطئا.

عنوان الاستيراد (importaddress): ما يحدث في عناوين الاستيراد التي ستضيفها بعض العناوين إلى محفظة العقدة دون أي مفتاح خاص مرتبط هو أننا نريد إنشاء عناوين المراقبة فقط. وهذا يعني أننا نريد مراقبة نشاط مثل “ما هو رصيد هذا العنوان” من وقت لآخر، حتى نتمكن من استخدام واجهات برمجة التطبيقات الخاصة بنا لتشغيل أوامر لمعرفة ما يفعله هذا العنوان ولكن لا يمكننا إنفاق أموال هذا العنوان.

7

حيث يحتوي هذا العنوان على بعض المدخلات أو بعض الأصول، ولكن لا يمكننا أن ننفقها لأننا لا نملك
المفتاح الخاص ولكن يمكننا مراقبة العنوان.

إدارة الأذونات:

الأذونات: الفائدة الرئيسية لاستخدام السلاسل المتعددة هي إنشاء الإذن لسلاسل الكتل. فما هو نوع الأذونات التي يمكن منحها بالفعل؟ هناك حوالي ثماني أذونات مختلفة يمكن منحها.

الاتصال connect: الاتصال هو الإذن الأساسي، وهو يسمح لعنوان معين بالاتصال بالعقد الأخرى على بلوكتشين ورؤية محتويات السلسلة.

الإرسال send: وهو إذن يعني أن هذا العنوان المحدد يمكنه إرسال الأموال أو الأصول إلى أي عنوان آخر. وعلى غرار ذلك، سنرى شيئا يسمى الاستلام، وهذا يعطي الإذن لعنوان لتلقي الأموال.

مفهوم التجميد: لنفترض أن شخصا ما قد ارتكب خطأ أو جريمة في سلاسل الأذونات الخاصة بنا وأمرتنا المحكمة بتجميد الأصول. وهذا يعني أن الشخص المعين هو المشتبه به ولا يمكن إرسال الأصول على أية حال. وحتى نتمكن من إلغاء إذن الإرسال. وذلك على الرغم من أن العنوان يمكنه الاستمرار في تلقيها، ولا يمكنه إرسال تلك الأصول بعد الآن. لذلك للإلغاء نستخدم ببساطة أمر الإلغاء.

الآن ماذا تعني المشكلة؟ هذا يعني أن هذا العنوان يمكنه إنشاء أصول جديدة. لذلكفي حال كان المستخدم يعمل على بلوكتشين إثيريوم، فإنه سيعرف أن هناك USGT وهي العملة المستقرة للسلسة. وهذه كلها عملات تم إنشاؤها بواسطة شخص ما.

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

هناك إذن يسمح لك بتعدين الكتل أو إنشاء الكتل. وإذن يسمح لك بتغيير بعض أذونات الآخرين والمشرف وهو الأهم. انها تسمح لك بتغيير كافة الأذونات لأي شخص آخر.

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

هل يشير كل عنوان إلى عقدة عقدة؟ لا. لنفترض أن هناك بنكا يقوم بإنشاء عقدة ويتصل ببلوكتشين. تحصل تلك العقدة على عنوان واحد.وباعتبار أن البنك لديه 100 ألف عميل، سيحصل كل عميل على عنوانه الخاص. لذلك يمكن للعقدة إنشاء الملايين أو تخزين الملايين من هذه العناوين.

هل يمكن لعنوان بدون إذن اتصال أن يحصل على إذن إرسال واستقبال فعال؟ نعم، يمكن. لأن إذن الاتصال ضروري إذا كان المستخدم يريد أن يتصل هذا العنوان بالعقد الأخرى. وبالعودة مرة أخرى إلى مثال البنك، لدى البنك مليون عميل. العميل الواحد لا يحتاج لبقية العملاء للاتصال بالعقد الأخرى. ماذا يحتاج أن يفعل؟ إرسال وتلقي الأموال. لا يحتاج حتى إلى الإصدار، على سبيل المثال.

بإمكانكم متابعة الشروحات كاملة في هذا الفيديو: اضغط هنا

وللمزيد يمكنكم متابعة الموقع https://www.multichain.com/developers/json-rpc-api

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني.

زر الذهاب إلى الأعلى