Author

Topic: ماذا يحدد وقت بلوك البتكوين, وكيف يتغير؟ (Read 607 times)

member
Activity: 98
Merit: 117
Someday we will rise ...
شرح موفق.
حابب ضيف فكرة ارتفاع اسعار التحويلات بالبتكوين باختصار:
الموضوع لازم يفكر فيه الواحد من وجهة نظر البتكوين ليسهل فهمو, يعني لا تفكر لا بالدولار ولا اليورو ولا الين, فكر بس بتكوين, هلئ بالبتكوين متل ما مو مذكور بالشرح, كل ١٠ دقايق في كتلة او بلوك جديد بيحوي عمليات التحويل, البلوك ثابت بحجمو, فبيسع عدد معين من العاملات, بالتالي العرض محدود ببلوك واحد كل ١٠ دقايق حجمو ١ ميغا, هاد يلي بيوصلنا لنتيجة انو البتكوين بيقدر يعالج ٧ معاملات بالثانية الوحدة بشكل تقريبي, هلئ الكفة التانية و هي الطلب, بمعنى الطلب على التحويل او قديش في أشخاص بدون يقومو بتحويل البتكوين لشي عنوان تاني, فلما الطلب يزيد, يعني يصير في أشخاص كتير بدون يحولو بتكوين على الشبكة بشكل مباشر, بتبلش ترتفع اسعار رسوم التحويل لان ببساطة في اشخاص عم يدفعو اكتر رسوم مشان تنضاف معاملتون للبلوك, وبالنسبة للمعدن, موضوع التحويلات ما كتير بهمو, هو ممكن يضيف بلوك فاضي بدون اي تحويل و ما حدا بيقدر يمنعو طالما البلوك صالح, بس المعدنيين بضيفو عمليات التحويل لسببين اولا رسوم التحويل و تانيا انو هي الغاية من البتكوين انو تقدر تحول قيمة من مكان لآخر, لهيك المعدنيين بيختارو المعاملات يلي الرسوم تبعها أعلى, و هاد يلي بخلي أسعار الرسوم ترتفع.
legendary
Activity: 2436
Merit: 6643
be constructive or S.T.F.U
لكن عندي سؤال من يتحكم بتغيير صعوبة التعدين أو صعوبة السؤال اللغز كما شرحت في المثال، هل يقوم الكود بذلك بشكل تلقائي أم أن أحد ما يقوم بتغييره

نعم اخي الكود يقوم بهدا الشي تلقائيا, لتكون جزء من البلوك تشين يجب عليك ان تقوم باستعمال برنامج يتوافق كوده مع اكواد البرامج الاخرى, اي ان الجميع يمتلكون نفس الكود بمعنى اخر مبسط الجميع يستخدم نفس البرنامج ( في الواقع برامج مختلفة ولكن باكواد متشابهة).

كل مايجد شخص بلوك يقوم بارساله للاخرين عليه ان يدرج الوقت الذي وجده فيه وايضا الصعوبة الحالية المتعارف عليها, مثلا

البلوك 1000:

حل اللغز: 123456789
الصعوبة الحالية: 1000
الوقت: 2020-03-11:55:24:43

سوف تقوم النودز الاخرى بالتاكد من الحل صحيح, وان الصعوبة هي نفس الصعوبة الحالية المتفق عليها, ان كانت كل هده المعطيات يتم قبول البلوك من الجميع, ان كانت احد المعتطيات خاطئة يتم رفضه.

طبعا كل نود تقوم بتخزين هده البيانات وعند مرور 2016 بلوك ستكون جميع البيانات متوافقة كليا بين كل النودز , بما ان البيانات نفسها و المعادلة نفسها ستقوم كل نود باحتساب الصعوبة الجديدة بنفس المعادلة والنتيجة ستكون واحدة.

مثال اخر, لو ان النود الخاصة بك قامت بحساب 1+5= 6 , والنود الخاصة بي التي تسخدم نفس المعادلة ولديها نفس المعطيات ستقوم ايضا بالوصول الى رقم 6 بدون الحاجة للتواصل بيني وبينك, نحن اتفقها مسبقا على اننا سنقوم بحساب متوسط كل 2016 بلوك, ونغير الصعوبة بناء على ذلك لنحاول جعلها 10 دقائق لكل بلوك.


Quote
، بمعنى آخر هل يستطيع أحد تعديل كود البيتكوين لتتناسب صعوبة التعدين مع عدد المعدنين أم أن كل ذلك يتم بشكل تلقائي كل  2016 بلوك؟

التعديل يتم كل 2016 بناء على المعادلة متفق عليها وموجودة في الكود, يمكن لاي شخص تغير هده المعادلة وحساب الصعوبة بالطريقة التي تناسبه ولكن ان وجد بلوك بصعوبة مختلفة عن البقية فلن يتم قبول ذلك البلوك, ولهدا السبب لايوجد اي جدوى اقتصادية من محاولة تغير الصعوبة يدويا خارج نطاق المعادلة.

تخيل ان النود الخاصة بك هي شيك على بياض, يمكن ان تكتب فيه مليون دولار بينما رصيدك المتفق عليه بين البنوك هوا 1000 دولار, لن يمنعك احد من كتابة مليون او مئة مليون ولكن عند دهابك للبنك لسحب الشيك فلن يقبله منك احد, لكي يتم قبوله يجب ان يكون 1000 دولار او ان تقوم بتغير رصيدك المتعارف عليه بين البنوك الى المبلغ المطلوب.

بما انه لايمكنك فرض كودك على عشرات الاف النودز الاخرى الحل الوحيد هوا اللعب داخل محيط القوانين المتعارف عليها لان الغش لن يظر احد الا صاحبه.

Quote
بشكل عام هل يمكن لأحد ما التلاعب أو تغيير كود البيتكوين لو أراد؟


نعم اخي يمكن لاي شخص التلاعب بالكود وكتابة الكود الذي يريده, يمكنك ان تغير الحد الاقصى للبتكوين من 21 مليون الى مالا نهاية, يمكنك ايضا تغير جائزة البلوك الى مليون بتيكوين بدلا من 6.25 يمكن ايضا تعديل وقت البلوك ليصبح دقيقة واحدة, يمكنك حرفيا فعل اي شي تريده في الكود لانه مفتوح المصدر.

ولكن مايحدث هنا هوا ان النودز الاخرى (التي لم تتلاعب بالكود) ستلاحظ انك تحلق خارج السرب, وهنا لن يتم الموافقة على اي بلوك ترسله ولا اي trasanction يأتي من طرفك, وستكون معزول كليا, تغير الكود يؤدي حرفيا الى Fork مايحدث في الفورك هوا ان مجموعة معينة تتفق على تغير الكود وبمجرد تواصل النودز مع بعضها ستبحت كل نود على النود التي تتفق معاها من حيث الاكواد وتتجاهل تلك التي تخالفها فلو كان لدينا 100 نود تتفق على ان الصعوبة يتم تعديلها كل 2016 بلوك, واثفق 20 نود على ان يتم ذلك كل 1000 بلوك, هنا سيحدت انقسام في الشبكة, وتصبح الشبكة التي تعتمد ال 1000 بلوك منفصلة كليا ولديها 20 نود والشبكة القديمة بالكود القديم تستمر كما هي عليه ب 80 نود.


لا تردد في طرح اي اسئلة, انا اعرف ان الموضوع معقد قليلا, وانا احاول تبسيطه لدرجة اني اتجاهل بعض المعلومات الحساسة فقط لانها تزيد الطين بلة في الفهم, ولكن ان فهمت هدا الكلام فانت فهمت اقل شي 60-70% من الموضوع.


legendary
Activity: 1848
Merit: 1982
Payment Gateway Allows Recurring Payments


مايحدث هوا انه عند زيادة الهاش ريت ( زيادة عدد رميات النرد) تكون احتمالية ايجاد البلوك اسرع في حال ان صعوبة اللغز تابثة, فعندها يقوم الكود بتصعيب السؤال حتى لايتم حل البلوكات كلها في وقت قصير, وفي مثال النرد, ان كان هناك 10 اشخاص يتنافسون للحصول على رقم 6 ولاحظت ان متوسط الوقت اللازم لفعل ذلك هوا مثلا دقيقة واحدة, وانت تريدهم ان يجدو رقم 6 كل عشرة دقائق, يجب عليك ان تقوم باضافة نوعا من الصعوبة للتحدي, فيصبح التحدي عبارة عن ايجاد رقم 6 عشرة مرات وليس مرة واحدة!


ما شاء الله عليك أخي ميكي أكثر من رائع، أنت قمت يتبسيط الأمور بطريقة واضحة وسهلة للفهم.
لكن عندي سؤال من يتحكم بتغيير صعوبة التعدين أو صعوبة السؤال اللغز كما شرحت في المثال، هل يقوم الكود بذلك بشكل تلقائي أم أن أحد ما يقوم بتغييره، بمعنى آخر هل يستطيع أحد تعديل كود البيتكوين لتتناسب صعوبة التعدين مع عدد المعدنين أم أن كل ذلك يتم بشكل تلقائي كل  2016 بلوك؟
بشكل عام هل يمكن لأحد ما التلاعب أو تغيير كود البيتكوين لو أراد؟
legendary
Activity: 2436
Merit: 6643
be constructive or S.T.F.U

السلام عليكم
من الشائع ان وقت بلوك البتكوين هوا 10 دقائق, والكثير يعتقد انه هدا الشي موجود في الكود ويتم تطبيقه حرفيا وهدا غير صحيح نظرا لطبيعية عمل البتكوين.

مايحدث اتناء التعدين هوا البحث عن رقم عشوائي لحل اللغز, لذلك الوقت المحدد لايجاد هدا الرقم هوا "عشوائي" تماما.

لنأخد مثال نظري:

تخيل ان ايجاد البلوك هوا ان تقوم برمي "حجر النرد" وان يكون الرقم 6, نظرا لان هده العملية هي عشؤائية فيمكن ان تنجح من اول محاولة ويمكن تحتاج 100 محاولة الامر يعتمد على

1: عدد الرميات: كل مازاد عدد الرميات كلما نقص الوقت اللازم لحصولك على رقم 6

يعني لو انك تقوم برمي النرد مرة كل ثانية ستحصل على 6 اسرع فيما لو كنت ترمي النرد مرة كل دقيقة, طبعا بتجاهل عامل الحظ لانه يمكن ان تحصل على 6 من اول رمية في كل دقيقة بينما تحتاج الى 60 ثانية لتجدها ان كنت ترمي النرد كل ثانية, ولكن باستبعاد عامل الحظ فمن المعروف ان عدد المحاولات = حل اسرع


2- الحظ: عامل لايمكن التحكم فه, لايمكن زيادته او نقصانه فهوا مبني على العشوائية التامة.


لكي نوضح بعض الامور قبل الخوض في التفاصيل الثقنية, يجب ان نفهم انه وبالرغم من ان رمي النرد يبدو عشوائيا كليا الا ان الامر ليس هكدا تماما, لانه وببساطة لو قمت برمي النرد فأن فرصتك في كل مرة هي 16.7% , مثال ابسط على ذلك هوا سقوط العملة المعدنية على الارض, بنباء على الحظ يمكن ان تقوم برميها 5 مرات وتسقط على نفس الجانب, ولكن عند رميها 100 مرة فأن النسبة ستكون مقاربة لي 50-50 , في حال رميها 1000 مرة فأن النسبة ستكون اقرب اكثر ل 50-50, اي كلما زاد عدد المحاولات كلما نقص عامل الحظ.

يمكن تجربة هد الشي عمليا وستجد ان عامل الحظ "يقل" بزيادة المحاولات , ولكنه لايخنفي نهائيا.


من هنا فصاعدا سوف نقوم بتجاهل عامل الحظ ونقوم بالشرح بناء على ان عامل الحظ 0%.




الان نأتي الى الية ايجاد البلوك وكيف يزيد وقت البلوك ويقل, نظرا لان صعوبة اللغز تابثة لكل 2016 بلوك, فكلما زاد عدد المحاولات كلما زادت سرعة ايجاد البلوكات, والعكس صحيح.


مايحدث هوا انه عند زيادة الهاش ريت ( زيادة عدد رميات النرد) تكون احتمالية ايجاد البلوك اسرع في حال ان صعوبة اللغز تابثة, فعندها يقوم الكود بتصعيب السؤال حتى لايتم حل البلوكات كلها في وقت قصير, وفي مثال النرد, ان كان هناك 10 اشخاص يتنافسون للحصول على رقم 6 ولاحظت ان متوسط الوقت اللازم لفعل ذلك هوا مثلا دقيقة واحدة, وانت تريدهم ان يجدو رقم 6 كل عشرة دقائق, يجب عليك ان تقوم باضافة نوعا من الصعوبة للتحدي, فيصبح التحدي عبارة عن ايجاد رقم 6 عشرة مرات وليس مرة واحدة!

حسننا ماذا لو احتاجو لي 20 دقيقة للحصول على رقم 6؟ هدا وقت طويل وانت تريد نصفه فقط, فتقوم بتغير التحدي الى ايجاد رقم 6 فقط 5 مرات بدلا من عشرة, وهكدا!


المشكلة هوا ان هدا التغير لايمكن ان يحدث الى بعد مرور 2016 بلوك, يتم حساب الوقت الاجمالي الذي احتاجه المعدنين لاياجد 2016 وان كان المتوسط 10 دقائق ( وهدا المطلوب) الصعوبة لا تتغير, وان كان اقل نقوم بزيادة الصعوبة لقوم بابطاء نمط ايجاد البلوك, وطبعا اذا كان الوقت اكثر من عشرة دقائق نقوم بانقاص الصعوبة لتقليل من وقت البلوك.

نظرا لان هدا التغير لايحدث الى بعد 2016 بلوك, في بعض الحالات يغادر الكثير من المعدنين وهنا يصبح عدد الرميات او المحاولات اقل بينما الصعوبة لاتزال في مكانها ! وهدا ينتج عنه بطء في ايجاد البلوكات, لانه ببساطة الصعوبة الحالية كانت مصممة لكل هاؤلا والان جزء كبير منهم قد غادر بدون علم مسبق.


يعني مثلا في الجولة السابقة (الجولة هي 2016 بلوك) كان متوسط الهاش ريت 100 هاش اي 100 محاولة, وكانت الصعوبة 1000, اي ان ال 100 محاولة لتحل لغز بصعوبة مقدارها 1000 تكون النتيجة 1000\100 = 10 دقائق وهدا الوقت المطلوب والحياة سعيدة والكل مبسوط!

فجأءة, ولاي سبب كان (مثل انتهاء موسم الامطار في الصين واطفاء الاف من اجهزة التعدين وهدا ماحصل مند بضعة ايام) بدل مايكون لدينا 100 هاش يصبح لدينا فقط 80 مثلا,  فيكون لدينا 1000 قسة 80  =  12.5 دقيقة وهدا زمن اطول من الذي نريده.

في هده الحالة لايمكننا فعل شي حتى انتهاء 2016 بلوك, وعندها نقوم بتغير الصعوبة بما يتناسب مع 80 هاش, اي بدل ماتكون الصعوبة 1000 تصبح 800 لكي يكون لدينا صعوبة \ هاش = وقت , اي 800\80 = 10 دقائق.

طبعا بعد عمل هدا, وعند نقص صعوبة التعدين, يمكن ان يأتي معدنين جدد وهنا طبعا سيكون متوسط البلوك اقل من 10 دقائق, سنقوم عندها بانتظار 2016 بلوك اخر وزيادة الصعوبة بما يتناسب مع الهاش ريت الحالي.


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


من اي جاء مصطلح 10 دقائق للبلوك و 2016 بلوك في كل اسبوعين؟؟

هدا الهدف الذي تحاول الصعوبة المحافظة عليه, لكي نحافظ على نسق معين لانتاج البتكوين لتجنب التضخم غير المرغوب به, ال 10 دقائق تستخدم فقط في تحديد الصعوبة لمحاولة وضع رقم صعوبة يجعل قوة التعدين الموجودة تستغرق 10 دقائق لكل بلوك, ولكن لايمكنها اجبار المعدنين على البقاء او منع اخرين جدد من الانظمام, ونظرا لان شرح نظرية البلوك صعب قليلا والشخص العادي لايريد فهم كل هدا, فتجد ان المواقع وقنوات الاخبار تستعمل طريقة الشرح المبسطة وهي 10 دقائق لك بلوك , او اسبوعين لتغير الصعوبة او 4 سنوات لل halving بينما الواقع لايوجد ولا halving اسغرق 4 سنوات, لايوجد ولا جولة صعوبة epoch لم يحدث فيها تغير (اي انه لايوجد جولة كان متوسط الصعوبة فيها تمام 10 دقائق) لانه بمجرد خروج شخص واحد او دخول شخص واحد يتغير الزمن, ولكن بالمجمل والارقام التقريبية المبسطة فأن متوسط زمن البلوك 10 دقائق.



انا كمستخدم عادي لايهمني الصعوبة وكل هدا الكلام !


بالعكس تماما, مراقبة مستويات الصعوبة يتيح لك امكانية ارسال البتكوين بعمولة اقل بكثير, فمثلا اي شخص يفهم الصعوبة وكيف تتغير وماذا ينتج عنها لن يقوم بارسال اي تحويل حتى الوصول الى بلوك رقم 655200 ! (الا اذا كان مستعجل طبعا)

لانه هدا اخر بلوك في هده الجولة وبعدها سيكون هناك انقاص للصعوبة وسينتج عنه سرعة اكبر في ايجاد البلوك وهدا يسبب انخفاض في رسوم التحويل, يمكن ادئما متابعة اخبار الصعوبة في هدا الموقع https://diff.cryptothis.com/

طبعا يجب ان تعرف انه يوجد عدة عوامل اخرى توثر في رسوم التحويل وهي تقلب الاسعار, ففي حال زيادة السعر بشكل كبير يكون هناك طلب على التحويل من المحافظ للمنصات لغرض البيع, ونفس الشي يحدث في حال الهبوط السريع للاسعار, وحركة السعر تأثيرها كبير فهي تمثل مبداء "الطلب" بينما سرعة ايجاد البلوك تمثل مبداء "العرض" لذلك كلما زاد العرض وقل الطلب قل السعر, فدائما حاول تجنب ارسال البتكوين عندما يكون متوسط وقت البلوك اكثر من 10 دقائق, واستغل الفترات التي يكون فيها سعر البتكوين تابت ( اي ان الطلب منخفض على التحويل) ففي هده الاوقات تكون رسوم التحويل رخيصة جدا جدا واحيانا حتى 1 ساتوشي للبايت يكون كافي للحصول على تأكيد في 10 دقائق او اكثر قليلا.



اتمنى ان اكون وفقت في شرحي هدا وان كان لديكم اي سؤال انا حاضر بعون الله.

"فإن أحسنت فمن الله، وإن أسأت أو أخطأت فمن نفسي والشيطان،"




Jump to: