מאמר למתקדמים

בכל בלוק מהבלוקים הרבים המרכיבים את הבלוקצ'יין, קיימת עסקה שהיא מיוחדת ושונה מעסקאות רגילות. עסקה זו מכונה בסיס מטבעות (תרגום חופשי ל-Coinbase Transaction), זוהי עסקה ללא קלט , אשר מיוצרת על ידי כורה הביטקוין כחלק מתהליך בניית הבלוק, בכל אחד מהבלוקים קיימת אך ורק עסקה אחת כזו. כל בלוק נוצר כשהוא מכיל את הגמול לכורים בשל עבודתם והשקעתם בטיפול בעסקה, כשהגמול הזה הינו הנפקת מטבעות חדשים (בכמות הקבועה והידועה מראש) ביחד עם הסכום המשתנה שהוא תוצאה של העמלות מכל העסקאות הנכללות בבלוק. עסקת הבסיס היא זו שמרכיבה ושמגדירה את הבלוק (למעט במקרים מיוחדים, כמו בבלוק בראשית - בלוק אפס) והיא זו שמכילה את המטבעות החדשים אשר יונפקו כגמול עבור הכורה שהשקיע. בנוסף לכך, עסקת בסיס המטבעות מכילה רכיב שמטרתו זיהוי ושיוך העמלות המצורפות לעסקאות המהוות את הבלוק. עמלות אלה תועברנה, יחד עם המטבעות החדשים המונפקים, לכורה שיטפל בעסקה. גמול בלוק בודד ניתן להעברה לכתובת בודדת או למס' בלתי-מוגבל של כתובות (כאשר מדובר במאגר כורים). כמו כל עסקת ביטקוין אחרת, גם עסקת בסיס המטבעות מכילה פלט (Outputs) הכולל סיכום גמול בלוק, מטבעות חדשים וגם עמלות. למשל, פלט ביטקוין של מטבעות חדשים יעבור תהליךECDSA Private Key והרשומה שלו נשמרת עם הפלט והקלט אבל היא איננה דווקא מפתח (key) אלא סקריפט (script) . במקרה כזה, ביטקוין תעשה שימוש במערכת לפענוח הסקריפטים (שורה לאחר שורה מבלי קומפילציה) על מנת לקבוע את אמיתותו של הפלט. תהליך כזה מאפשר גם עיבוד פעולות מורכבות יותר במעט התאמות, למשל, פלט המצריך יותר מחתימה (ECDSA Signature) אחת. כאמור, הפלט הטיפוסי יצביע לכתובת אחת ויכיל אינפורמציה רלוונטית לפלט כסקריפט שעושה שימוש ברכיב מובנה (חתימה קריפטו-גרפית אחת) Single ECDSA Signature.

סקריפט הפלט יציין מה נדרש כדי לפצח את ההון שנמצא בפלט, ובהמשך, כאשר יגיע הזמן לעשות שימוש בהון בעזרת קלט (הוצאתו/בזבוזו) הוא יידרש לספק את הרכיבים הללו, כדי לעמוד בדרישות הקיימות בסקריפט הפלט המקורי (תהליך האימות). רכיב בסיס מטבעות מהווה חלק חיוני בפרוטוקול המטבעות הדיגיטליים בכלל והביטקוין בפרט, הוא עובד בדרך קבועה וידועה מראש, כדי לייצר את המטבעות החדשים ולחלקם באופן דמוקרטי וצודק, ומהווה אלמנט זיהוי לחלוקה צודקת של עמלות שמצורפות לעסקות. מטבעות חדשים אינם נוצרים יש מאין, אותם המטבעות המצורפים לבלוק לא היו קיימים לפני בניית הבלוק הספציפי. עצם יצירתם מצביעה על כך שישנן עסקות (תנועה ברשת המטבע) אשר מחכות לאשרור, וישנו גם מי שמוכן לקחת על עצמו את תהליך עיבודו של העסקות, כדי שתהיה לו האפשרות לזכות בגמול המובטח בכל בלוק ובכל אשכול של עסקות שמחכות לאישור.

מבנה עסקה רגילה

Transaction

Short link: http://blockexplorer.com/t/ATv7Vz7DHg

Hash: f9bdb1875bba776e26b1a939f98b8b45f01b167cbf4e3e025393dd68b78455eb

Appeared in block 302671 (2014-05-26 05:45:39)

Number of inputs: 9 (Jump to inputs)

Total BTC in: 100.0002

Number of outputs: 1 (Jump to outputs)

Total BTC out: 100

Size: 1.66 kilobytes

Fee: 0.0002

Raw transaction?

מבנה הקלט של העסקה הנ"ל

במבנה קלט של עסקת בסיס מטבעות, בשורת קלט לא תופענה עסקות קודמות (ברמת הקוד - יופיע Null). כאמור זוהי העסקה המתחילה את בניית הבלוק, והיא זו המכילה את סך הגמול לכורי הביטקוין, לאלה שהשקיעו את המאמץ החישובי (בחומרה, בתוכנה ובזמן).