<h1> البرنامج التعليمي لبروتين bitcoin </ h1>
الحصول على عبر متجر التطبيقات قراءة هذه المشاركة في التطبيق لدينا!
بسيطة خوارزمية التعدين bitcoin.
أحاول معرفة كيف تعمل خوارزمية تعدين Bitcoin البسيطة في لغة بسيطة بسيطة c أو c # أو بعض اللغات الزائفة. لقد وجدت مثالا في http://pastebin. com/EXDsRbYH ، ولكن للأسف ليس واضحا ما يفعل. لم أتمكن من تشغيلها.
لنفترض أن لديّ إدخالًا واحدًا فقط: محفظة بيتكوين "abc." التي أريد استخدامها لعملة Bitcoins. أحتاج إلى فهم بسيط لخوارزمية من شأنها أن تفعل التعدين bitcoin على جهاز واحد مع مؤشر واحد على وحدة المعالجة المركزية واحد [وأنا أعلم أنه سوف يستغرق الأعمار لإكمال :)]
أبسط عامل منجم سوف يعمل هكذا:
طلب Getwork جديد من تجمع معين / bitcoind مع بيانات اعتماد محددة لـ nonce = 0؛ nonce & lt؛ 0xFFFFFFFF؛ nonce ++ تعيين عدم تطابق بيانات Getwork SHA-256 تجزئة بيانات Getwork (رأس كتلة) تحقق مما إذا كانت نتيجة التجزئة أصغر من هدف Getwork ، إذا كان الأمر كذلك إرسال مشاركة في حالة مرور أكثر من ثانية واحدة منذ استلامك لـ Getwork ، قم بإيقاف الحلقة GOTO: 1.
الآن ، إذا كنت تريد شيئًا يمكن أن يرتقي إلى مستوى مع عمال المناجم المستخدمين حاليًا ، فيجب مراعاة ما يلي:
حسابات OpenCL ، بدون هذا أنك لن تحصل على hashemates عالية من بطاقات الرسومات. Midstate ، أو بعبارة أخرى hashing التحسين. لا يتغير النصف الأول من بيانات Getwork ، لذلك لا جدوى من حساب منتصف كل عملية تجزئة. Longpolling ، يجعلك تحسب كتل أقل تالفة. Rollntime ، ويقلل التواصل مع التجمع.
اقرأ الإجابات على هذا السؤال وإذا كان لديك أي أسئلة محددة حول خوارزمية التعدين ربما يمكنك تعديل سؤالك ليطلب منه ذلك.
إذا كان كل ما تريد القيام به هو تشغيل برنامج التعدين ، هناك الكثير المتاحة. يمكنك دراسة المصدر ومعرفة ما يفعلونه.
يحتوي عميل bitcoin الرسمي على عامل تعدين أساسي في وحدة المعالجة المركزية. يمكنك فحص الرمز للحصول على فكرة عن كيفية عمل التعدين.
<h1> البرنامج التعليمي لبروتين bitcoin </ h1>
الحصول على عبر متجر التطبيقات قراءة هذه المشاركة في التطبيق لدينا!
بسيطة خوارزمية التعدين bitcoin.
أحاول معرفة كيف تعمل خوارزمية تعدين Bitcoin البسيطة في لغة بسيطة بسيطة c أو c # أو بعض اللغات الزائفة. لقد وجدت مثالا في http://pastebin. com/EXDsRbYH ، ولكن للأسف ليس واضحا ما يفعل. لم أتمكن من تشغيلها.
لنفترض أن لديّ إدخالًا واحدًا فقط: محفظة بيتكوين "abc." التي أريد استخدامها لعملة Bitcoins. أحتاج إلى فهم بسيط لخوارزمية من شأنها أن تفعل التعدين bitcoin على جهاز واحد مع مؤشر واحد على وحدة المعالجة المركزية واحد [وأنا أعلم أنه سوف يستغرق الأعمار لإكمال :)]
فائق الغباء وعديم الفائدة ، لكنني فعلت هذا من أجل الأغراض التجريبية مرة واحدة:
<h1> البرنامج التعليمي لبروتين bitcoin </ h1>
انقر فوق زر التشغيل في الجزء السفلي من هذا القسم! هذا البرنامج التعليمي التفاعلي يستخدم BitcoinJ. يمكنك تعديل أمثلة التعليمات البرمجية في المستعرض الخاص بك. هذا نظام الترميز لديه تعطيل الإنترنت ، لذلك لا تستخدمه لإرسال أو تلقي المال الحقيقي!
كيف تجعل المفتاح؟
يجب أن تكون مألوفًا بالفعل لعنوان عمومي لـ bitcoin مثل 1JwSSubhmg6iPtRjtyqhUYYH7bZg3Lfy1T. تسمح العناوين العامة للمستخدمين بتلقي الأموال ، وتسمح المفاتيح الخاصة للمستخدمين بإرسال الأموال. هذا هو المفتاح الخاص المقابل للعنوان العام أعلاه: 5KJvsngHeMpm884wtkJNzQGaCErckhHJBGFsvd3VyK5qMZXj3hS.
بعض التفاصيل الفنية: مفتاح bitcoin هو في الواقع زوج مفاتيح عمومي خاص لـ ECDSA ، والذي يستخدم المعلمة secp256k1. معادلة المنحنى هي y ^ 2 = x ^ 3 + 7.
في BitcoinJ ، يتم تمثيل مفتاح بواسطة "ECKey". لإنشاء مفتاح عشوائي ، استخدم المُنشئ الافتراضي. يتيح لك القياسي toString () طباعة المفتاح العام ، ويمكنك استخدام ToStringWithPrivate لطباعة المفتاح الخاص:
لاحظ أن مفتاح ECKey عبارة عن سلسلة ست عشرية طويلة بالفعل ، مثل 00956f37ff89dd854922d87b52fd9ec21144b5aa5162e293ebe3c157100dc4eaec. سنحول ذلك إلى عنوان في وقت لاحق. إذا كان لديك بالفعل مفتاح خاص معروف بالفعل ، يمكنك تحويل هذا إلى ECKey. ستحتاج أولاً إلى إنشاء BigInteger من ست عشري. حاول تشغيل هذا الرمز:
2. تحويل مفتاح إلى عنوان.
تحويل مفتاح إلى عنوان.
هناك العديد من شبكات البيتكوين والشوك. يمكنك استخدام نفس المفاتيح على شبكات متعددة ، ولكن العناوين التي تم إنشاؤها من هذه المفاتيح ستكون مختلفة. يمكنك تحديد شبكة بيتكوين الرئيسية ، "prodnet" مع عناوين تبدأ بـ 1.
لتحويل ECKey إلى عنوان ، تحتاج أولاً إلى إنشاء NetworkParameters. ثم استخدم الطريقة key. toAddress (netParams):
3. الجمع بين المفاتيح في المحفظة.
إنشاء محفظة وإضافة مفاتيح.
المحفظة في المقام الأول هي ArrayList من مفاتيح و NetworkParams. يمكن أن تحتوي المحافظ أيضًا على معلومات حول المعاملات المرتبطة بالمفاتيح ، ويمكن للمحافظ الاستماع إلى الأحداث من أجل تحديث الأرصدة في العناوين تلقائيًا.
يمكنك إنشاء محفظة مع معلمات الشبكة المعطاة للمنشئ. ثم تستخدم Wallet. addKey لكل ECKey.
على الرغم من أن مربع التعليمات البرمجية الموجود أدناه لا يسمح لك بحفظ الحافظة على نظام الملفات الخاص بنا ، يمكنك استخدام wallet. saveToFile (ملف walletFile) لإجراء تسلسل للمحفظة على القرص. هام: بالنسبة لبيئات الإنتاج ، يجب عليك تشفير المفاتيح الخاصة قبل الحفظ.
الحصول على مفاتيح من محافظ.
نظرًا لأنه يمكن استخدام "الحافظات" بشكل مباشر ، تقوم wallet. getKeys () بإرجاع نسخة ، وليس مرجعًا ، إلى المفاتيح. تشغيل هذا الرمز كمثال:
ساعات مكتب الطلاب.
الواجبات المنزلية / ساعات العمل:
- الطلاب الملتحقون: سجّل الدخول لمشاهدة رابط ساعة العمل.
كيف تعمل بيتكوين؟
هذا سؤال غالبا ما يسبب الارتباك. إليك شرحًا سريعًا!
أساسيات مستخدم جديد.
كمستخدم جديد ، يمكنك البدء باستخدام Bitcoin دون فهم التفاصيل الفنية. بمجرد تثبيت محفظة Bitcoin على جهاز الكمبيوتر أو الهاتف المحمول ، ستقوم بإنشاء عنوان Bitcoin الأول ويمكنك إنشاء المزيد عند الحاجة. يمكنك الكشف عن عناوينك لأصدقائك حتى يتمكنوا من الدفع لك أو العكس. في الواقع ، هذا يشبه إلى حد كبير كيفية عمل البريد الإلكتروني ، باستثناء أنه يجب استخدام عناوين Bitcoin مرة واحدة فقط.
أرصدة - سلسلة كتلة.
سلسلة الكتلة عبارة عن دفتر أستاذ عام مشترك تعتمد عليه شبكة البت كوين بأكملها. يتم تضمين جميع المعاملات المؤكدة في سلسلة الكتلة. بهذه الطريقة ، يمكن أن تحسب محافظ بيتكوين رصيدها المنفق ويمكن التحقق من المعاملات الجديدة لإنفاق bitcoins المملوكة بالفعل من قبل المنفق. يتم تطبيق التكامل والترتيب الزمني لسلسلة الكتل مع التشفير.
المعاملات - مفاتيح خاصة.
المعاملة عبارة عن تحويل للقيمة بين محافظ بيتكوين التي يتم تضمينها في سلسلة الكتل. تحتفظ محافظ بيتكوين بقطعة سرية من البيانات تسمى مفتاح خاص أو بذرة ، والتي تستخدم للتوقيع على المعاملات ، مما يوفر دليلاً رياضياً على أنها جاءت من مالك المحفظة. كما يمنع التوقيع المعاملة من تغيير أي شخص بمجرد إصدارها. يتم بث جميع المعاملات بين المستخدمين وعادة ما يتم تأكيدها من قبل الشبكة في الدقائق العشرة التالية ، من خلال عملية تسمى التعدين.
التعدين هو نظام إجماع موزع يتم استخدامه لتأكيد المعاملات المنتظرة من خلال تضمينها في سلسلة الكتلة. إنه يفرض ترتيبًا زمنيًا في سلسلة الكتل ، ويحمي حيادية الشبكة ، ويسمح لأجهزة الكمبيوتر المختلفة بالتوافق على حالة النظام. لتأكيد ذلك ، يجب أن تتم تعبئة المعاملات في كتلة تتوافق مع قواعد تشفير صارمة للغاية سيتم التحقق منها بواسطة الشبكة. تمنع هذه القواعد الحظر السابق لأن ذلك سيؤدي إلى إبطال كل الكتل التالية. كما أن التعدين يخلق ما يعادل يانصيبًا تنافسيًا يمنع أي فرد من إضافة كتل جديدة بسهولة في سلسلة البلوكات. بهذه الطريقة ، لا يستطيع أي فرد التحكم في ما يتم تضمينه في سلسلة الكتل أو استبدال أجزاء من سلسلة الكتل لاستعادة إنفاقهم.
النزول الى حفرة الارانب.
هذه مجرد ملخص قصير وموجز للنظام. إذا كنت ترغب في الوصول إلى التفاصيل ، فيمكنك قراءة الورقة الأصلية التي تصف تصميم النظام ، وقراءة وثائق المطور ، واستكشاف موقع Bitcoin wiki.
<h1> البرنامج التعليمي لبروتين bitcoin </ h1>
الحصول على عبر متجر التطبيقات قراءة هذه المشاركة في التطبيق لدينا!
خوارزمية التعدين bitcoin من وجهة نظر مبرمج.
هذه الصفحة: التعيينات تقول أن التعدين هو في الواقع حل لمشكلة رياضية ، لكن قراءة خوارزمية تجزئة Block لا تقدم الكثير من المساعدة. كما أنني حاولت قراءة التعليمات البرمجية المصدر bitcoind ، ولكن قراءة التعليمات البرمجية يستغرق وقتا أطول من قراءة وثائق :)
ولقد كتبت عميل بسيط من json-rpc لاستدعاء getwork () طريقة لجلب "البيانات" ، ولكن ماذا أفعل بجوار هذه "البيانات"؟
يمكن لأي شخص أن يفسر عملية التعدين في رأي المبرمج؟
خوارزمية التعدين هي كما يلي:
الخطوة 0 - استرداد تجزئة الكتلة السابقة من الشبكة.
الخطوة 1 - اجمع قائمة بالمعاملات المحتملة المعروفة باسم "block". تأتي قائمة المعاملات هذه من شبكة bitcoin نظير إلى نظير.
من وجهة نظر مبرمج ، قد يبدو رمز pseudo كالتالي:
ينبغي أن أحذركم من أن هناك بعض الأخطاء في هذا الوصف ، ولكن بالنسبة للجزء الأكبر ، يجب أن يكون ذلك جيدًا بما فيه الكفاية. وهنا بعض التوضيحات الأكثر فائدة:
التجزئة هي دالة تقوم بتحويل البيانات إلى رقم ضمن نطاق معين. يحتوي التجزئة على خاصية معرفة أن إخراجها لا يمكن التنبؤ به بشكل أساسي (ضمن النطاق المحدد). دالة هاش المحددة المستخدمة في تعدين البيتكوين هي SHA256 مطبقة مرتين.
كيف يعمل مستوى الصعوبة؟
هذه الطبيعة غير المتوقعة لوظيفة هاش تعني أن إدخال البيانات العشوائية (المعاملة + الرقم العشوائي) سيؤدي بشكل أساسي إلى إنتاج رقم عشوائي ضمن نطاق معين. يؤثر تقييد نطاق الإخراج المطلوب على مدى احتمال العثور عليه في جولة واحدة. وهذا يخلق طريقة للتحديد الاحتمالي لعدد المرات التي سيتم فيها العثور على حل بناء على عدد المرات التي يمكن تشغيل الخوارزمية فيها على الشبكة. على وجه التحديد ، عندما تسمع مصطلح gigahashes أو terahashes ، يشير هذا إلى عدد المرات التي يمكن تشغيل الخطوة 3....نظرًا لزيادة عدد التجزئات في الثانية عبر الشبكة بالكامل ، تثير الشبكة تلقائيًا الصعوبة بحيث يتم العثور على حل خلال حوالي 10 دقائق.
ماذا يحدث عندما يتم استخراج الكتلة؟
عندما يتم استخراج الكتلة ، يرسل عامل التعدين الكتلة إلى جميع عمال المناجم الآخرين على الشبكة كدليل على أنه وجدها. تحتوي هذه المجموعة على قائمة بالمعاملات ، التجزئة التي تم العثور عليها ، والرقم العشوائي المحدد ، والإشارة إلى التجزئة السابقة. وبما أن كل عامل منجم يحصل على الكتلة الملغومة حديثًا ، فإنه يزيل جميع المعاملات التي يقوم بها حاليًا التعدين الموجودة داخل الكتلة (لأنه تم تأكيدها بالفعل في سلسلة البلوكات) وبث الكتلة إلى عمال المناجم الآخرين الذين يفعلون الشيء نفسه. نشر يحدث بسرعة كبيرة. ملاحظة: يحصل عامل التعدين الأصلي للكتلة على "رسم عمال المناجم" ، وهو مكافأة على أي عملات غير منفقة من المعاملات بالإضافة إلى مكافأة "العملة المعدنية" ، التي بدأت عند 50 بيتكوين ونصفا بعد كل 210،000 كتلة (حوالي مرة واحدة كل 4 سنوات). في نهاية المطاف ، سيحصل المكافأة على هذه العملة في وقتٍ قصيرٍ إلى حدٍ كبيرٍ جداً ، مقارنةً برسوم عمال المناجم.
أي تجزئة هو تجزئة صالحة. السؤال هو إذا كنت تجتمع المعايير لدينا. ما قمت به هو في الواقع بضعة أشياء (سوف نعود إلى هذا) التي تصطف معا مع سلسلة من طول محدد. يمكنك تجزئة تلك السلسلة بأكملها. فكر في التجزئة الناتجة عنك كرقم. ما نريده هو أن يكون الرقم الناتج أقل من رقم مستهدف. إذن ، الأمر أشبه بسحب مليار مجسم من جانب ، والخروج برقم تحت الرقم المستهدف. هذا الرقم المستهدف يعتبر "صعوبة". مع تزايد عدد الأشخاص الذين يموتون ، نخفّض الرقم المستهدف لتقليل الاحتمالية لأي ضربة دائرية.
والأهم من ذلك ، أن بعض الأشياء التي نصادفها في السلسلة التي قمنا بتجميعها هي أشياء يمكننا السماح لنا بضبطها. تجزئة ليست بالضبط مثل المتداول يموت لأنه إذا كان لدينا نفس الشيء مرارا وتكرارا نحصل على نفس النتيجة مرارا وتكرارا. ومع ذلك ، حتى تعديل بسيط في ما يمكن أن يكون له تأثير كبير على ما هو التجزئة الناتجة. يسمى العنصر الأساسي الذي يمكننا التلاعب به "nonce". في الأساس نختار أداة غير رقمية لاستخدامها في السلسلة ، وتجزئة السلسلة بأكملها ، ونرى ما نحصل عليه. إذا لم يكن التجزئة غير ناجح ، فنحن نقوم بتعديل القيمة غير المحاسبية وإعادة المحاولة. النقص نفسه ليس كبيرًا جدًا ، لذا هناك عدد محدود من الأشكال المختلفة للنقرات التي يمكنك تجربتها. العنصر التالي الذي يمكننا تغييره هو طابع زمني. يُسمح لنا بإزاحة الطابع الزمني أيضًا. كل تذبذب في الطابور الزمني يسمح لنا من خلال المجموعة الكاملة من قيم nonce الممكنة من جديد. نكرر هذه العملية لاستنفاد إمكانات nonce ، ثم تلوي الطابع الزمني مرارًا وتكرارًا حتى تصبح التجزئة الناتجة أقل من رقم هدف الصعوبة.
عندما يحدث ذلك ، فإننا نعلن للعالم أن هذا الطابع الزمني بالإضافة إلى هذا المجال يعمل على حل المشكلة. آخرون التحقق من صحة ذلك ويضاف إلى سلسلة كتلة. تعتبر الكتلة "تم التحقق من صحتها" بمجرد أن يكون عدد معين من الكتل "عميقة" في سلسلة الكتلة ، مما يعني أنها كتلة تاريخية مقارنة بالكتلة الحالية. التحقق من الصحة هو جزء من تسمية خاطئة هنا لأنه ليس معروفًا أن الكتلة غير صالحة بالفعل. ما نثبت صحة ذلك هو إثبات العمل ، يعني بمجرد أن يتم دفن الكتلة التاريخية بقدر كافٍ من الجهد المبذول لإنشاء هذا التاريخ الذي لا يمكن التغلب عليه بالنسبة لشخص آخر يحاول إنشاء اختلاف مختلف في التاريخ. سيتعين عليهم إنشاء نسختهم الخاصة من تلك المجموعة (السبب الوحيد وراء ذلك هو الكتابة في نسختهم الخاصة من المعاملات ، أي سرقة العملات) ثم حلها بأنفسهم ، ثم حل الكتلة التالية والآخر بعد ذلك ، مع "أي شخص آخر. هذا يعني أنهم سيتعين عليهم تجاوز العالم في لعبة النرد. ربما مرة واحدة في تاريخ الكون قد يحصل شخص محظوظ على nonce مع اثنين أو ثلاثة من الكتل إلى الخلف ، ولكن مع 120 كتل تتطلب معظم حمامات التعدين والتبادلات الآن؟ لن يحدث ، من أي وقت مضى.
إن الغرض من حل "اللغز" هو: (أ) تأخير تعدين الكتلة إلى 10 دقائق و (ب) لتحمل تكاليف في العالم الحقيقي لتعدين كتلة (إنفاق قدرة cpu ، وبالتالي الطاقة). التكاليف موجودة لمنع هجوم سيبيل (وضع العديد من عمال المناجم في العمل للقيام بهجوم 51 ٪).
يتم وضع التأخير للسماح لكتلة جيدة للنشر في جميع أنحاء العالم لجميع عمال المناجم الآخرين ، دون إعطاء عامل التعدين الذي سككت فقط كتلة جديدة ميزة headstart. لذلك ، يجب أن يكون زمن التوقف (10 دقائق) من حيث الحجم أكبر من تأخر الانتشار (بضع ثوان).
لذا فإن هذا النوع من الأحجية غير ذي صلة ، يمكن أن يكون كذلك سودوكو عملاقة.
هذه هي لعبة ، بمجرد أن تحل كتلة ، اللعبة يزيد من صعوبة. لكن بصراحة لا تحل الخوارزمية أي مشاكل حقيقية. الأمر لا يشبه التعدين الخاص بالانتخابات ، حقيقة أن قيمة العالم الحقيقي مرتبطة بهذه "اللعبة" تجعلها مثيرة للاهتمام....للأسف ، ارتفع عدد أسعار GPU بسبب Bitcoin وغيرها.
كيف يتأثر المال العالم الحقيقي من "لعبة" خوارزمية رقمية أمر مثير للدهشة!
حل الألغاز لا يخلق قيمة ، استخدام الانتخابات لحل اللغز نفسه لا يجعله أكثر صلاحية.
قيمة قطعة صغيرة من النقود هي فقط متوفرة في السوق الفورية. بسبب ذلك ، زادت شعبية الطلب عليه.
بطريقة ما كانت مثل المقامرة ، من خلال ضرب Lucky Block تحصل على مكافأة يمكن إعادتها إلى المال.
في النهاية ، لا أفهم بالفعل ما تفعله الخوارزمية فعلاً.
Cryptocurrency for Dummies: Bitcoin and Beyond.
خلق Bitcoin الكثير من الطنانة على شبكة الإنترنت. كان سخر ، تم الاعتداء عليه ، وفي النهاية تم قبوله وأصبح جزءًا من حياتنا. ومع ذلك ، ليس البت كوين لوحده. في هذه اللحظة ، هناك أكثر من 700 تطبيق AltCoin ، والتي تستخدم مبادئ مشابهة CryptoCurrency.
لذا ، ماذا تحتاج لإنشاء شيء مثل بيتكوين؟
بدون محاولة فهم دافعك الشخصي لإنشاء نظام لامركزي مجهول لتبادل المال / المعلومات (ولكن مع ذلك يحدوه الأمل في أن يكون في نطاق الأنشطة المعنوية والقانونية) ، دعنا أولاً نقضي على المتطلبات الأساسية لنظام الدفع الجديد:
يجب إجراء جميع المعاملات عبر الإنترنت. لا نريد أن تكون لدينا سلطة مركزية ستقوم بمعالجة المعاملات. يجب أن يكون المستخدم مجهول الهوية ويتم تحديد هويته فقط من خلال هويته الظاهرية. يمكن لمستخدم واحد أن يكون لديه العديد من الهويات الافتراضية كما هو أو هي يحب عرض القيمة (جديد) الفواتير الافتراضية) يجب أن تضاف بطريقة تسيطر عليها.
تقاسم المعلومات اللامركزية عبر الإنترنت.
من الممكن بالفعل تنفيذ أول متطلبين من قائمتنا ، إزالة سلطة مركزية لتبادل المعلومات عبر الإنترنت. ما تحتاجه هو شبكة نظير إلى نظير (P2P).
يشبه مشاركة المعلومات في شبكات P2P مشاركة المعلومات بين الأصدقاء والعائلة. إذا كنت تشارك معلومات مع عضو واحد على الأقل في الشبكة ، فستصل هذه المعلومات في نهاية المطاف إلى كل عضو آخر في الشبكة. والفرق الوحيد هو أنه في الشبكات الرقمية لن يتم تغيير هذه المعلومات بأي شكل من الأشكال.
ربما تكون قد سمعت عن BitTorrent ، أحد أنظمة مشاركة الملفات P2P الأكثر شيوعًا (تسليم المحتوى). تطبيق آخر شائع لمشاركة P2P هو Skype ، بالإضافة إلى أنظمة الدردشة الأخرى.
خلاصة القول هي أنه يمكنك تنفيذ أو استخدام أحد بروتوكولات P2P مفتوحة المصدر الحالية لدعم عملة التشفير الجديدة الخاصة بك ، والتي سنطلق عليها اسم Topcoin.
لفهم الهويات الرقمية ، نحتاج إلى فهم كيفية عمل تجزئة التشفير. عملية الفرز هي عملية تخطيط البيانات الرقمية لأي حجم تعسفي لبيانات ذات حجم ثابت. بكلمات أبسط ، التجزؤ هو عملية أخذ بعض المعلومات التي يمكن قراءتها وصنع شيء لا معنى له على الإطلاق.
يمكنك مقارنة التجزئة للحصول على إجابات من السياسيين. المعلومات التي تقدمها لهم واضحة ومفهومة ، في حين أن المخرجات التي يقدمونها تبدو وكأنها تيار عشوائي للكلمات.
هناك بعض المتطلبات التي تحتاجها خوارزمية التجزئة الجيدة:
يجب أن يتم إصلاح طول إخراج خوارزمية التجزئة (قيمة جيدة هي 256 بايت) حتى أصغر تغيير في بيانات الإدخال يجب أن ينتج فرقًا كبيرًا في الناتج سيؤدي نفس الإدخال دائمًا إلى إخراج نفس النتيجة يجب ألا تكون هناك طريقة لعكس قيمة الإخراج لحساب الإدخال يجب ألا يكون حساب قيمة HASH مكثفًا ويجب أن يكون سريعًا.
إذا ألقيت نظرة على الإحصائيات البسيطة ، فسيكون لدينا عدد محدود (ولكنه ضخم) من قيم HASH المحتملة ، وذلك ببساطة لأن طول HASH لدينا محدود. ومع ذلك ، يجب أن تكون خوارزمية التجزئة الخاصة بنا (دعونا نسميها Politician256) موثوقة بدرجة كافية بحيث أنها تنتج قيم تجزئة مكررة لمدخلات مختلفة في كثير من الأحيان مثل القرد في حديقة الحيوان تمكن من كتابة هامليت بشكل صحيح على الآلة الكاتبة!
إذا كنت تعتقد أن هاملت هو مجرد اسم أو كلمة ، يرجى التوقف عن القراءة الآن ، أو قراءة عن نظرية القرد اللانهائي.
عند توقيع ورقة ، كل ما عليك القيام به هو إلحاق توقيعك بنص المستند. التوقيع الرقمي مشابه: تحتاج فقط إلى إلحاق بياناتك الشخصية بالمستند الذي تقوم بالتوقيع عليه.
إذا فهمت أن خوارزمية التجزئة تلتزم بالقاعدة حيث يجب أن يؤدي التغيير الأصغر في بيانات الإدخال إلى إحداث فرق كبير في المخرجات ، فمن الواضح أن قيمة HASH التي تم إنشاؤها للمستند الأصلي ستكون مختلفة عن قيمة HASH التي تم إنشاؤها للمستند مع التوقيع الملحق.
إن مجموعة من المستند الأصلي وقيمة HASH التي تم إنتاجها للمستند مع بياناتك الشخصية الملحقة هي وثيقة موقعة رقمياً.
وهذه هي الطريقة التي نصل بها إلى هويتك الافتراضية ، والتي يتم تعريفها على أنها البيانات التي قمت بإلحاقها بالمستند قبل أن تقوم بإنشاء قيمة HASH.
بعد ذلك ، تحتاج إلى التأكد من أنه لا يمكن نسخ توقيعك ، ولا يمكن لأي شخص تنفيذ أي معاملة نيابة عنك....إن أفضل طريقة للتأكد من تأمين توقيعك هو الاحتفاظ بها بنفسك ، وتوفير طريقة مختلفة لشخص آخر للتحقق من صحة المستند الموقّع. مرة أخرى ، يمكننا الرجوع إلى التكنولوجيا والخوارزميات المتوفرة بسهولة. ما نحتاج إلى استخدامه هو تشفير المفتاح العام المعروف أيضًا باسم التشفير غير المتماثل.
لجعل هذا العمل ، تحتاج إلى إنشاء مفتاح خاص ومفتاح عام. هذان المفتاحان سيكونان في نوع ما من الارتباط الرياضي ويعتمدان على بعضهما البعض. ستضمن الخوارزمية التي ستستخدمها في عمل هذه المفاتيح أن يكون لكل مفتاح خاص مفتاح عمومي مختلف. كما تشير أسماءهم ، فإن المفتاح الخاص هو المعلومات التي ستحتفظ بها لنفسك فقط ، في حين أن المفتاح العام هو المعلومات التي ستشاركها.
إذا كنت تستخدم مفتاحك الخاص (هويتك) والمستند الأصلي كقيم إدخال لخوارزمية التوقيع لإنشاء قيمة HASH ، بافتراض أنك حافظت على سر المفتاح الخاص بك ، فيمكنك التأكد من أنه لا يمكن لأي شخص آخر إنتاج نفس قيمة HASH لذلك المستند .
إذا احتاج أي شخص إلى التحقق من صحة توقيعك ، فسوف يستخدم المستند الأصلي ، وقيمة HASH التي قمت بإنشائها ، ومفتاحك العام كمدخلات لخوارزمية التحقق من التوقيع للتحقق من مطابقة هذه القيم.
كيفية ارسال بيتكوين / المال.
بافتراض أنك قمت بتنفيذ اتصالات P2P ، وآليات لإنشاء هويات رقمية (مفاتيح خاصة وعامة) ، وقدمت طرقًا لتوقيع المستخدمين على المستندات باستخدام مفاتيحهم الخاصة ، فأنت على استعداد لبدء إرسال المعلومات إلى نظرائك.
نظرًا لأننا لا نملك سلطة مركزية تتحقق من مقدار المال الذي تملكه ، يجب أن يسألك النظام عن ذلك في كل مرة ، ومن ثم تحقق مما إذا كنت قد كذبت أم لا. لذلك ، قد يحتوي سجل معاملتك على المعلومات التالية:
لدي 100 Topcoins أريد أن أرسل 10 عملات معدنية إلى الصيدلي الخاص بي (إذا كنت ستشمل المفتاح العام للصيادلة هنا) أريد إعطاء عملة معدنية واحدة كرسوم معاملات على النظام (سوف نعود إلى هذا لاحقًا) إبقاء ال 89 قطعة نقدية المتبقية.
الشيء الوحيد المتبقي للقيام به هو تسجيل رقم المعاملة رقميًا مع مفتاحك الخاص ونقل سجل المعاملة إلى نظرائك في الشبكة. عند هذه النقطة ، سيتلقى الجميع المعلومات التي يرسلها شخص ما (هويتك الافتراضية) إلى شخص آخر (الهوية الظاهرية للصيدلي).
مهمتك تتم ومع ذلك ، لن يتم دفع ثمن الدواء الخاص بك حتى توافق الشبكة بأكملها على أن لديك بالفعل 100 قطعة نقدية ، وبالتالي يمكن تنفيذ هذه المعاملة. فقط بعد التحقق من صحة معاملتك ، سيحصل الصيدلي على الأموال ويرسل لك الدواء.
عمال المناجم - سلالة جديدة من وكلاء.
ومن المعروف أن عمال المناجم هم أشخاص يعملون بجد للغاية ، والتي ، في رأيي ، أقل بكثير من الأجر. في العالم الرقمي للعملة الموروثة ، يلعب عمال المناجم دوراً مماثلاً جداً ، إلا في هذه الحالة ، يقومون بالعمل المكثف الحسابي بدلاً من حفر أكوام التراب. وعلى عكس عمال المناجم الحقيقيين ، كسب بعض عمال المناجم المجهريين ثروة صغيرة على مدى السنوات الخمس الماضية ، لكن الكثير من الآخرين فقدوا ثروة في هذا المسعى المحفوف بالمخاطر.
عمال المناجم هم العنصر الأساسي في النظام وغرضهم الرئيسي هو التأكد من صحة كل المعاملات التي يطلبها المستخدمون.
لتأكيد صحة معاملتك (أو مزيج من عدة معاملات طلبها عدد قليل من المستخدمين الآخرين) ، سيقوم عمال المناجم بعمل أمرين.
أولاً ، سيعتمدون على حقيقة أن "الجميع يعرف كل شيء" ، مما يعني أن كل معاملة يتم تنفيذها في النظام يتم نسخها وإتاحتها لأي نظير في الشبكة. سوف ينظرون في تاريخ معاملاتكم للتحقق من أن لديك 100 قطعة نقدية في البداية. بمجرد تأكيد رصيد حسابك ، سيؤدي ذلك إلى إنشاء قيمة محددة لـ HASH. يجب أن يكون لهذه القيمة تجزئة تنسيق محدد؛ يجب أن تبدأ مع عدد معين من الأصفار.
هناك نوعان من المدخلات لحساب قيمة HASH هذه:
وبالنظر إلى أنه حتى أصغر تغير في بيانات المدخلات يجب أن يُحدث فرقًا كبيرًا في قيمة HASH للمخرجات ، فإن مهمة التعدين صعبة للغاية. يحتاجون إلى إيجاد قيمة محددة لمتغير إثبات العمل الذي سينتج بداية HASH مع الأصفار. إذا كان النظام الخاص بك يتطلب ما لا يقل عن 40 صفراً في كل معاملة تم التحقق من صحتها ، فسوف يحتاج عامل التعدين إلى حساب قيم HASH مختلفة تبلغ 2 ^ 40 تقريبًا للعثور على دليل العمل المناسب.
بمجرد أن يجد عامل منجم القيمة الصحيحة لإثبات العمل ، فإنه يحق له الحصول على رسوم معاملات (العملة الوحيدة التي كنت على استعداد لدفعها) ، والتي يمكن إضافتها كجزء من المعاملة التي تم التحقق من صحتها. يتم إرسال كل معاملة تم التحقق من صحتها إلى الأقران في الشبكة ويتم تخزينها في تنسيق قاعدة بيانات محدد يعرف باسم Blockchain.
ولكن ماذا يحدث إذا ارتفع عدد عمال المناجم ، وأصبحت معداتهم أكثر كفاءة؟ كان يتم استخدام Bitcoin على وحدات المعالجة المركزية (CPUs) ، ثم GPUs و FPGAs ، ولكن في النهاية بدأ عمال المناجم بتصميم شرائح ASIC الخاصة بهم ، والتي كانت أقوى بكثير من هذه الحلول المبكرة....مع ارتفاع معدل التجزئة ، وكذلك صعوبة التعدين ، وبالتالي ضمان التوازن. عند إدخال المزيد من الطاقة في الشبكة ، تزداد الصعوبة والعكس صحيح ؛ إذا قرر العديد من عمال المناجم سحب القابس لأن عملياتهم لم تعد مربحة ، فستتم إعادة ضبط الصعوبة لتتناسب مع معدل التجزئة الجديد.
Blockchain - العالمي Cryptocurrency الأستاذ.
يحتوي blockchain على تاريخ جميع المعاملات التي تتم في النظام. تصبح كل معاملة تم التحقق من صحتها ، أو مجموعة من المعاملات ، حلقة أخرى في السلسلة.
لذا ، فإن blockcin بيتكوين هو ، أساسا ، دفتر الأستاذ العام حيث يتم سرد المعاملات في ترتيب زمني.
تسمى الحلقة الأولى في blockcin Bitcoin بـ Genesis Block.
لقراءة المزيد حول كيفية عمل blockchain ، أقترح قراءة Blockchain Technology شرح: Powercoin Bitcoin ، بقلم Nermin Hajdarbegovic.
لا يوجد حد لعدد العمال الذين قد يكونوا نشطين في النظام الخاص بك. وهذا يعني أنه من الممكن أن يقوم اثنان أو أكثر من عمال المناجم بالتحقق من نفس المعاملة. إذا حدث هذا ، فسيقوم النظام بفحص الجهد الكلي الذي استثمره كل عامل من عمال المناجم في التحقق من صحة المعاملة عن طريق حساب الأصفار. وسيستمر عامل التعدين الذي استثمر في بذل المزيد من الجهد (العثور على المزيد من الأصفار البادئة) وسيُقبل قبوله.
السيطرة على العرض النقدي.
القاعدة الأولى لنظام Bitcoin هي أنه يمكن أن يكون هناك حد أقصى قدره 21،000،000 Bitcoins. لم يتحقق هذا الرقم بعد ، ووفقًا للاتجاهات الحالية ، يُعتقد أن هذا العدد سيتم الوصول إليه بحلول عام 2140.
قد يتسبب ذلك في استجواب فائدة مثل هذا النظام ، لأن 21 مليون وحدة لا تبدو كبيرة. ومع ذلك ، يدعم نظام Bitcoin قيم كسرية لأسفل حتى الثمانية عشرية (0.00000001). تسمى هذه الوحدة الصغيرة من البيتكوين بـ Satoshi ، تكريماً لـ Satoshi Nakamoto ، المطور المجهول وراء بروتوكول Bitcoin.
يتم إنشاء العملات الجديدة كمكافأة لعمال المناجم للتحقق من صحة المعاملات. هذه المكافأة ليست هي رسوم المعاملة التي حددتها عند إنشاء سجل المعاملات ، ولكن يتم تعريفه بواسطة النظام. تقل قيمة المكافأة بمرور الوقت ، وسيتم ضبطها في النهاية على الصفر بمجرد الوصول إلى إجمالي عدد العملات التي تم إصدارها (21 مليونًا). عندما يحدث ذلك ، ستلعب رسوم المعاملات دوراً أكثر أهمية حيث قد يختار عمال المناجم إعطاء الأولوية لعمليات أكثر قيمة للتحقق من صحتها.
وبصرف النظر عن وضع الحد الأعلى في الحد الأقصى لعدد العملات ، فإن نظام Bitcoin يستخدم طريقة مثيرة للاهتمام للحد من الإنتاج اليومي للقطع النقدية الجديدة. من خلال معايرة الحد الأدنى لعدد الأصفار البادئة المطلوبة لحساب إثبات العمل ، فإن الوقت المطلوب للتحقق من صحة المعاملة ، والحصول على مكافأة عملات معدنية جديدة ، يتم ضبطه دائمًا على 10 دقائق تقريبًا. إذا انخفض الوقت بين إضافة كتل جديدة إلى blockchain ، قد يتطلب النظام أن إثبات العمل يولد 45 أو 50 من الأصفار البادئة.
لذلك ، من خلال الحد من سرعة وكمية العملات الجديدة التي يمكن توليدها ، فإن نظام Bitcoin يتحكم بفعالية في عرض النقود.
ابدأ "طباعة" عملتك الخاصة.
كما ترون ، فإن إنشاء نسختك الخاصة من Bitcoin ليس بهذه الصعوبة. من خلال الاستفادة من التقنية الحالية ، التي يتم تنفيذها بطريقة مبتكرة ، سيكون لديك كل ما تحتاج إليه من أجل عملة مشفرة.
يتم إجراء جميع المعاملات عبر الإنترنت باستخدام اتصال P2P ، وبالتالي إزالة الحاجة إلى سلطة مركزية يمكن للمستخدمين إجراء المعاملات المجهولة عن طريق استخدام التشفير غير المتزامن ويتم التعرف عليهم فقط عن طريق مفتاح المفتاح / المفتاح العام الخاص بهم لقد قمت بتطبيق دفتر أستاذ عالمي مصادق عليه المعاملات التي تم نسخها بأمان إلى كل نظير في الشبكة لديك عرض نقود آمن ومتماسك ومسيطر عليه ، مما يضمن استقرار عملتك دون الحاجة إلى سلطة مركزية.
آخر شيء يستحق الذكر هو أن ، في جوهرها ، هي عملة cryptocurrency وسيلة لنقل القيمة / المعلومات المجهولة من مستخدم إلى آخر في شبكة نظير إلى نظير الموزعة.
فكر في استبدال العملات في سجل معاملاتك ببيانات عشوائية قد يتم تشفيرها باستخدام تشفير غير متزامن بحيث يمكن للمرسل والمتلقي فقط فكها. الآن فكر في تطبيق ذلك على شيء مثل إنترنت الأشياء!
يستكشف عدد من الشركات ذات التقنية العالية بالفعل استخدام تقنية blockchain في منصات إنترنت الأشياء ، ولكن هذا ليس التطبيق الوحيد المحتمل لهذه التقنية الجديدة نسبيًا.
إذا كنت لا ترى أي سبب لإنشاء عملة بديلة خاصة بك (بخلاف المزاح العملي) ، فيمكنك محاولة استخدام نفس الأسلوب أو أسلوب مماثل لشيء آخر ، مثل المصادقة الموزعة ، وإنشاء العملات الافتراضية المستخدمة في الألعاب والشبكات الاجتماعية والتطبيقات الأخرى ، أو يمكنك المضي قدمًا لإنشاء برنامج ولاء جديد لنشاطك التجاري عبر الإنترنت ، والذي سيكافئ العملاء المنتظمين برموز افتراضية يمكن استردادها في وقت لاحق.
وأوضح Blockchain التكنولوجيا: تشغيل Bitcoin.
من نرمين حجداربيجوفيتش - المحرر الفني @ توبال....أصبحت Microsoft مؤخراً أحدث اسم كبير للارتباط الرسمي بـ Bitcoin ، العملة الافتراضية اللامركزية. ومع ذلك ، فإن شركة ريدموند لم تخرج كلها ، وسوف تدعم فقط دفعات البيتكوين على منصات محتوى معينة ، مما يشكل جزءًا صغيرًا من نشاطها التجاري.
ما هي الصفقة الكبيرة مع بيتكوين؟
مثل معظم القصص الجيدة ، تبدأ ملحمة البيتكوين بأسطورة الخلق. تم نشر بروتوكول cryptocurrency المصدر المفتوح في عام 2009 بواسطة Satoshi Nakamoto ، وهو مطور مجهول (أو مجموعة من مطوري Bitcoin) يختبئون خلف هذا الاسم المستعار. لم يتم الكشف عن هوية ساتوشي ناكاموتو الحقيقية حتى الآن ، على الرغم من أن المفهوم يعود جذوره إلى حركة سايفر-بانك. وليس هناك نقص في نظريات المضاربة عبر الويب فيما يتعلق بهوية ساتوشي.
قضى بيتكوين في السنوات القليلة القادمة وهو يقبع ، ولا يعتبر أكثر من فضول إنترنت آخر محجوز للمتحمسون والمتحمسين المشفرين. في نهاية المطاف اكتسبت شركة Bitcoin قوة الدفع في العديد من الحشود. لم يكن لدى المجموعات المختلفة إلا القليل من القواسم المشتركة - بدءا من جماهير التجمع ، إلى قراصنة القبعات السوداء ، والفوضويين ، والمتحررين ، وتجار المخدرات الداكنة. وأصبح في نهاية المطاف مقبولاً من قبل رجال الأعمال الشرعيين والعلامات التجارية الكبرى مثل Dell و Microsoft و Newegg.
في حين أنه عادة ما يوصف بأنه "عملة مشفرة" أو "عملة رقمية" أو "عملة افتراضية" بدون قيمة جوهرية ، فإن Bitcoin هي أكثر من ذلك بقليل.
هذا هو السبب في أننا لن نهدر الكثير من الوقت في الأساسيات - بروتوكول Bitcoin ، أو إثبات العمل ، أو اقتصاديات "التعدين" من bitcoin ، أو طريقة عمل شبكة bitcoin. تتوفر الكثير من الموارد عبر الإنترنت ، ويمكن تطبيق الدعم لمدفوعات البيتكوين بسهولة في نطاق أصغر مطور التطبيق ، ناهيك عن الشركات ذات الوزن الثقيل مثل مايكروسوفت.
النظر الى ما بعد الضجيج - في blockchain.
إذن ما هو blockchain؟ إن Bitcoin blockchain هو العمود الفقري للتكنولوجيا في الشبكة ويوفر بنية بيانات مضادة للعبث ، مما يوفر دفتر استاذ عام مشترك مفتوح للجميع. الرياضيات المعنية مثيرة للإعجاب ، واستخدام الأجهزة المتخصصة لبناء هذه السلسلة الضخمة من البيانات المشفرة يجعل من المستحيل عمليا تكرارها.
يتم تضمين جميع المعاملات المؤكدة في blockcin بيتكوين. يضمن استخدام تشفير SHA-256 سلامة تطبيقات blockchain - يجب توقيع جميع المعاملات باستخدام مفتاح خاص أو بذرة ، مما يمنع الأطراف الثالثة من العبث بها. يتم تأكيد المعاملات من قبل الشبكة في غضون 10 دقائق أو نحو ذلك ويتم التعامل مع هذه العملية من قبل عمال المناجم بيتكوين. يستخدم التعدين لتأكيد المعاملات من خلال نظام إجماع مشترك ، وعادة ما يتطلب عدة تأكيدات مستقلة للمعاملة. تضمن هذه العملية التوزيع العشوائي ويجعل العبث أمرًا صعبًا للغاية.
في حين أنه من الممكن نظريًا تقديم تنازلات أو اختراق الشبكة من خلال ما يسمى بـ 51٪ من الهجوم ، فإن الحجم الهائل للشبكة والموارد اللازمة لسحب مثل هذا الهجوم تجعله غير عملي عمليًا. على عكس العديد من الشركات القائمة على بيتكوين ، أثبتت شبكة blockchain مرونة كبيرة. هذا هو نتيجة لعدد من العوامل ، بما في ذلك بشكل رئيسي استثمار كبير في صناعة التعدين بيتكوين.
تعمل تقنية Blockchain ، ببساطة وببساطة ، حتى في تجسيد bitcoin. يمكن استخدام blockchain تشفير لتوقيع المعلومات الحساسة رقميا ، واللامركزية على الثقة ؛ جنبا إلى جنب مع استخدامها لتطوير العقود الذكية وخدمات الضمان ، والركن ، والتوثيق ، وأكثر من ذلك بكثير. تحتوي تقنية Blockchain على عدد لا يحصى من التطبيقات المحتملة ، ولكن هذه هي المشكلة - لم تتحقق الإمكانية بعد. قبول دفعات البيتكوين لمحتوى Xbox في اللعبة أو بطارية الكمبيوتر المحمول لا يقترب حتى.
إذن ماذا عن هذا الاحتمال؟ هل أي شخص يأخذ تقنية blockchain على محمل الجد؟
مرحبا بكم في الغرب المتوحش.
من المؤكد أن تكنولوجيا البيتكوين و blockchain "موجودة هناك" ، ويرى بعض المطورين أنها الحدود التالية. يمكن أن يثبت تطوير حالة استخدام لتطبيقات تكنولوجيا البيتكوين و blockchain المربح على المدى الطويل ، ويتوق الكثيرون لدخول الفضاء.
قم بإلقاء عملة غير منظمة ، ومجهولة الهوية في المزيج ، ولديك المؤهلات اللازمة للحصول على الذهب المناسب ، مدعومًا بالمضاربين وأصحاب رؤوس الأموال المغامرة. إن بيع المجارف هو أفضل طريقة لكسب المال في الاندفاع الذهبي ، كما أن صناعة التعدين بيتكوين لها هذا الجانب أيضًا. يبدو كل شيء مثل "Wild West Boomtown" ، مع الويسكي الزاحف الزاحف الذي يستهوي الخارجين عن القانون على التجديف للحصول على باك سريع - وبالتأكيد ليست بيئة لضعاف القلوب.
إذن ما هو على الأرض بول من IBM و Dominic من Bosch في الصالون ، يرتدي مثل Marty McFly في Back to the Future III؟
الأمر بسيط - فهم يحصلون على السبق!
تبحث كل من شركتي Bosch و IBM عن طرق لتسخير تكنولوجيا blockchain كجزء من برامج تطوير إنترنت الأشياء (IoT). انهم ليسوا وحدهم اما - تذكر مايكروسوفت؟...بعد أيام قليلة من إعلان Microsoft عن إعلان Bitcoin الأصلي ، قالت الشركة إنها مهتمة أيضًا بالتكنولوجيا وراء Bitcoin للأجهزة الموزعة أو المتصلة (أو أجهزة IoT).
سامسونج أيضا على متن الطائرة ، وعرضت شركة الإلكترونيات الاستهلاكية الكورية العملاقة تكنولوجيا blockchain في CES 2015 ، إلى جانب شركة IBM.
سامسونج و IBM يقدمان عرضا لسلسلة POC. إنها تعيش في #CES pic. twitter. com/2lsgAaRk33.
نظرت فوربس في الآونة الأخيرة في الأمر وجعلت توقعًا جريئًا - وخلصت مجلة الأعمال إلى أنه استنادًا إلى كيفية عمل تقنية blockchain ، فمن المرجح أن تتحرر من البيتكوين لتوزيع التطبيقات الموزعة في وقت ما من هذا العام.
في الواقع ، يعمل العديد من مطوري bitcoin بالفعل على ما يسمى بمشاريع bitcoin 2.0 أو bitcoin 3.0. غالبًا ما يكون لهذه الأشياء القليل من المفهوم الأصلي ، على الرغم من أنها تستخدم عادةً نوعًا من العملة الرمزية. Ethereum هو أحد الأمثلة - فهو مبني على تقنية blockchain ، لكن التركيز على العقود الذكية بدلاً من العملات البديلة. تقوم IBM و Samsung بتوظيف Ethereum لمشاريع IoT الخاصة بهم. يعمل بعض من نفس الأشخاص المشاركين في تطوير Ethereum على مشروع آخر ، يطلق عليه Storj ، وهي شبكة تخزين سحابة نظير إلى نظير موزعة بالكامل مع تشفير من طرف إلى طرف.
استخدامات محتملة وآثار تكنولوجيا Blockchain.
هناك بالفعل الآلاف من المطورين وعشرات من الشركات التي تقوم بتجربة تطبيقات blockchain ، ولكننا لم نتمكن بعد من رؤية مشاريع واسعة النطاق مبنية حول تقنية blockchain التي ليست بيتكوين أو "altcoin" ذات الصلة. يمكن أن يقدم إنترنت الأشياء تكنولوجيا blockchain للجماهير. تتوقع شركة الأبحاث IDC أن تنمو قاعدة المستخدمين بمعدل نمو سنوي مركب (CAGR) بنسبة 17.5٪ خلال هذا العقد ، مع ما يصل إلى 28.1 مليار جهاز إنترنت الأشياء في البرية بحلول عام 2020 ، وإيرادات تجاوزت 7 تريليون دولار في نفس العام.
التكنولوجيا موجودة ، إنها تعمل ، إنها مجانية ، والكثير من الأشخاص الأذكياء يتلاعبون بها. ومع ذلك ، حتى الآن تراوحت تطبيقات blockchain البديلة من النكات العملية إلى المشاريع التجريبية الصغيرة. لا تزال التكنولوجيا الناشئة في مهدها ، وهذا أمر متوقع.
الاحتمال هو واضح نوعا ما. إن تحقيق اللامركزية في الثقة هو أمر كبير ، مما يسمح بإنشاء شبكات واسعة وآمنة من دون نقطة واحدة للفشل. يمكنك التفكير فيها كطبقة إضافية من الإنترنت ، وهي طبقة يمكن استخدامها للمصادقة ، واللافتات ، والاتصالات الآمنة وتوزيع المحتوى ، والمعاملات المالية وأكثر من ذلك بكثير.
يمكن أن تتيح تقنية Blockchain للمطورين طريقة بسيطة للاستعانة بمصادر خارجية للأمان. على سبيل المثال ، بدلاً من إنشاء أجهزة وشبكات إنترنت الأشياء الآمنة ، يمكن تفريغ الكثير من الرفع الثقيل بشكل فعال إلى blockchain ، مما يؤدي إلى تحرير الموارد من جانب العميل وتسريع عملية التطوير.
الهدف المحير لجميع مطوري blockchain هو جعل هذه التكنولوجيا فقط سلسة وغير مزعجة مثل بروتوكولات الإنترنت. على سبيل المثال ، كم عدد الأشخاص الذين يدركون أنهم يستخدمون TCP / IP في كل مرة يبدأون فيها تصفح الشبكة؟ هذا هو الهدف النهائي - لجعل استخدام تقنية blockchain غير مرئي للمستخدم النهائي. يمكن أن تصبح تقنية Blockchain طبقة أخرى مضافة إلى العديد من المنتجات والخدمات من أجل توفير المزيد من الوظائف والأمان ، مع توفير الموارد وساعات العمل للمطورين.
سرعة الهروب.
رؤى مستقبل أكثر حرية.
شرح Bitcoin Mining Like You are Five: Part 2 - Mechanics.
في الجزء الأول ، ألقيت نظرة على الحوافز التي ينطوي عليها تعدين Bitcoin وكيف يتم استخدامها لضمان تاريخ واحد للمعاملة اللازمة لمنع بيع bitcoins مرتين. في هذا المنشور ، سنلقي نظرة تقنية أكثر على التشفير المستخدم وكيفية استخدامه لتأمين الشبكة. كما قلت سابقا ، يمكن الوصول إلى Bitcoin. على الرغم من أننا سنناقش مفاهيم التشفير ، إلا أنه لا ينبغي أن يثنيك عن مواصلة المضي قدمًا.
وظائف تجزئة التشفير.
قبل المضي قدمًا ، يجب أن نتوقف لحظة لمعرفة وظائف هاش حيث يتم استخدامها جميعًا عبر بروتوكول Bitcoin. وببساطة ، فإن دالة هاش هي مجرد خوارزمية رياضية تأخذ مدخلاً وتحولها إلى مخرج. على سبيل المثال ، لنفترض أن لدينا خوارزمية تضيف فقط كل الأرقام في سلسلة الإدخال معًا. إذا كانت مدخلاتنا 1234 ، فسوف نحصل على إنتاج 10.
بسيطا بما فيه الكفاية. ومع ذلك ، هناك خصائص معينة لوظائف تجزئة جيدة بالفعل تجعلها مناسبة للاستخدام في الترميز. الحفاظ على هذه الخصائص في الاعتبار لأنها حيوية لتشغيل بروتوكول Bitcoin.
يجب أن يكون من السهل جدًا حساب ناتج لأي مدخلات معينة ، ومع ذلك يجب أن يكون مستحيلاً (نظراً إلى المعرفة الحالية للرياضيات وحالة أجهزة الكمبيوتر) لحساب مدخلات الإخراج المعين حتى أثناء معرفة الخوارزمية الرياضية. خذ بعين الاعتبار ، في المثال أعلاه ، يمكننا حساب ناتج 10 بسهولة ، نظرًا لإدخال 1234 ، إلا أن الرجوع إلى الاتجاه المعاكس ليس سهلاً....في هذه الحالة ، هناك العديد من المدخلات الممكنة التي يمكن أن تضيف ما يصل إلى 10 (55 ، 136 ، 7111 ، إلخ). ومع ذلك ، بالنظر إلى بساطة وظيفتنا ، لا يزال بإمكان المرء معرفة المدخل بسهولة نسبية. من ناحية أخرى ، يقال إن بعض وظائف هاش التشفير غير قابلة للكسر حتى من قبل أجهزة الكم.
بخلاف مثالنا ، يجب أن يتم تعيين كل مخرجات محتملة لمدخلات واحدة فقط. إذا كان هناك مدخلين مختلفين يمكنهما إنتاج نفس المخرج ، فإن هذا يسمى تصادم هاش. خوارزميات تجزئة التشفير جيدة مقاومة لمثل هذه الاصطدامات. يجب أن تكون دالة هاش قادرة على أخذ مدخلات الحجم المتغير وتحويلها إلى مخرجات ذات حجم ثابت. فمثلا:
يجب أن يكون الإخراج بنفس الطول بغض النظر عما إذا كان الإدخال يحتوي على 10 أحرف أو 10 آلاف حرف. يجب أن يؤدي التغيير الصغير في المدخلات إلى إخراج مختلف تمامًا لا يرتبط بأي حال بالمدخل الأصلي. مثال:
Bitcoin يجعل الاستخدام المكثف للوظيفة التجزئة التشفير SHA256 ، والتي تقف على خوارزمية Hash آمنة 256 بت. بالمناسبة ، تم تطوير خوارزميات SHA في الأصل من قبل وكالة الأمن القومي. قد تتساءل كيف يمكننا الوثوق بشيء جاء من NSA. من المؤكد أن هذا الأمر يثير الشكوك ، إلا أن الخوارزميات جزء من النطاق العام وقد تم فحصها وتحليلها من قِبل خبراء التشفير الذين يعرفون ما يفعلون. الإجماع هو أنهم آمنون.
والآن بعد أن أصبح لدينا التصفيات التمهيدية ، يمكننا البدء في التركيز على البروتوكول. إذا قمت بقراءة الجزء الأول ، سوف تتذكر أن جميع معاملات Bitcoin يتم ترحيلها إلى كل من النظراء في الشبكة. يجمع عمال المناجم هذه المعاملات ، ويجرون عددًا من الشيكات للتأكد من صلاحيتها ، ثم يضيفونها إلى مستودع الذاكرة الخاص بهم. في هذه المرحلة ، يبدأون عملية إنشاء كتلة.
الخطوة الأولى في العملية هي تجزئة كل معاملة في تجمع الذاكرة باستخدام SHA256. قد تبدو بيانات المعاملات الأولية على النحو التالي:
وبمجرد تجزئتها سوف تبدو كما يلي:
ثم يتم تنظيم هذه التجزئة في شيء يسمى شجرة Merkle أو شجرة هاش. إذا كنت على دراية بما تبدو عليه قائمة بطولات NCAA ، فستفهم هذا المفهوم. يتم تنظيم تجزئات المعاملات في أزواج من twos ، متسلسلة معًا ، ثم تجزأ مرة أخرى. وينطبق الشيء نفسه على كل مجموعة من المخرجات حتى يتم تكوين شيء مثل شجرة (أو قوس NCAA).
في المثال أعلاه ، توجد أربع معاملات فقط (tx تشير إلى المعاملة). سوف تحتوي كتلة حقيقية على مئات المعاملات بحيث يكون القوس (الشجرة) أكبر من ذلك بكثير. يسمى التجزؤ في أعلى الشجرة بجذور Merkle.
بالمناسبة ، لا تقلق إذا لم تفهم بعد سبب تنظيم المعاملات في شجرة Merkle ، فسنعمل على جمعها معًا قريبًا بما يكفي وبعد ذلك ستنقر جميعًا.
يتم وضع جذر Merkle الخاص بشجرة التجزئة هذه في رأس القطعة إلى جانب تجزئة الكتلة السابقة (سيتم تفسيرها لاحقًا) ورقم عشوائي يسمى nonce (كما سيتم شرحه لاحقًا). سيظهر رأس الحظر على النحو التالي:
ثم يتم تجزئتها رأس كتلة مع SHA256 تنتج مخرجات من شأنها أن تكون بمثابة معرف الكتلة. الآن بعد أن فعل كل هذا يمكننا المضي قدما وتناقل كتلة لبقية الشبكة؟ إذا كنت تذكر آخر مشاركة ، فإن الإجابة هي لا. لا نزال بحاجة إلى تقديم إثبات صالح للعمل.
يعيِّن بروتوكول Bitcoin قيمة مستهدفة لتجزئة رأس الحظر. يجب أن يكون الإخراج أقل من الرقم المحدد. هناك طريقة أخرى لقول ذلك وهي أن تجزئة رأس الفدرة يجب أن يبدأ بعدد محدد من الأصفار. على سبيل المثال ، قد يبدو التجزئة الصحيح كالتالي:
سيتم رفض أي كتلة لا ينتج رأسها تجزئة أقل من القيمة المستهدفة بواسطة الشبكة. يتم ضبط القيمة المستهدفة من قبل البروتوكول كل أسبوعين لمحاولة الحفاظ على متوسط فترة حظر لمدة 10 دقائق.
لذا بعد أن قمت بتجميع كل معاملة ، قم بتجسيد المخرجات في شجرة تجزئة ، ووجدت Merkle Root ، وأضفتها إلى رأس كتلة مع تجزئة الكتلة السابقة ونقص غير متماثل ، وقمت بتجزئة الرأس وأنتجت مخرجًا لا يبدأ مع العدد الصحيح من الأصفار ، ثم ماذا؟
هذا هو المكان الذي يأتي فيه nonce. غير العشوائي هو ببساطة رقم عشوائي تتم إضافته إلى رأس الحظر لأي سبب آخر غير أن يعطينا شيئًا لزيادة في محاولة لإنتاج تجزئة صالحة. إذا كانت المحاولة الأولى في تجزئة الرأس تؤدي إلى تجزئة غير صالحة ، فما عليك سوى إضافة واحدة إلى علامة غير رقمية وإعادة صياغة الرأس ثم تحقق مما إذا كان هذا التصنيف صحيحًا أم لا.
على سبيل المثال ، لنفترض أننا أردنا التجزئة "Hello، world!" بحيث يبدأ الإخراج بثلاثة أصفار على الأقل. ستقوم بتسلسلها بعلامة غير مجزأة وتجزئة ، والتحقق من الإخراج لمعرفة ما إذا كان صالحًا. إذا لم يكن الأمر كذلك ، فأضفت واحدًا إلى علامة عدم التكرار وحاول مرة أخرى.
في هذا المثال ، استلزم الأمر 4،251 محاولة العثور على ندرة غير ذلك عندما تكون متسلسلة مع "Hello، world!" أنتجت مخرجات تبدأ بثلاثة أصفار على الأقل....هذا هو التعدين بيتكوين باختصار. لاحظ أن كتلة المعاملات بالكامل لا تتم إعادة صياغتها مع كل محاولة ، فقط العنوان. هذا هو أساسًا ما يكون التعدين من نوع Bitcoin ، مجرد إعادة توجيه رأس الكتلة ، مرارًا وتكرارًا ، وفوق ، وما فوق ، حتى ينتج أحد عمال المناجم في الشبكة تجزئة صالحة في النهاية. عندما يفعل ، ينقل الكتلة إلى بقية الشبكة. جميع عمال المناجم الآخرين يتفقدون عمله ويتأكدون من صحته. إذا كان الأمر كذلك ، فإنهم يضيفون الحظر إلى نسختهم المحلية من سلسلة الكتلة وينتقلوا إلى إيجاد الكتلة التالية.
في قديم الزمان قام عمال المناجم بحسابات SHA256 فقط على وحدة المعالجة المركزية للكمبيوتر المحمول الخاص بهم. ومع ذلك ، كلما زاد عدد التجزئات التي يمكنك إجراؤها في الثانية ، زادت احتمالية أن تقوم بتعدين كتلة والحصول على المكافأة. أعطى تعدين وحدة المعالجة المركزية (CPU) الطريق إلى تعدين GPU (وحدات معالجة الرسومات) التي أثبتت كفاءة أكبر في حساب وظائف هاش. في عالم اليوم ، يستخدم عمال المناجم ASICs (الدوائر المتكاملة التطبيق محددة) لبيتكوين. أساسا ، هذه رقائق الكمبيوتر بنيت لهذا الغرض التي صممت لتنفيذ حسابات SHA256 ولا تفعل أي شيء آخر. ليس من غير المألوف رؤية عمال المناجم الذين يحسبون أكثر من تريليون رطل في الثانية الواحدة (توراش). في الوقت الحالي ، يبلغ إجمالي القدرة على التشحيم في الشبكة حوالي 700 تيراش في الثانية ويغلق على واحد في الثانية الواحدة.
ربما ينبغي أن أشير أيضًا عند هذه النقطة إلى أن المعاملة الأولى في كل كتلة يشار إليها باسم المعاملة "coinbase". هذه هي الصفقة التي يرسل فيها عامل التنقيب نفسه 25 bitcoins التي تم إنشاؤها للتو "من فراغ". ونظرًا لأن كل عامل من عمال المناجم يرسل 25 بت كيكوين إلى عنوانه الخاص ، فإن المعاملة الأولى في كل كتلة ستختلف من منجم إلى عامل منجم. الآن تذكر خصائص وظيفة تجزئة التشفير؟ إذا تغير المدخلات حتى في أدنى ، يتغير الإخراج بأكمله. وحيث أن التجزئة في معاملات العملة المعدنية عند قاعدة شجرة التجزئة تختلف باختلاف كل عامل من عمال المناجم ، فإن شجرة التجزئة بأكملها بما في ذلك جذر Merkle ستكون مختلفة لكل عامل مناجم. وهذا يعني أن النتاج المطلوب لإنتاج قالب صالح سيكون مختلفًا أيضًا لكل عامل منجم.
هذا هو السبب وراء استخدام شجرة Merkle بعد كل شيء. يتم تمثيل المعاملات في الرأس بواسطة Merkle Root حتى لا يلزم إعادة صياغة كتلة المعاملات بالكامل مع كل محاولة (مما يجعل مقدار الوقت اللازم لتجزئة كتلة يختلف مع عدد المعاملات). سيؤدي أي تغيير في معاملة واحدة إلى حدوث انهيار في شجرة التجزئة التي ستؤدي في النهاية إلى تغيير تجزئة الكتلة. لنرى الآن كيف يحمي هذا الشبكة من الهجوم.
يتم تضمين تجزئة كل كتلة في رأس الكتلة التالية على هذا النحو:
إذا أراد أحد المهاجمين تغيير أو إزالة معاملة موجودة بالفعل في سلسلة الكتل ، فإن التغيير سيؤدي إلى تغيير تجزئة الصفقة وإطلاق التغييرات على طول الطريق حتى شجرة البعثرة إلى جذر ميركل. وبالنظر إلى الاحتمالات ، فمن غير المحتمل أن يؤدي العنوان الجديد لـ Merkle Root إلى إنشاء تجزئة صالحة (دليل العمل). وبالتالي ، سيحتاج المهاجم إلى إعادة توجيه رأس المجموعة بالكامل وقضاء وقت طويل من الزمن في العثور على القيمة الصحيحة غير الصحيحة. ولكن لنفترض أنه يفعل ذلك ، فهل يمكنه فقط نقل حصاره المزور إلى الشبكة ، ويأمل أن يقوم عمال المناجم باستبدال الكتلة القديمة بآخر جديد ، أو بشكل أكثر واقعية ، أن يقوم المستخدمون الجدد بتنزيل كتلته المزورة؟ لا. السبب يرجع إلى تضمين تجزئة كل فدرة في رأس الكتلة التالية. إذا قام المهاجم بإعادة إنشاء الفدرة رقم 100 ، فإن ذلك سيتسبب في تغيير رأس المقطع 101 ، مما يتطلب أن يتم إعادة التجميع أيضًا. سيؤدي التغيير إلى تجزئة كتلة 101 إلى تغيير رأس كتلة 102 وهكذا على طول الطريق عبر سلسلة الكتلة. تتطلب أي محاولة لتغيير معاملة موجودة بالفعل في سلسلة الكتل ، ليس فقط إعادة صياغة الكتلة المحتوية على المعاملة ، ولكن جميع الكتل الأخرى اللاحقة كذلك. واعتمادًا على عمق السلسلة التي تتم بها المعاملة ، قد يستغرق الأمر أسبوعًا أو أشهرًا أو سنوات للمهاجم الواحد لإعادة صياغة باقي سلسلة الكتل. وكما ذكرت في الجزء الأول ، طالما أن المهاجم لا يتحكم في غالبية طاقة المعالجة في الشبكة ، فإن بقية الشبكة ستضيف كتل جديدة إلى السلسلة الرئيسية بشكل أسرع من المهاجم الذي يمكنه إضافة كتل إلى سلسلة احتيالية ، تضمن أن السلسلة الشرعية تبقى هي الأطول ويتم تجاهل سلسلة المهاجم.
الاستثناء الوحيد للقاعدة أعلاه هو إذا كان المهاجم ببساطة محظوظًا. كما لاحظنا ، فإنه يأخذ الشبكة بأكملها في المتوسط 10 دقيقة للعثور على كتلة صالحة. يجب أن تأخذ مهاجمًا واحدًا مع 10٪ من طاقة المعالجة في الشبكة 100 دقيقة للعثور على كتلة صالحة (200 دقيقة عند 5٪ ، وما إلى ذلك) ، ولكن هذه مجرد متوسطات....قد يكون من الممكن نظريًا أن يتمكن أحد المهاجمين من الحصول على الحظ وأن يحصل على كتلة في دقيقة واحدة عندما يُفترض أن يستغرق متوسطه 100 دقيقة. إذا كانت هذه المجموعة تحتوي على إنفاق مضاعف ، فمن المحتمل أن يتم تضمين المعاملة الاحتيالية للمهاجم في سلسلة الحظر وأن معاملته الشرعية مرفوضة (تعتقد بقية الشبكة أن المعاملة المشروعة هي الإنفاق المزدوج). كلما كانت الصفقة أعمق في سلسلة الكتل ، كلما زاد عدد المرات التي يحتاج فيها المهاجم إلى الحصول على الحظ وإعطائه كتلة قبل باقي الشبكة لتمديد سلسلته لفترة أطول من السلسلة الرئيسية. من وجهة نظر الاحتمال ، فإن فرص مثل هذا الهجوم تنخفض بشكل كبير مع كل كتلة لاحقة. إنه مثل الفوز باليانصيب عدة مرات على التوالي. في الورقة البيضاء الأصلية ، قام ساتوشي ناكاموتو بحساب الاحتمالات بأن المهاجم قد يحالفه الحظ وأن ينفق إنفاقًا مضاعفًا. في الجدول التالي هو النسبة المئوية للشبكة التي يسيطر عليها المهاجم ، P هو احتمال حصول المهاجم على الحظ وتجاوز عدد كتل z.
بالنظر إلى الاحتمالات المذكورة أعلاه ، يمكننا أن نرى أن المهاجم الذي يملك 10٪ من طاقة المعالجة في الشبكة سيحصل على فرصة بنسبة 0،24٪ للحصول على الحظ وتجاوز ستة كتل. وهذا هو السبب عادةً في أنه من الموصى به أنه إذا كنت تبيع شيئًا غاليًا ، فيجب عليك الانتظار حتى تصل معاملتك إلى ست كتل عميقة (ست تأكيدات في لغة البيتكوين) قبل تسليم البضائع فعليًا.
حسنا هذا في الوقت الحالي. هذا المنصب حصل في عجلة من امرنا كنت أتحدث قليلاً عن برك التعدين ، ولكن ربما سأحفظ ذلك في الجزء الثالث. آمل أن تكون قد استمتعت بهذه المشاركات وأتمنى أن تكون قد تعلمت شيئًا.
مثله:
بعد الملاحة.
ترك الرد إلغاء الرد.
لقد وجدت تعليقاتك المنشورة أثناء البحث في Google. انها معلومات ذات الصلة جدا. عمل عظيم. بشكل منتظم لا أقوم بإنشاء مشاركات على المدونات ، ولكن يجب أن أقول إن هذا النشر أجبرني فعلاً على فعل ذلك. حقا رهيبة وظيفة. رائع حقًا وسأعود لمزيد من المعلومات على موقعك وإعادة زيارتها! التعدين بيتكوين .
شكراً جزيلاً لك على هذه المشاركة المفيدة ، كريس.
لا يزال لدي سؤال واحد على الرغم من:
- يجب أن تكون وظيفة تجزئة جيدة خالية من التصادم؟
- منطقياً ، ينطبق هذا فقط على المدخلات التي تحتوي على وحدات بت أقل من المخرجات.
- وبخلاف ذلك ، يمكن استخدام أفضل وظيفة ضغط في العالم ، حيث يمكن ضغط 1 أزعاج إلى 256 بت.
- لذلك ، لأن Bitcoin عمومًا يستخدم مدخلات أكبر من المخرجات ، فإنه في حالة عدم وجود تصادم مجاني.
ألن يكون ذلك نقطة يمكن أن يتعرض فيها Bitcoin للهجوم باستخدام كمبيوتر كمومي ، أو إذا تم حل "p vs np"؟
هذه نقطة جيدة حقًا. هناك مفاتيح خاصة متعددة لكل عنوان بيتكوين ، ولكنها تشبه إبرة في كومة قش.
هذا التعليق من reddit يعطي الاحتمالات.
ما زلت أعتقد أنه خارج نطاق خوارزميات البحث الكم.
أنت على صواب ، إنها ليست خالية من التصادم ، لكن من الناحية العملية يمكننا التفكير في الأمر على هذا النحو لأن هناك شيئًا مثل الاحتمالات 2 ^ 130 ، ولذلك فمن غير المحتمل جدًا ، نظرًا لتجزئة الرسالة ، H (m) ، يمكن في أي فترة زمنية معقولة العثور على رسالة أخرى ، m1 مثل H (m) = H (m1).
أيضا ، عندما يتعلق الأمر ب bitcoin ، مع سباق الشبكة بأكمله ، حتى لو كنت قد قضيت الوقت للعثور على m1 ، يجب عليك القيام بذلك عدة مرات ككتل تحتاج إلى إعادة صنعها ، وبحلول ذلك الوقت تكون الشبكة أكثر قبل ذلك ، إلا إذا كان لديك أكثر من 50 ٪ من قوة الحوسبة ، إنها معركة خاسرة.
يرجى الربط بالجزء 3.
بالنسبة إلى تسلسل التجزئة ، هل يعني ذلك أنه إذا كان هناك شخص ما يحصل على تجزئة صالحة ، فأحتاج إلى تحديثه وتنزيله وإعادة حسابه استنادًا إلى حظره؟ أو هل يمكنني إنشاء فرع جديد بناءً على الحظر السابق؟
يرجى ربط الجزء 3.
شكرا لكونك مفصلا. الأمثلة رائعة!
وقد شهدت البيتكوين زيادات سريعة خلال العام الماضي ، وهناك الآن أولئك الذين يدعون أن الفقاعة ستنفجر قريباً وان ينهار البيتكوين. لا يزال هؤلاء منا يؤمنون بفكرة وجود نظام مملوك للمستخدم بعيدًا عن متناول البنوك. لا نعتقد أن العملة قد انتهت. سنبقى مع بيتكوين وأنا واثق تمامًا من أنه سيستمر في الارتفاع بسرعة أكبر من ذي قبل.
ماذا عن عندما يتم استخراج كل bitcoins؟
شكرا كريستيان! نحن سعداء أنك استمتعت بهذه المشاركة!
واو شكراً لكم ، عرضت عليكم مقالاً عظيماً عن كيفية عمل بروتوكول Bitcoin....
ليست هناك تعليقات:
إرسال تعليق
ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.