تنصل
لا يرتبط هذا النص بمشاريع التشفير الموجودة ويمثل "حصانًا كرويًا في فراغ" لأول غمر في الموضوع. المتخصصون ، على الأرجح ، لن يحتاجوا إلى مثل هذه الحقائق المشتركة. ونعم ، هذا لونغريد. على الرغم من أن الكثير لا يزال وراء الكواليس.
خلفية
بادئ ذي بدء ، blockchain هو المألوف. وهذا هو السبب الرئيسي وراء اهتمامهم. يبدو أن هذه تقنية "مهرج" يمكن ويجب تطبيقها في كل مكان. لكن هذا ليس صحيحا. وحتى لا تضطر إلى أخذ كلامي من أجله ، سوف أخبرك ما هي سلسلة المفاتيح فعليًا ، وأين تنطبق ، وحيثما تكون هناك حاجة إليها ، مثل مظلة للصيد.
لذلك ...
Blokcheyn
يأتي المصطلح من "سلسلة الكتل" الإنجليزية ، والتي تُترجم إلى "سلسلة الكتل". كل كتلة جديدة تحتوي على تجزئة الكتلة السابقة ، وتشكيل قائمة مرتبطة منفردة حيث يتم تسجيل تجزئة كل كتلة في الكتلة التالية.
كتلة التجزئة يعتمد على جميع الكتل السابقة. وبالتالي ، فإن تجزئة الكتلة الأخيرة تعكس حالة قاعدة البيانات بأكملها. وسلسلة التجزئة من الكتلة الأخيرة إلى الأولى هي دليل على ثباتها. عند إضافة كتلة جديدة ، يتم "ربطها" بالكتلة الأخيرة وتصبح علامة التجزئة الخاصة بها هي الحالة الجديدة لقاعدة البيانات.
إذا تم تغيير أي كتلة موجودة ، فسيتم انتهاك سلسلة التجزئة وسيشير مكان انتهاكها إلى الكتلة التي تم تغييرها. يمكنك إعادة حساب وتغيير جميع التجزئة إلى نهاية السلسلة - ثم ستبقى اتصال التشفير ، ولكن سيتم تغيير تجزئة الكتلة الأخيرة. إذا كانت حالة قاعدة البيانات - وهذا هو تجزئة الكتلة الأخيرة - معروفة جيدًا ، فإن التزوير أمر مستحيل.
هذا ، في الواقع ، هو كل شيء.
قاعدة بيانات
نحن نعلم بالفعل أن blockchain هو مجرد وسيلة لحماية قاعدة البيانات من التدخل. ما ينبغي أن يكون قاعدة البيانات نفسها؟ في الواقع ، يمكن أن يكون أي - SQL ، BigTable ، مفتاح القيمة ، نظام الملفات. لكن استخدام blockchain يفرض قيوده.
تسمح قاعدة البيانات المحمية blockchain لخصائص CRUD الأربعة ("إنشاء ، قراءة ، تحديث ، حذف") فقط الأولين. لا يمكنك تغيير أو حذف البيانات من قاعدة البيانات هذه - لأنها ستفقد على الفور سلامة التشفير. Blockchain يسمح لك فقط قراءة وإنشاء كتل جديدة.
وتسمى هذه القاعدة المعيبة السجل. لسير العمل ونشاط براءات الاختراع و- بالطبع! - العملات المشفرة مثل هذا النموذج مقبول وعضوي. ولكن استخدامه كقاعدة بيانات للأغراض العامة يكاد يكون من المستحيل.
الكلمة الأساسية هنا هي "تقريبًا". هناك طريقة للتوفيق بين قاعدة بيانات blockchain "كاملة" وتسمى هذه الطريقة "سجل المعاملات".
خذ على سبيل المثال ، قاعدة بيانات بسيطة ذات قيمة مفتاح تخزن كيانات اعتباطية مرتبطة بمفتاح فريد. يمكن إنشاؤها وحذفها وقراءتها وإجراء تغييرات عليها.
لكل كيان ، قم بحساب التجزئة ، ثم قم بترتيب القائمة الناتجة (ترتيبًا أبجديًا) حرفيًا. لكل زوج من التجزئات ، احسب تجزئة المجموع الحرفي (تسلسل) هذه التجزئات. ثم ، في القائمة الناتجة ، تفعل الشيء نفسه. وهكذا إلى أن نبني شجرة تجزئة ، وعلى رأسها ستكون هناك قيمة واحدة. تسمى هذه الآلية شجرة Merkle وفي الجزء العلوي سيكون هناك علامة تجزئة تعكس حالة قاعدة البيانات.
بعد ذلك ، سننشئ قائمة مرتبطة منفردة وفقًا لجميع قواعد blockchain ، والتي ستحتوي على سجلات حول حالة قاعدة البيانات والمفتاح والقيمة الجديدة للكيان. حسنا ، وتجزئة الإدخال السابق ، بطبيعة الحال. سيكون هذا بالفعل blockchain - blockchain للمعاملات ، يرتبط كل منها بحالة قاعدة البيانات ويحتوي على جوهر التغييرات التي تم إجراؤها بواسطة هذه المعاملة.
إذا كان المفتاح جديدًا ، فسيتم إنشاء الكيان. إذا كان موجودا ، فإنه يتغير. إذا كانت القيمة الجديدة هي صفر ، فسيتم حذف الكيان. يؤدي كل تغيير إلى إعادة فرز الفروع المتأثرة لشجرة Merkle وحالة جديدة من القاعدة.
من حيث المبدأ ، يمكن تنفيذ نفس المخطط لقاعدة بيانات علائقية ولأي قاعدة أخرى - إذا لزم الأمر. سوف يسجل سجل المعاملات التغييرات ، وستثبت شجرة Merkle موثوقيتها. ليس سيئا ، أليس كذلك؟
لا مركزية البيانات
لماذا تهتم بكل آليات المصادقة هذه؟ بعد ذلك ، يمكنك بناء قاعدة بيانات موزعة يمكنك الوثوق بها. حتى لو كانت العقد الخاصة بالشبكة التي يتم تخزين قاعدة البيانات فيها ، فإننا لا نثق بها.
يتم نسخ قواعد البيانات اللامركزية وتوزيعها. يتم تخزين قواعد البيانات المنسوخة لكل مستخدم على قدم المساواة وبشكل كامل ، ويتم تخزين قواعد البيانات الموزعة بشكل مختلف وجزئي. زائد النهج الأول هو في السيطرة الكاملة على قاعدة البيانات ، وناقص في متطلبات عالية لوحدات التخزين. يتم عكس إيجابيات وسلبيات النهج الثاني - يمكن أن يكون حجم قاعدة البيانات بأكملها أكبر بعدة مرات من إمكانيات أي مستخدم فردي ، ولكن على حساب عدم كفاية التحكم ، وبالتالي انخفاض في الثقة في موثوقيتها.
يمكن لأي مستخدم لقاعدة البيانات إضافة كتلة خاصة به. لكن القاعدة يمكن الاعتماد عليها فقط عندما تكون جميع مثيلاتها متماثلة. التزامن هو وسيلة للحفاظ على موثوقية قاعدة البيانات. من الممكن القيام بأي عمليات معها - القراءة أو الكتابة - بشرط أن تكون ذات صلة بالقدر الكافي حتى تؤدي نفس الإجراءات معها إلى نفس النتائج.
بشكل عام ، يتمثل التزامن في الحصول على آخر حالة من قاعدة البيانات ، متبوعًا بالحصول على العناصر المفقودة بالتتابع حتى تتم استعادة التكامل بالكامل.
الشبكة الموزعة
تضمن اللامركزية استقرار النظام ضد التأثير المدمر - سواء من المتسللين الفرديين ، أو من الشركات والهياكل الحاكمة. سيعيش النظام اللامركزي طالما هناك علاقة بين عناصره.
يُشكل المشاركون في شبكة موزعة رسمًا بيانيًا ، تكون عُقَدتها عبارة عن أجهزة كمبيوتر متصلة بالإنترنت ، وتكون الحواف بينها متصلة بالحواف. كل عقدة لها معرف فريد - حساب ، مفتاح عام للتوقيع الإلكتروني ، أو أي شيء آخر. يستخدم هذا المعرف لمعالجة الرسائل ، وتعتمد طريقة توجيهها على بنية الشبكة.
أبسط هندسة هي رسم بياني متصل بالكامل ، حيث يتوافق كل معرف مع عنوان شبكة حقيقي ، وهناك إمكانية للتواصل مع الجميع. ولكن في البنية التحتية للشبكة الحقيقية ، قد لا تكون إمكانية توصيل الجميع بالجميع. بالإضافة إلى ذلك ، نظرًا لضرورة إخطار جميع المشاركين ، مع نمو الشبكة ، ستزداد حركة المرور بما يتناسب مع عدد المشاركين. عاجلاً أم آجلاً ، سيأتي الحد الأقصى من الكفاءة ، والذي يبدأ بعده تدهور الشبكة ، حتى نهايتها الكاملة.
نموذج أكثر تعقيدًا هو مخطط دوري موجه. يتم ترتيب المعرفات في قائمة واحدة ، يتم حلها بحيث يكون لكل عقدة "جيران" على اليسار واليمين. تلقي رسالة من الجيران على اليسار وإرسالها إلى اليمين ، والعقد تسليمها عن طريق التتابع. لا يعتمد هذا المخطط على حجم الشبكة ، لأن العقد تتفاعل مع عدد ثابت صغير نسبيًا من الجيران. يمكن تحسين هذا المخطط واستكماله ، ولكن النقطة المهمة هي أن كل عقدة سوف تتفاعل فقط مع شبكتها الفرعية الخاصة ، والتي ، متداخلة جزئيًا ، تنفذ رسمًا بيانيًا متصلًا بحجم غير محدود.
لكن هذا لا يوفر حلاً للمواقف التي يمكن للعقد الاتصال بها من جانب واحد. من الشبكات الخاصة المخفية وراء أجهزة توجيه ترجمة عنوان الشبكة (NAT) ، يمكنهم إرسال رسائل ، لكن لا يمكنهم تلقيها. بالنسبة لهم ، من الضروري تطبيق نموذج يقوموا فيه بإنشاء اتصال ، ويتم تلقي الرسائل استجابةً لطلب. قد يكون لـ "مشكلة اجتياز NAT" حلاً في شكل أجهزة توجيه منفصلة "منارة" أو عقد أخرى تنفذ هذه الوظائف. يشبه النمط مع أجهزة التوجيه نمط نجمة بنية الشبكة.
يمكن تحسين بنيات "الحلقة" و "النجمة" واستخدامها معًا ، إلا أن بنية "شبكة الشبكات" هي الأكثر كفاءة ، والتي تحول الرسم البياني الأصلي المتصل تمامًا إلى رسم بياني غير متصل عن طريق تقليل الاتصالات وتحويل الاتصالات المباشرة إلى "طريق" من عدة خطوط وسيطة. للقيام بذلك ، يجب أن تكون كل عقدة ، إذا لزم الأمر ، قادرة على أن تصبح جهاز توجيه للجيران. تعتبر المسارات التي يتعذر الوصول إليها وإغلاق العقد مخيفة بالنسبة لمثل هذه البنية - ستعيد الشبكة بناء الطرق التالفة وإصلاح نفسها. وهو الأكثر فعالية من حيث الأداء.
ولكن عليك أن تدفع ثمن كل شيء. الجهاز الرياضي لشبكات الشبكات (من اللغة الإنجليزية. شبكة - "خلية") هو أكثر تعقيدًا وربما أحجم عن وصفها هنا. بالنسبة لأولئك المهتمين ، سأشير إلى "مشكلة البائع المتجول" ، ثم - إذا لم يخيفهم ذلك - إلى نظرية اللعبة. هناك كل الإجابات هناك - بالنسبة لأولئك الذين يمكنهم الحصول عليها.
مشكلة المتفرعة
يحتوي blockchain على عيب واحد قاتل - حيث توجد قوائم متصلة ببساطة ، يمكن أن توجد الأشجار. هذا لا يتعارض مع أي شيء ، لأن العديد من اللاحقة يمكن أن تشير إلى نفس الكتلة. كل فرع ينتج عنه موثوق ، ويحافظ على سلامة التشفير وله حالته الخاصة. لكن القاعدة ككل تذهب إلى تراكب كل هذه الدول وتصبح غير مؤكدة.
هذه المشكلة مهمة بشكل خاص في النظام اللامركزي ، حيث يمكن للعقد المختلفة بشكل مستقل إجراء تغييرات على قاعدة البيانات ، مما يتسبب في حدوث شوكات (من الشوكة الإنجليزية - "شوكة"). هناك طريقتان للتعامل مع هذا - تجنب حالة التسجيل المتزامن وإزالة العواقب.
تعدين
ربما سمعت أن مستخدمي BitCoin يحرقون الكهرباء معظم الوقت ، مما يهدر موارد الحوسبة لحل مشكلة الرياضيات عديمة الفائدة؟ إذا لم يكن كذلك ، الآن أنت تعرف أن ...
تتم إضافة رقم عشوائي إلى كل كتلة جديدة. إنه عشوائي ، لكن تجزئة الكتلة الناتجة يجب أن تفي بالشروط. على سبيل المثال ، ابدأ بـ 10 أصفار. والآن العقد التي ترغب في كتابة كتلة جديدة من خلال فرز هذه الأرقام حتى تجزئة تجتمع شروط التعقيد المحددة. و "المزارع" من أجهزة الكمبيوتر وبطاقات الفيديو أو الأجهزة المصممة خصيصا تمتص كيلووات وتنتج الحرارة. حسنا ، والتجزئة اللازمة ، بطبيعة الحال.
لماذا كل هذا؟ لكن بسيط جدا من بين العديد من المشاركين في نظرية الاحتمالات ، يتم العثور على التجزئة كل 10 دقائق من قبل شخص واحد. يكتب الكتلة. هذه هي أسهل طريقة للحماية من المتفرعة.
والأكثر فعالية ، لأنه على الرغم من تعقيد المهمة ، تحدث "الشوك". ثم ، أولئك الذين يعثرون على الشوكة يزيلون الكتل من الفرع الأقصر وينقلونها بالتتابع إلى نهاية الأطول.
وحتى يهتم المشاركون في الشبكة بالقيام بكل هذا ، للحصول على الموارد التي ينفقونها ، يحصلون على عملات معدنية مشفرة "من العدم". هذا هو التعدين (من اللغة الإنجليزية. "التعدين" - العمل في المنجم).
PoW ، PoS ، DPoS ...
حساب التجزئة هو طريقة واحدة فقط لاختيار واحدة من بين العديد. هذا هو إثبات العمل ، مما يعني "إثبات العمل المنجز". من خلال حساب التجزئة المطلوب ، يقوم المشاركون بالعمل ، والعثور عليه هو هذا الدليل. دليل على الكهرباء الضائعة.
عندما تحدث الخضر عن ذلك ، اهتم عدد قليل من الناس. لكن عندما بدأت أموال جديدة في تهديد القديم ، استدعت الحكومات البيئة. ومع ذلك ، لم تكن عديمة الفائدة من التعدين في ذلك الوقت مفهومة فقط من قبل أولئك الذين حصلوا على المال مقابل ذلك. حان الوقت لتغيير شيء ما ...
وظهر دليل إثبات "إثبات الملكية". كل شيء بسيط ، وهو أكثر ثراءً - إنه على صواب. في الواقع ، كل شيء أكثر تعقيدًا قليلاً ، لكن لا يهم - إنشاء كتل (والحصول على مكافآت لهم!) هو في أيدي أولئك الذين لديهم حصة أعلى من الملكية.
ثم جاءت DPoS (تفويض PoS مع الديمقراطية والتصويت) ، PoI ("إثبات الأهمية" استنادًا إلى بعض المقاييس مثل نشاط النشاط ووقت التشغيل) ، وأكثر من ذلك ، وأكثر من ذلك ...
يبقى الجوهر كما هو - هناك حاجة إلى آلية تسمح لشخص واحد فقط بكتابة كتلة جديدة إلى سلسلة في كل فترة زمنية. لماذا يجب أن يثبت بطريقة ما أنه يستحق وأفضل عمومًا من أي شخص آخر.
وإذا لم يكن لإثبات؟
وهنا نتوقف ونتذكر السبب في أنه من الأهمية بمكان بالنسبة لنا أن يتم التسجيل بواسطة شخص واحد. نعم ، حتى لا تنقسم السلسلة إلى شجرة. لكن لماذا؟
إذا كانت السلسلة تحتوي على كتلتين أخيرتين ، فستكون قاعدة البيانات في ولايتين في نفس الوقت. وإذا كان أكثر - ثم في تراكب جميع الدول الممكنة. القاعدة أصبحت غير مؤكدة. القاعدة بأكملها ، في مجملها. هل نحن بحاجة إلى سلامة متجانسة للقاعدة؟ من أجل التحقق من صحة عنصر ما ، فإن القاعدة بأكملها ليست ضرورية - فقط الأجزاء منها مرتبطة به.
وإذا قمنا بتغيير قاعدة البيانات بشكل مستقل في أماكن مختلفة وكان كل تغيير مدعومًا بسلامة التشفير ، فسيكون لدينا قاعدة بيانات غير محددة ، ستكون مجموعاتها الفرعية محددة. وإذا تعاملنا مع المتفرعة ، بالإضافة إلى المتفرعة ، فإن مقياس عدم اليقين سيزداد وينقص في نفس الوقت. وأي عقدة يمكن أن تضيف أي كتلة إلى السلسلة في أي وقت ، إذا كنت تهتم أولاً بإحضار جميع حالات العناصر المتأثرة إلى مجموعة فرعية حتمية من قاعدة البيانات.
هذا هو blockchain دون blockchain. بتعبير أدق ، سجل على رسم بياني موجه.
عملة معماة
نقول "cryptocurrency" - نعني "blockchain" ، نقول "blockchain" ... لكن لا ، العكس ليس صحيحًا. ما هي العملة المشفرة؟
تخيل قاعدة بيانات تحتوي على إدخالات مع الحقول "حساب المرسل" و "حساب المستلم" و "المبلغ". لا أكثر ، فقط هذه الأعمدة الثلاثة. مع كل إدخال في حساب المرسل ، يصبح مبلغ المال أقل بالمبلغ المحدد ، وعلى حساب المستلم - أكثر. إذا قمت بجمع جميع السجلات التي يتم فيها تحويل الأموال إلى حساب واحد وإضافتها ، ثم نطرح من المبلغ المستلم جميع العمليات التي يتم فيها تحويل الأموال من الحساب ، نحصل على المبلغ الموجود الآن في هذا الحساب. مع كل إدخال جديد ، يتم تحويل الأموال من حساب إلى آخر وهلم جرا.
ترى كم هو بسيط؟ جدول واحد فقط من ثلاثة أعمدة - ولدينا بالفعل نظامنا المالي الخاص. وكل شيء سيكون هكذا ، إن لم يكن لمشكلة واحدة. في البداية ، عندما يكون الجدول فارغًا ، تكون جميع الحسابات لها نفس القيمة - صفر. وهذا يعني أنه لا يمكن إجراء أي عملية. حسنًا ، لأنه بخلاف ذلك ، سيكون لبعض الحسابات قيمة سالبة ، وهذا ... هل هذا خطأ؟ أم لا؟
انبعاث
إذا اعتبرنا أن النقود الورقية هي إيصالات ديون حكومية ، فإن المبلغ الكامل للأوراق النقدية هو الدين الكلي للدولة لمواطنيها. وإذا كان على حساباتهم أرقام مختلفة مع علامة الجمع ، ثم على "حساب الدولة" الشرطي - مجموعها مع علامة الطرح. ثم كل شيء يتقارب.
يطلق المحاسبون على هذا الرصيد "الرصيد" ، لديهم أيضًا حسابات نشطة (سلبية تمامًا) وسلبية (إيجابية تمامًا). لديهم أيضًا حسابات سلبية ، ولكن إذا كان العقل والحياة عزيزًا عليك ، ابق بعيدًا عن مستنقعات المحاسبة ، لأن لديهم حتى "رصيدًا على حسابات خارج الرصيد" ، حيث لا يمكن لأي شخص أن يتحملها.
المعنى هو على النحو التالي. نظرًا لحقيقة أن حسابات المصدرين قد تكون سلبية ، فهم يقومون بتحويل الأموال التي لا يمتلكونها وبالتالي "طباعتها". من الناحية النظرية ، يمكنهم القيام بذلك بأي كمية. في الممارسة العملية ، المصدر هو جزء من نظام يجب أن ينظم عرض النقود. كيفية القيام بذلك - يقرر كل مشروع نفسه.
التضخم
يتم تقدير القيمة الإجمالية للنظام في إجمالي ديون المشاركين لبعضهم البعض. الوحدة النقدية هي مقدار هذا الدين الكلي. كلما تم تداول الوحدات النقدية ، انخفضت تكلفة كل منها. وكلما انخفضت القيمة الموضوعية لمدخرات كل مشارك.
التضخم هو أحد الآثار الجانبية لأي قضية. إذا كان ذلك ممكنا ، ينبغي تجنبه.
الانكماش
إذا تم تحويل أي مبلغ إلى حساب المصدر ، فسيتم "حرق" هذه الأموال. سينخفض حجم عرض النقود ، وستزيد قيمة الوحدة النقدية ، وسيصبح جميع المشاركين في النظام أكثر ثراءً. بالإضافة إلى ذلك ، فإن المحسن ، بالطبع ، الذي أخرج أمواله من التداول.
يمكن ربط آلية الحوافز بهذه الآلية. على سبيل المثال ، لتوفير القدرة على تنفيذ بعض الإجراءات للعمولة التي يتم خصمها من المشاركين في تبادل الأموال. على سبيل المثال ، عند حرق أمواله الخاصة ، يقوم أحد المشاركين بجمع عمولة لمعالجة المدفوعات من مرسلي الأموال.
تؤدي إزالة جزء من عرض النقود من التداول إلى زيادة قيمة الجزء المتبقي. وهذه العملية تستحق التحفيز ، ولكن ليس بنشاط كبير ، لأن المعروض من النقود يجب أن يكون كبيرًا بما يكفي لضمان كل النشاط المطلوب.
الشيء الرئيسي ، كما هو الحال في كل شيء ، هو التوازن والشعور بالتناسب.
ليس فقط المال
عندما تحدثنا عن blockchain ، ذكرنا قواعد البيانات التعسفية ، وليس فقط سجلات مجموع حسابات الحساب. لذلك ، يمكننا تخزين أي معلومات في قاعدة بيانات موزعة. هذا يفتح فرصا كبيرة. قاعدة بيانات عامة لا يمكن إتلافها وتزويرها سوف تجد التطبيق في كل مكان.
تحتاج فقط إلى إيجاد حافز للمشاركين لفهم أنفسهم في الحفاظ على أجهزة الكمبيوتر الخاصة بهم قيد التشغيل.
العقود الذكية
من الناحية الفنية ، هذا هو نفس الإجراءات المخزنة في قواعد البيانات. وهذا هو ، رمز قابل للتنفيذ في بعض لغات البرمجة ، والتي يمكن إجراء تغييرات على قاعدة البيانات. والاسم هو لأنه تطور تاريخيا.
في العملات المشفرة ، يعتبر العقد الذكي نوعًا من المشاركين ليس شخصًا حيًا ، بل هو محرك آلي يتم تعريف سلوكه بالشفرة. عند إجراء عملية تحويل الأموال لهذا العضو ، يتم تنفيذ الرمز. يمكنه فعل أي شيء - تحويل المبلغ الذي تم استلامه إلى المشاركين الآخرين على أقساط ، وحفظ الأموال التي تم استلامها حتى الساعة X ثم اختيار شخص ما بمفرده وتحويل جميع الأموال إليه. هذا الأخير ، بالمناسبة ، هو تطبيق كلاسيكي لجميع أنواع الروليت واليانصيب واليانصيب. يمكنك ببساطة حفظ المعلومات في قاعدة البيانات التي دفعها بعض المشتركين مقابل الخدمة ، ومن ثم ، سيتمكن مشارك آخر متصل من تلقي هذه المعلومات وتقديم الخدمة.
هناك مجموعة متنوعة من مثل هذه "الأوتوماتة" تسمى "أوراكل". ( , ) . "" , . , , .
, . - , , .
, — , .
. ( ), .
استنتاج
هذا ، في الواقع ، هو كل شيء. — , . - "", — .
, .
شكرا لاهتمامكم