האש

איור: השרשרת של הבלוקצ'יין, כל בלוק מכיל את ההאש של הבלוק הקודם לו
ה"טביעת אצבע" הדיגיטלית שמגנה על כלכלת הקריפטו
בעולם הקריפטוגרפיה והבלוקצ'יין, האש (Hash - בעברית: גיבוב) הוא קונספט יסודי שמחזיק את כל המערכת יחד. מדובר בפונקציה מתמטית שלוקחת קלט של נתונים בכל אורך שהוא (מילה בודדת, תמונה, או ספר שלם של 1,000 עמודים) וממירה אותו לפלט (מחרוזת אותיות ומספרים) באורך קבוע ומוגדר מראש.1
הקסם של פונקציית ההאש הוא שהיא פועלת כרחוב חד-סיטרי (One-Way Function). המחשב שלכם יכול לקחת מסמך ולחשב את ההאש שלו בשבריר שנייה. אולם, גם אם ניקח את כל מחשבי העל בעולם, לא נוכל לבצע את הפעולה ההפוכה, כלומר, אי אפשר לקחת את פלט ההאש ולשחזר ממנו את המסמך המקורי. תכונה זו הופכת את ההאש לכלי אבטחה מושלם לאימות נתונים.
ארבעת חוקי הברזל של פונקציית האש
איך נדע שהפונקציה אמינה?
כדי שפונקציית האש תתאים לרשתות כמו ביטקוין או אתריום, היא חייבת לעמוד בארבעה תנאים קריטיים:1. דטרמיניסטית (Deterministic): אם תכניסו את המילה "Shalom" מיליון פעמים, תקבלו תמיד, אבל תמיד, בדיוק את אותו פלט האש.2. אורך קבוע (Fixed Length): לא משנה אם הקלט הוא הסיסמה "1234" או כל התוכן של ויקיפדיה, הפלט תמיד יהיה באותו אורך (למשל 64 תווים ב-SHA-256).3. אפקט המפולת (Avalanche Effect): שינוי של תו אחד בודד בקלט (למשל החלפת פסיק בנקודה בספר שלם) ישנה את פלט ההאש לחלוטין. זה מונע מנוכלים "לנחש" מידע או לזייף אותו בהדרגה.4. עמידות להתנגשויות (Collision Resistance): ההסתברות ששני קלטים שונים ייצרו בטעות את אותו פלט האש שואפת לאפס.
איך הבלוקצ'יין משתמש בהאש?
ללא פונקציית ההאש, עולם המטבעות הדיגיטליים לא היה יכול להתקיים. הנה השימושים המרכזיים:
- קישור השרשרת (Blockchain): למה קוראים לזה "שרשרת בלוקים"? כי כל בלוק חדש שנוצר מכיל בתוכו את ההאש של הבלוק שקדם לו. אם האקר ינסה לשנות עסקה ישנה בבלוק 10, ההאש של בלוק 10 ישתנה לחלוטין (בגלל אפקט המפולת). זה מיד "ישבור" את הקישור לבלוק 11 ולשאר השרשרת, והרשת תדחה את השינוי באופן אוטומטי.
- כרייה (Mining / Proof of Work): כורים ברשת הביטקוין לא "פותרים משוואות מתמטיות מורכבות" כפי שנהוג לחשוב. הם בעצם מבצעים ניחושים מיליארדי פעמים בשנייה בניסיון למצוא פלט האש שמתחיל במספר מסוים של אפסים (00000...). הראשון שמוצא את ההאש הנכון, מקבל את הזכות לכתוב את הבלוק הבא ומתוגמל בביטקוין.
- זיהוי עסקאות (Tx Hash): כשאתם שולחים מטבעות קריפטו, הרשת מייצרת לעסקה שלכם "תעודת זהות" ייחודית שנקראת Transaction Hash (או TxID). אם תזינו את ה-Hash הזה בסייר בלוקים (Block Explorer), תוכלו לעקוב אחרי העסקה ולוודא שהיא בוצעה בהצלחה.
אלגוריתמים מפורסמים של האש
קיימים עשרות אלגוריתמים, אך אלו הם המובילים בעולם הקריפטו:
- SHA-256 (Secure Hash Algorithm 256-bit): האלגוריתם שפותח במקור על ידי ה-NSA האמריקאי ונבחר על ידי סאטושי נקמוטו להניע את רשת הביטקוין.
- Keccak-256 (בסיס ל-SHA-3): האלגוריתם הדומיננטי שבו משתמשת רשת האתריום (Ethereum) לאימות עסקאות וחוזים חכמים.2
לסיכום
ההאש הוא החותמת הקריפטוגרפית ששומרת על שלמות הנתונים בעולם הדיגיטלי. הוא זה שמאפשר למערכת מבוזרת לפעול ללא מנהל מרכזי, תוך הבטחה מתמטית שאף גורם לא יכול לזייף היסטוריית עסקאות או למחוק העברות כספים שכבר נרשמו בבלוקצ'יין.
מושגי מפתח
מקורות
- NIST. "Secure Hash Standard (SHS) - FIPS 180-4" csrc.nist.gov ↗ ↩
- Bitcoin.org. "How Does Bitcoin Work?" bitcoin.org ↗ ↩
Cryptographic Hash
פונקציית גיבוב קריפטוגרפית, פונקציה הממירה קלט של נתונים לפלט באורך קבוע, שתוכננה להיות מאובטחת ובלתי ניתנת לשחזור (One-Way).
TxID (Transaction Hash)
מזהה עסקה, מחרוזת תווים ייחודית המייצגת עסקה ספציפית בבלוקצ'יין, ומשמשת כ"קבלת תשלום" שניתן לאמת בכל עת.
Merkle Tree (Merkle Root)
עץ האשים, מבנה נתונים המאפשר לחבר את כל ההאשים של אלפי העסקאות בבלוק לתוך האש אחד בודד, המייצג את כולן (שורש המרקל).
Hash Rate (קצב האש)
מדד המייצג את כוח המחשוב הכולל של רשת הבלוקצ'יין; כמה ניחושי האש כורי הרשת מסוגלים לבצע בשנייה אחת (למשל, Exahashes/s).