Blockchain كهيكل بيانات

مرحبا هبر!



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



يمكن تفسير تقنية Blockchain بعدة طرق مختلفة. حتى وقت قريب ، كان ينظر إلى blockchain في المقام الأول من حيث العملات المشفرة. Bitcoin هو أول اتحاد blockchain يمتلكه الكثير منا. لكن تخزين معاملات العملات المشفرة هو مجرد واحدة من العديد من حالات استخدام blockchain. في هذه المقالة ، سوف نتراجع عن وجهة النظر هذه ونأخذ في الاعتبار blockchain في السياق الأكثر عمومية لعلوم الكمبيوتر.



Blockchain هي بنية بيانات



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



مجموعة مصفوفة



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







مصفوفة ذات بعد واحد من ستة عناصر



القوائم المرتبطة



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



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



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







قائمة ذات ثلاث عقد مرتبطة



بلوكشين



في سياق هياكل البيانات ، يشبه blockchain إلى حد بعيد قائمة مرتبطة. أيضًا ، في blockchain ، يتم تقسيم البيانات إلى حاويات تسمى الكتل . تشبه الكتل إلى حد كبير عقد القائمة المرتبطة. تحتوي كل كتلة على رابط يمثل تجزئة للكتلة السابقة. يعمل كحلقة وصل للكتلة السابقة ويساعد في الحفاظ على النظام في سلسلة الكتل.







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







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



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



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



العملات المشفرة هي مجرد تطبيق خاص لتقنية blockchain. أصبحت Blockchain بسرعة خيارًا قابلاً للتطبيق بشكل متزايد لإدارة سلسلة التوريد وإدارة الأسطول والمزيد.



خاتمة



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



أود أن أنهي هذا المقال بتغريدة تحتوي على جوهر خصائص تقنية blockchain وتوضيح مكانتها بين هياكل البيانات الأخرى.



, , .



, , . , – — @NickSzabo4



All Articles