في Solo Mining يحصل المعدّن على مكافأة الكتل التي تعثر عليها قدرته الحسابية وتُقبل في السلسلة. الكتلة مجموعة معاملات تُضاف إلى سلسلة الكتل، وهي السجل العام للبيتكوين. و«العثور على كتلة» يعني العثور على نتيجة حساب تتيح للمعدّن اقتراح تلك المجموعة على بقية الشبكة، التي تتحقق أيضًا من استيفائها جميع القواعد. اكتشافات الآخرين لا تمنحه دخلًا منتظمًا. يمكنه تشغيل بنيته الخاصة أو استخدام خادم تعدين فردي خارجي مقابل رسوم. فكلمة «فردي» تصف أساسًا طريقة توزيع المكافأة.
يشتري يان جهاز ASIC، وهو جهاز متخصص في حسابات التعدين. تعرض الشاشة أنه يعمل، لكن محفظته لا تستقبل شيئًا. في Solo Mining لا يعني ذلك وحده وجود عطل. القدرة الحسابية تمنحه فرصة العثور على كتلة، لا أجرًا عن كل ساعة تشغيل. يوزّع Mining Pool التقليدي المكافآت على المشاركين وفق قواعده؛ أما يان فينتظر اكتشافه الخاص. وحتى استخدام خادم عبر Stratum، بروتوكول التواصل بين أجهزة التعدين وخوادمها، لا يعني تلقائيًا الاشتراك في دفعات موزعة بين الجميع. [1] [6]
للتوضيح، نفترض حصة ثابتة تبلغ 1% من قدرة الشبكة. هذه حصة كبيرة اختيرت للمثال، وليست افتراضًا لجهاز منزلي. خلال الكتل التالية وعددها 100 يكون العدد المتوقع لاكتشافاته الخاصة كتلة واحدة. لكن احتمال اكتشاف واحدة على الأقل لا يتجاوز 1 − 0.99^100، أي نحو 63.4%. تحسب المعادلة أولًا احتمال أن يجد معدّنون آخرون جميع تلك الكتل، ثم تطرحه من الاحتمال الكلي. والمتبقي هو احتمال أن يجد يان كتلة واحدة على الأقل. قد يجد عدة كتل أو لا يجد أي كتلة. الانتظار الطويل لا يحسّن المحاولة التالية؛ التعدين لا يتذكر الإخفاقات السابقة. كما أن تغير الصعوبة أو الحصة من القدرة أو انقطاع التشغيل يغيّر افتراضات النموذج. [1]
يدفع يان ثمن الكهرباء مهما كانت النتيجة، فضلًا عن الجهاز والتبريد والصيانة. لذلك فمتوسط الدخل المتوقع ليس مالًا مضمونًا لسداد الفواتير كل شهر. تقاسم العائد في مجمّع يخفف تقلب الدخل، لكنه لا يمنح الجهاز نفسه Hashrate أعلى، أي حسابات أكثر في الثانية. وتختلف أيضًا الرسوم وقواعد الدفع. في تجربة منزلية يمكن ليان تحديد تكلفة يستطيع تحملها حتى لو لم يجد أي كتلة. خبر نجاح شخص آخر ليس تقديرًا لأرباحه هو. [1]
Solo CKPool مثال على خدمة تقدم مهام التعدين والاتصال بالشبكة والإحصاءات. مكافأة كتلة يان لا تُقسم على بقية المشاركين كما في مجمّع تقليدي، لكن الخدمة قد تخصم رسومها. ينبغي معرفة عنوان استلام المكافأة والشروط وكيفية التعامل مع الانقطاع. ومن جهة أخرى، فإن Full Node، العقدة التي تتحقق من قواعد Bitcoin، لا تعوّض وحدها قدرة ASIC الحسابية. اختيار البنية وطريقة توزيع المكافأة قراران مختلفان. قائمة الكتل المكتشفة تعرض الفائزين، لا احتمالات كل جهاز متصل. [6]
يحسب الجهاز مرارًا hash، وهو بصمة رقمية لترويسة الكتلة المقترحة. الترويسة مجموعة موجزة من بيانات الكتلة، تربط الكتلة المقترحة بالكتلة السابقة وبالمعاملات التي تحتويها. يتحقق Bitcoin Core من أن قيمته أصغر من هدف الشبكة target أو تساويه، والهدف مُرمّز في الحقل nBits. قد يقبل الخادم أيضًا نتائج تحقق هدفًا أسهل، وتسمى shares. في الخدمة الفردية تساعد share على متابعة عمل الجهاز؛ ليست بذاتها كتلة مكتشفة ولا حقًا في دفعة صغيرة. خفض صعوبة shares يزيد عدد التقارير، لا فرصة كل حساب في بلوغ هدف الشبكة. حتى أفضل share لا تثبت العثور على كتلة صالحة. [2] [6]
قبل البحث يُعد البرنامج مشروع كتلة، أو قالبًا. يصف BIP 22 واجهة getblocktemplate التي تقدم، ضمن بيانات أخرى، previousblockhash للإشارة إلى الكتلة السابقة، والمعاملات، وcoinbasevalue لأقصى مبلغ متاح للمكافأة. ينشئ البرنامج coinbase، أول معاملة خاصة تدفع المكافأة، والترويسة؛ ثم يجرّب ASIC صيغ الحساب. عندما تتقدم الشبكة يحتاج إلى عمل محدث. الجهاز السريع الذي يوجه المكافأة إلى مستلم خاطئ أو يستخدم قالبًا قديمًا ليس إعداد تعدين سليمًا. [3]
لا يكفي أن تكون قيمة hash منخفضة بما يكفي. تتحقق العقد الأخرى من المعاملات وcoinbase وارتباط الكتلة بالسلسلة. قد يجد معدّنان كتلتين متنافستين ثم تتابع الشبكة الفرع الآخر. تسمى الكتلة خارج السلسلة النشطة stale، ولا يمكن إنفاق مكافأتها في تلك السلسلة. لذلك يهم النشر السريع والعمل المحدث. يتابع يان قبول الكتلة كاملة والتأكيدات اللاحقة، لا مجرد رسالة خضراء تفيد بقبول share على لوحة الخادم. [3] [4]
يمكن أن تشمل المكافأة bitcoin جديدًا يسمى إعانة الكتلة، ورسوم معاملات الكتلة. ارتفاع الكتلة يحدد موضعها في تسلسل الكتل. في الشبكة الرئيسية، من الارتفاع 840000 إلى الكتلة السابقة للارتفاع 1050000، تبلغ الإعانة 3.125 BTC. تتغير الرسوم وقد تخصم الخدمة حصتها. لا يجوز أن تدفع coinbase أكثر من الإعانة وهذه الرسوم مجتمعة. وتطبق أيضًا قاعدة COINBASE_MATURITY: لا يمكن إنفاق المكافأة إلا في كتلة يزيد ارتفاعها بمقدار 100 على الأقل. المقصود كتل، لا 100 دقيقة. العثور على كتلة وتأكيد المكافأة وامتلاك مال متاح فورًا أمور مختلفة. [4] [5] [7]
للحصول على صورة أوضح، اقرأ هذا المدخل مع التعدين, Mining Pool, getblocktemplate, Hashrate, Pay Per Share, Pay Per Last N Shares. تشير إلى هذا المدخل أيضًا Mining Pool, Pay Per Share.