מתקדם שיעור 5 4 דקות קריאה

אתגרים של פאזלים בביטקוין: איך הפלטפורמה הזו מרכיבה את הפאזלים שלה

כיצד אתגר כאן נבנה, מה הוא מבטיח למשתתף ואיך הפתרון נבדק.

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

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

הפרס נשאר גלוי ומחוץ להישג יד, כולל של מי שהניח אותו שם.

אימות התשובה הוא החלק שסוגר את הקורס, כי הוא בדיוק המתכון של שיעור 3 של מודול 4, מבוצע על ידי תוכנה במקום ביד. מי שחושב שפתר שולח מפתח פרטי. הפלטפורמה מכפילה את המפתח בגנרטור של secp256k1, מקבלת את המפתח הציבורי, מיישמת SHA-256 ולאחר מכן RIPEMD-160, מרכיבה את הכתובת ומשווה לכתובת האתגר. אם השניים זהים, הפרס משולם מיד. אם לא, נגבית עמלה מינימלית על הניסיון ולא קורה דבר נוסף.

חשוב להדגיש נקודה שרבים מתקשים להאמין בה: הפלטפורמה לא שומרת את התשובה בשום מקום. אין שדה עם המפתח הנכון להשוואה, ואף אחד כאן לא מכיר אותו. מה שיש זה המתכון, שחוזר על עצמו בכל ניסיון. זה ההבדל בין מערכת שיודעת את התשובה לבין מערכת שיודעת רק לזהות אותה — וזה אותו הבדל ששיעור 1 של מודול 4 הסביר על פונקציות hash.

אין שופט. או שהמפתח מסתובב, או שלא.

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

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

כל רמז שנרכש מחזיר חלק לפרס.

ישנן גם הבריתות, שהן התשובה של הפלטפורמה לבעיה של שיעור 6 במודול הקודם: אנשים שמחפשים יחד, עם ערוץ משלהם לתאם מי מחפש מה, במקום אלף אנשים שחופרים באותו חור.

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

התחלת בשאלה מהו כסף ולמה מה שאנחנו משתמשים בו נכשל. עברת על ההצעה של סאטושי, על ספר החשבונות, על הכרייה ועל 21 מיליון. למדת להשתמש בלי להיפגע, לשמור על זרע ולרשת אותו. הבנת את ה-hash, העקומה, החתימה והכתובת בייט אחר בייט. ראית את הרשת מבפנים, מה-UTXO ועד התאמת הקושי, ומה קיים מעליה. וסיימת עם החישובים על השולחן: גופים סופיים, ECDSA, קנגורו והעלות האמיתית של חיפוש מפתח.

נשאר רק החלק שלא לומדים מקריאה. האתגרים נמצאים ב-/pt/puzzles, הפרס של כל אחד הוא אמיתי ונחסם בהמתנה, והאימות הוא אותו מתכון שאתה עכשיו יודע לשחזר ביד.