مهارات الحياة

معرّف مخرج بيتكوين: لماذا نحتاج المعاملة ورقم المخرج معًا؟

معاملة ت بثلاث بطاقات 0 و 1 و 2 ، ومعاملة ع ببطاقة مستقلة؛ القيم 14,000 و 26,000 و 8,000 و 14,000 ساتوشي.
رسم أصلي لمدخلات مؤلفة؛ الشروط والوحدات في المقال.

تضم معاملة بيتكوين أحيانًا أكثر من مخرج، ولذلك يعرّف المرجع المخرج المحدد بزوج يجمع معرف المعاملة ورقم المخرج داخلها، مع بدء الترقيم من الصفر. [1] اسم هذا الزوج تقنيًا outpoint. السؤال الذي يجيب عنه هو «أي مخرج؟»، لا «كم دفعنا؟» ولا «أي عنوان ظهر؟».

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

الخلاصة السريعة

معرف المعاملة وحده لا يحدد مخرجًا إذا احتوت عدة مخرجات؛ نحتاج رقمه أيضًا. [1] في ورقتنا ‭ت/0‬ و‭ت/1‬ صفان مختلفان، و‭ع/0‬ صف ثالث رغم تشابه الرقم صفر. تساوي القيمة أو اسم الوجهة لا يستبدل هذين الجزأين، وتكرار صورة الصف لا ينشئ صفًا جديدًا.

  • تتضمن ت أرقامًا 0 و 1 و 2 ؛ الرقم 2 يخص الصف الثالث، لا الثاني. هذه تسمية ترتيب لا وحدة مالية.
  • في ‭ت/0‬ قيمة 14,000 وفي ‭ت/1‬ قيمة 26,000 ساتوشي. الفرق 12,000 ، والمجموع 40,000 ؛ لا يغير أي منهما هويتي الصفين.
  • ‭ت/0‬ و‭ع/0‬ مختلفان، ولو حمل كل منهما 14,000 ساتوشي والوجهة س. جمع هذه القيم لا يجعل المفتاح واحدًا.
  • ثلاث نسخ من ‭ت/1‬ تظل وصفًا لصف واحد بقيمة 26,000 ؛ أما مجموع أرقام النسخ فليس مالًا إضافيًا في نموذجنا.
  • قائمة مختارة ‭ت/0‬ و‭ت/2‬ تجمع 22,000 ساتوشي، لا إجمالي ت البالغ 48,000. معرف ت دون الرقم يترك الاختيار ناقصًا.
  • تغيير ترتيب العرض يحفظ الهوية؛ تبديل الرقم يغير المطلوب. ولا يثبت وجود الصف وحده أنه غير منفق حاليًا أو أنه من حق شخص، دون بيانات الحالة التي لم نعطها.

الصفر هو اسم الصف الأول

نبدأ بورقة فيها ثلاثة صفوف للمعاملة ت. نضع 14,000 ساتوشي في الأول، و 26,000 في الثاني، و 8,000 في الثالث. عند قراءة الترقيم الذي حدده المرجع نكتب بجوارها 0 و 1 و 2. [1] لا يشير الصفر هنا إلى مقدار صفري؛ قيمة الصف الأول في قصتنا أربعة عشر ألفًا، ويبقى ذلك صحيحًا مهما اختلف الاسم الذي نعرضه لترتيبه.

إذا قال زميل «أريد المخرج الثاني»، نسأله هل يقصد الصف الثاني في قائمة بشرية أم الرقم 2 في الحقل. في الورقة يعطي المعنى الأول 26,000 والثاني 8,000. الفرق بين القيمتين 18,000 ساتوشي. لا نختار الأكبر لأنه يبدو أقرب إلى مبلغ فاتورة، ولا نفترض أن العبارة الغامضة تحدد طلبًا مكتملًا؛ نقدم له الاسمين ليحدد المقصود.

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

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

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

المبلغ يصف الصف ولا يسميه

نقارن ‭ت/0‬ و‭ت/1‬ في البداية نفسها. طرح 14,000 من 26,000 يعطي 12,000 ساتوشي، وجمعهما يعطي 40,000. كل عملية صحيحة للسؤال الذي حددناه: فرق القيمتين أو مجموعهما. لكن العدد 40,000 ليس اسمًا لمخرج جديد أعطيناه للورقة، ولا يصبح ناتج الجمع بدلًا من الصفين في سؤال يريد تعيين أحدهما.

نضيف فرعًا مستقلًا يجعل قيمة ‭ت/1‬ تساوي 14,000 أيضًا. نتحدث هنا عن ورقة أخرى ذات قيم مفروضة، لا عن تعديل معاملة خارجية. تتساوى القيمتان ويصبح الفرق صفرًا، مع بقاء الصفين مختلفين. إذا بحثت سما عن كل صف قيمته 14,000 ستجدهما؛ أما إذا طلبت ‭ت/0‬ ، فلا تستبدله بالآخر لمجرد أن المبلغ يلبي المقارنة الحسابية نفسها.

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

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

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

الجزء نفسه لا يكفي بين معاملتين

نفتح المعاملة ع في نموذجنا ونمنح صفها الأول 14,000 ساتوشي. نكتب ‭ع/0‬ بجوار ‭ت/0‬. يتكرر الرقم صفر، لكن الحرف السابق مختلف؛ الزوجان لا يتساويان. التسمية المزدوجة المطلوبة في المرجع تحدد المخرج داخل معاملة بعينها. [1] لا نحذف أحد الجزأين من بطاقة التسليم ثم نترك المستلم يخمن أي قائمة أردناها.

تضيف سما إلى الصفين اسم وجهة مؤلفًا س. أصبح عندنا قيمة متساوية ووجهة متساوية ورقم محلي متساوٍ. لا يغير ذلك اختلاف المعاملة المعطاة في كل بطاقة. إذا جمعنا قيمتيهما معًا في تمريننا نحصل على 28,000 ساتوشي موزعة على صفين؛ وإذا طلبنا ‭ت/0‬ وحده فالجواب 14,000. علينا تحديد المطلوب قبل الاختيار، لا بعد رؤية الناتج.

ثم تمنح ‭ع/1‬ قيمة 9,000 ووجهة ص. تصبح قائمة ع ذات مجموع 23,000 ساتوشي، بينما مجموع ت الأصلي 48,000. فرق المجموعين 25,000. هذا فرق بين مجموعتين كاملتين عرفناهما، ولا يجيب سؤال «أي صف يقابل الرقم 1 ؟» إذا لم يحدد السائل القائمة التي ينتمي إليها. وجود رقم في كل مجموعة لا يجعل له مقدارًا عالميًا مشتركًا.

نختار بدلًا من ذلك صفًا من كل مجموعة: ‭ت/2‬ بقيمة 8,000 و‭ع/1‬ بقيمة 9,000 ، فيكون المجموع 17,000 ساتوشي. لا نحاول توليد اسم واحد له عبر جمع 2 و 1 ؛ الناتج 3 مجرد جمع لرقمين استعملناهما للتسمية، وليس جزءًا ثالثًا موجودًا في إحدى القائمتين. أسماء السجلات لا تصبح مقادير لأن بعض أجزائها مكتوب بأرقام.

وإذا وصلت بطاقة لا تحمل إلا «0»، تبقى لدينا احتمالات مختلفة في هاتين الورقتين. لا نعالج نقص المعلومة بالاعتماد على آخر معاملة قرأناها أو أعلى مبلغ ظاهر. نطلب الجزء الغائب ونحافظ على النص الذي وصل كما هو. يستطيع الدفتر أن يثبت وجود طلب ناقص من غير أن يزعم معرفة الصف المطلوب؛ هذا جواب مفيد قبل أي محاولة للجمع.

تكرار المرفق لا يزيد الاختيار

ترسل سما صورة ‭ت/1‬ إلى زميل، ثم ترسل الصورة نفسها مرتين لتأكيد وصول المرفق. لدينا ثلاثة ملفات، لكن قصتنا تصف صفًا واحدًا مقداره 26,000 ساتوشي. ضرب المبلغ في ثلاثة يعطي 78,000 كحساب على ثلاثة أرقام منسوخة، لكنه لا يمثل قيمة ثلاثة صفوف مستقلة في القائمة التي عرفناها. تغير عدد الوثائق، ولم نضف أسماء جديدة.

يمكن إعداد جدول وصول فيه وقت كل رسالة واسم المرفق. هذا الجدول يجيب عن عدد الرسائل، ولا يجوز دمجه بلا تعريف مع جدول القيم. إذا كان سؤال المدير «كم ملفًا وصل؟» فالجواب ثلاثة. وإذا كان «ما قيمة الصف الذي أرفقته؟» فالجواب 26,000. لم يصبح أحد الجوابين خاطئًا لأن الآخر مختلف؛ يتناول كل منهما مجموعة ووحدة مختلفتين.

في فرع آخر ترسل ‭ت/0‬ و‭ت/1‬ و‭ت/2‬ مرة واحدة لكل منها. هنا لدينا أيضًا ثلاثة ملفات، لكن مجموع القيم المعطاة 48,000 ساتوشي. يتساوى عدد الملفات بين القصتين ولا يتساوى معنى محتواها. لهذا لا نستعمل عدد المرفقات وحده لاستنتاج قيمة مختارة، ولا نفترض أن أسماء الملفات المتنوعة تثبت تنوع الصفوف قبل قراءة الإشارات التي حفظتها.

نضيف حالة فيها ملفان يحملان الاسم نفسه، أحدهما يعرض 26,000 والآخر 27,000 للصف نفسه. لا نجمعهما في 53,000 ثم نسمي الاختلاف منحة جديدة. توجد رسالتان متعارضتان في تمريننا، وتحتاجان بيان النسخة أو تصحيحًا من المرسل. إلى أن يصل ذلك البيان نحافظ على التعارض، بدل اختيار الرقم الذي يجعل إجمالي ورقة أخرى يطابق توقعنا.

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

الاختيار الكامل يسبق الجمع

تريد سما مبلغًا يضم ‭ت/0‬ و‭ت/2‬ فقط. تنقل 14,000 و 8,000 ثم تجمعهما في 22,000 ساتوشي. لا تأخذ مجموع ت الكامل 48,000 ، لأن الصف الأوسط غير داخل السؤال. الفرق 26,000 يساوي قيمة الصف المستبعد في المعطيات الأصلية. لم يختف هذا المقدار من المعاملة الورقية؛ هو موجود في المجموعة الكبرى وغير داخل المجموعة التي طلبتها المراجعة.

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

لنفترض أن القائمة المختارة وصلت في صورتين: ‭ت/2‬ ثم ‭ت/0‬ في الأولى، والعكس في الثانية. المجموع 22,000 في كلتيهما، مع بقاء الاسمين نفسيهما. تغيير ترتيب العرض هنا لا يغير المجموعة. أما استبدال ‭ت/2‬ ب‭ت/1‬ فيعطي 40,000 ؛ الفرق 18,000 مصدره تبديل عنصر، لا فرز العناصر نفسها. هذه مقارنة أصلية يمكن إعادة حسابها دون خدمة حية.

قد يطلب شخص عدد الاختيارات بدل قيمتها. في الحالة الأولى العدد اثنان، لا 22,000 ولا 3 لأننا نستعمل معاملة ذات ثلاثة صفوف إجمالًا. تميز سما عمود «عدد الصفوف المختارة» من عمود «المجموع بالساتوشي». لا تجعل نتيجة عدٍّ تقع في خانة مقدار مالي أو العكس، ولا تستنتج من العدد اثنين أن هناك مستلمين مختلفين؛ لم يعط السؤال هذه المعلومة.

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

التعريف والحالة سؤالان منفصلان

تضع سما في آخر الورقة عمود حالة، لكنها لا تعطيه قيمة لأي صف. نستطيع تعيين ‭ت/0‬ وقراءة المقدار الذي فرضناه له، مع بقاء هذا العمود مجهولًا. الإشارة السابقة ليست شهادة أن الصف غير منفق الآن أو أن شخصًا معينًا يستطيع استعماله. لو احتاج سؤال آخر هذه البيانات، وجب إعطاؤها في سياق واضح بدل استنتاجها من وجود الاسم.

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

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

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

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

المصادر ومتابعة القراءة

  1. بيتكوين: المخرج (يفتح في نافذة جديدة)developer.bitcoin.org
  2. موضوع: مفردات فقط (يفتح في نافذة جديدة)mawdoo3.com

أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.