הגדרת יעד מטרה
Hash יעד הוא מספר שכותרת חסימת hashed חייבת להיות פחות או שווה אליו כדי שניתן יהיה להעניק חסימה חדשה. חשיש היעד משמש לקביעת הקושי של הקלט, וניתן להתאימו על מנת להבטיח שעיבוד הבלוקים יעיל.
שוברים למטה יעד האש
Cryptocur מטבעות מסתמכים על שימוש בחסימוני חסימה המכילים את היסטוריית העסקאות, והם "מהווים" או מקודדים לסדרת מספרים ואותיות. Hashing כרוך בנטילת מחרוזת נתונים בכל אורך והפעלתם דרך אלגוריתם לייצור פלט באורך קבוע. הפלט יהיה תמיד באורך זהה, ללא קשר לגודל הכניסה הגדול או הקטן. השימוש בחשיש פירושו שכל מי שמתמודד עם blockchain צריך לזכור את החשיש ולא את הקלט עצמו. כל חסום יכיל את ה- hash של כותרת החסימה הקודמת.
פענוח וקידוד blockchain מכונה כרייה. כרייה כרוכה בשימוש במחשבים להפעלת אלגוריתמים של חשיש לעיבוד החסימה האחרונה, כאשר המידע הנחוץ בכרייה נמצא בכותרת החסימה. רשת cryptocurrency קובעת ערך יעד עבור חשיש זה - חשיש היעד - וכורים מנסים לקבוע מהו ערך זה על ידי בדיקת כל הערכים האפשריים.
כותרת החסימה מכילה את מספר גרסת החסימה, חותמת זמן, ה- hash ששימש בבלוק הקודם, החשיש של ה- Merkle Root, the nonce ו- hash היעד. החסימה נוצרת על ידי לקיחת hash של תוכן החסימה, הוספת מחרוזת מספרים אקראית (הלא-תואר) ושיבוץ החסימה שוב. אם החשיש עומד בדרישת היעד, החסימה מתווספת לחסימת הבלוק. רכיבה על אופניים בין פתרונות כדי לנחש את אי הנוסח מכונה הוכחת עבודה, והכורה שמסוגל למצוא את הערך זוכה לבלוק ומשולם בקריפטו.
חשיש היעד לביטקוין הוא מספר של 256 סיביות, וניתן למצוא אותו בכותרת החסימה. כריית בלוק מחייבת את הכורה לייצר ערך (nonce) שאחרי שהחטף אותו הוא פחות או שווה לזה המשמש בבלוק האחרון שקיבלה רשת ביטקוין. המספר הזה הוא בין 0- (האופציה הקטנה ביותר) ל -256 ביטים (האופציה הגדולה ביותר), אך סביר להניח שלא יהיה המספר המרבי אי פעם. מכיוון שחשיש היעד יכול להיות מספר עצום, ייתכן שהכורה יצטרך לבדוק מספר גדול של ערכים לפני שהוא יצליח. כורה לא מצליח נאלץ לחכות לחסימה הבאה, מה שמביא לכך שכורים מדמים את מציאת הפיתרון של חשיש לזכייה במירוץ או בהגרלה.
Hash היעד מותאם מדי פעם. לפונקציות החשיש המשמשות לייצור היעד החדש יש תכונות ספציפיות שנועדו להבטיח את הבלוקצ'יין (וגם הקריפטו-קריוקי). זה דטרמיניסטי, כלומר הוא יביא לאותה תוצאה בכל פעם שמשתמשים באותה קלט. זה מהיר מספיק כדי לא לקחת יותר מדי זמן להחזיר hash עבור הקלט. זה גם מקשה מאוד על קביעת הקלט, במיוחד עבור מספרים גדולים, ועושה שינויים קטנים בתוצאת הקלט בפלט hash שונה מאוד.
