BIKENZO

הסבר על Proof of Work: כיצד ביטקוין מגיע לקונצנזוס

Proof of work הוא התהליך שבו כורי ביטקוין מבצעים שוב ושוב האש (hash) על בלוקים מועמדים עד שאחד מהם עומד ביעד קושי, ואז הרשת עוקבת אחר השרשרת התקפה בעלת העבודה המצטברת הרבה ביותר — מה שהופך את שכתוב ההיסטוריה ליקר מבחינה כלכלית ומאפשר לזרים להסכים על פנקס משותף אחד ללא רשות מרכזית.

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

הבעיה ש-proof of work פותר

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

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

מה הכורים באמת מחשבים

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

מכיוון שפלטי האש אינם ניתנים לחיזוי או להנדסה לאחור, הדרך היחידה למצוא האש תקף היא ניסוי וטעייה: לשנות את ה-nonce, לבצע האש שוב, לחזור, מיליארדי פעמים בשנייה. חיפוש הכוח הגס הזה הוא ה"עבודה". קשה בכוונה לבצע אותו אך פשוט מאוד לכל אחד אחר לבדוק — חישוב האש יחיד מאשר שהתשובה תקפה. אי-סימטריה זו (קשה לייצר, קל לאמת) היא לב ליבו של proof of work.

קושי והקצב של בערך עשר דקות

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

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

מבלוקים לקונצנזוס: השרשרת התקפה הארוכה ביותר

מציאת בלוק תקף היא רק חצי מהסיפור. הצמתים עדיין צריכים להסכים על היסטוריה אחת כאשר שני כורים מוצאים בלוקים כמעט באותו רגע. הכלל הוא שהצמתים עוקבים אחר השרשרת התקפה בעלת סך העבודה (proof of work) המצטברת הרבה ביותר — מסוכם לעיתים קרובות כ"שרשרת הארוכה ביותר", אף שהיא למעשה הכבדה ביותר מבחינת העבודה המצטברת.

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

מדוע זה מאבטח את הרשת

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

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

פשרות והדיון הרחב יותר

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

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

FAQ

מהו proof of work במונחים פשוטים?
זו מערכת שבה מחשבים מתחרים כדי לפתור חידת ניחוש קשה ואקראית על ידי הרצת נתונים דרך פונקציית האש עד שהם מוצאים תוצאה מתאימה. החידה יקרה לפתרון אך קלה לכל אחד אחר לאימות, מה שמאפשר לרשת של זרים להסכים על בלוקים חדשים בלי לבטוח זה בזה.
כיצד proof of work מונע הוצאה כפולה?
העסקאות מסודרות בתוך בלוקים, והרשת עוקבת אחר השרשרת התקפה בעלת העבודה המצטברת הרבה ביותר. כדי להוציא את אותם מטבעות פעמיים, תוקף היה צריך לבצע מחדש את העבודה עבור הבלוק הרלוונטי ולהקדים את כל הרשת הישרה — מה שיקר באופן מונע ככל שהאישורים מצטברים.
האם proof of work זהה לכרייה?
הם קשורים זה לזה בהדוק אך אינם זהים. Proof of work הוא הכלל והחידה; כרייה היא הפעילות של ביצוע אותה עבודה — הפעלת חומרה כדי לחפש בלוקים תקפים. הכורים מתוגמלים בביטקוין שהונפק לאחרונה ובעמלות עסקה כאשר הם מצליחים.
מהי מתקפת 51%?
היא מתארת תרחיש שבו גורם יחיד שולט ביותר ממחצית מכוח הגיבוב של הרשת, מה שעשוי לאפשר לו לשנות סדר או לחסום עסקאות אחרונות. היא אינה יכולה לזייף חתימות או לגנוב מטבעות קיימים, והיא יקרה ומכשילה את עצמה, מכיוון שמתקפה מוצלחת עלולה לפגוע בערך של מה שהתוקף כורה.
מדוע ביטקוין משתמש בכל כך הרבה אנרגיה?
השימוש באנרגיה מכוון: עלות מהעולם האמיתי היא מה שהופך את שכתוב ההיסטוריה ליקר, וזה מקור האבטחה. ההערכות לגבי הצריכה הכוללת משתנות ומשתנות עם הזמן, וחלק החשמל העודף או המתחדש שונה מאזור לאזור — עדיף לבדוק את המספרים מול מקורות עדכניים ואמינים.
כיצד proof of work קשור לטרמינל נזילות כמו BIKENZO?
זה אינו משנה כיצד אתה קורא נתוני שוק, אך זה עוזר להסביר מה ביטקוין הוא: רשת המאובטחת בעבודה, לא חברה. BIKENZO הוא כלי נתונים שמשרטט מדד נזילות גלובלי (Global Liquidity Index) מול מחיר הביטקוין לצורך הקשר; הבנת proof of work היא ידע רקע, בעוד שהטרמינל פשוט מציג הקשר שוק. הוא מציע הקשר, לא ייעוץ — אתה מחליט.

A Bitcoin liquidity terminal. Global central-bank liquidity, plotted against the Bitcoin price, in one screen.

בקשת תצוגה מקדימה