תוכן העניינים
- הבנת הבלוקצ'יין
- התמודדות עם הוצאות כפולות
- הוכחת עבודה ו'כרייה '
אחד הדאגות העיקריות של כל מפתח בקריפטו הוא נושא ההוצאה הכפולה. הכוונה היא לשכיחותו של אדם שמבלה יתרה מאותו קריפטו לא פעם ולא פעם, וכך נוצרת למעשה פער בין רשומת ההוצאות לסכום של אותו cryptocurrency זמין, כמו גם לאופן חלוקתו.
נושא ההוצאה הכפולה הוא בעיה שאין במזומן; אם אתה משלם עבור כריך עם שטר של $ 10, מפנה את השטר הזה ליצרן הכריך, אתה לא יכול להסתובב ולבלות את אותם 10 דולר במקום אחר. עסקה המשתמשת במטבע דיגיטלי כמו ביטקוין מתרחשת באופן דיגיטלי לחלוטין. המשמעות היא שניתן להעתיק את פרטי העסקה ולשדר אותם מחדש כך שניתן יהיה לבזבז אותו BTC מספר פעמים על ידי בעלים יחיד. להלן, נבדוק כיצד מפתחים מפתחי cryptocurrency כי ההוצאות הכפולות אינן יכולות לקרות.
Takeaways מפתח
- סוגיה טכנית המתעוררת עם הרעיון של מטבע דיגיטלי היא היכולת של מישהו לשכפל את הכסף הדיגיטלי ולהוציא אותו בו זמנית בשני מקומות או יותר. בעיית 'ההוצאה הכפולה' הזו מונעת בקריפטו-מטבעות מבוססי blockchain כמו ביטקוין על ידי באמצעות מנגנון קונצנזוס המכונה הוכחת-עבודה (PoW). PoW זה מתבצע על ידי רשת מבוזרת של 'כורים' שלא רק מבטיחים את נאמנותן של עסקאות העבר בספרית הבלוקצ'יין, אלא גם מגלות ומונעות הוצאות כפולות.
הבנת הבלוקצ'יין
הבלוקצ'יין שעומד מאחורי מטבע דיגיטלי כמו ביטקוין אינו מסוגל למנוע הוצאות כפולות בעצמו. במקום זאת, כל העסקאות השונות הכרוכות בקריפטו הרלוונטי נפרסות ל- blockchain, שם הן מאומתות ומוגנות בנפרד על ידי תהליך אישור. במקרה של ביטקוין ועוד הרבה מטבעות cryptocurrencies, עסקאות שאושרו בדרך זו הופכות לבלתי הפיכות; הם מתפרסמים בפומבי ומתוחזקים בתמיד.
ביטקוין היה המטבע הדיגיטלי העיקרי הראשון שפתר את סוגיית ההוצאה הכפולה. היא עשתה זאת על ידי יישום מנגנון אישור זה ושמירה על מערכת ספר אלקטרוני אוניברסלית משותפת. באופן זה, הבלוקצ'יין ביטקוין שומר רישומים על עסקאות חותמות זמן שחזרו להקמתו של הקריפטו בשנת 2009.
במונחים של ביטקוין, "חסימה" היא קובץ של נתונים שהוקלטו לצמיתות. כל העסקאות האחרונות נכתבות לבלוקים, בדומה לספר עסקאות מניות בבורסה. מידע מחסימות מתווסף לספר החשבונות כל כמה דקות; כל הצמתים ברשת שומרים על עותק של ספר ה- blockchain. משתמשים מסוגלים לנווט ב- blockchain עבור bitcoin ולבדוק עסקאות מבחינת כמות בלבד. פרטים על זהות הקונה והמוכר בכל עסקה מוגנים על ידי הצפנה ברמה גבוהה, המגנה גם על הספירה מפני התעסקות על ידי מקורות חיצוניים. כאשר מתעדכן את ספר חשבונות הבלוקצ'יין, כך גם כל ארנקי הביטקוין.
התמודדות עם הוצאות כפולות
דמיין שיש לך BTC אחד ואתה מנסה להוציא אותו פעמיים בשתי עסקאות נפרדות. אתה יכול לנסות לעשות זאת על ידי שליחת אותו BTC לשתי כתובות ארנק ביטקוין נפרדות. שתי העסקאות הללו ייכנסו אז למאגר של עסקאות לא מאושרות. העסקה הראשונה תאושר באמצעות מנגנון האישור ואז תאומת לבלוק שלאחר מכן. עם זאת, העסקה השנייה תוכר כלא תקפה בתהליך האישור ולא תאומת. אם שתי העסקאות נמשכות מהמאגר לאישור בו זמנית, העסקה עם המספר הגבוה ביותר של אישורים תיכלל ב- blockchain ואילו השנייה תושלך.
אמנם זה עוסק למעשה בסוגיית ההוצאה הכפולה, אך זה לא בלעדיו. לדוגמה, המקבל המיועד של העסקה השנייה (שנכשלה) לא היה צריך לקחת חלק בכך שהעסקה עצמה תיכשל, ובכל זאת אותו אדם לא יקבל את הביטקוין שהוא או היא ציפו לו. סוחרים רבים ממתינים ל -6 אישורים לפחות על עסקה (כלומר, התווספו 6 בלוקים של עסקאות עוקבות אחר ה- blockchain לאחר העסקה המדוברת). בשלב זה, יכול בית העסק להניח בבטחה כי העסקה תקפה.
במערכת זו נותרו פגיעויות אחרות העלולות לאפשר התקפות של הוצאות כפולות. לדוגמה, אם תוקף מסוגל איכשהו לשלוט לפחות ב- 51% מהכוח של הרשת, הוא או היא יכולים לבצע הוצאות כפולות. אם תוקף היה איכשהו להשיג שליטה בכוח חישובי זה הרבה, הוא או היא היו יכולים להפוך עסקאות וליצור blockchain פרטי נפרד. עם זאת, הצמיחה המהירה של ביטקוין ביטחה כמעט כי התקפה מסוג זה אינה אפשרית. (לפרטים נוספים, ראו היזהר מחמש הונאות ביטקוין אלה)
הוכחת עבודה ו'כרייה 'הוסבר
עכשיו בואו נעשה קצת יותר טכני. הדרך בה המשתמשים מגלים חבלה כמו ניסיון להשקיע כפול בפועל היא באמצעות חיפשונים, מחרוזות ארוכות של מספרים המשמשים הוכחת עבודה (PoW). שים מערך נתונים נתון דרך פונקציית hash (bitcoin משתמש ב- SHA-256), והוא יפיק אי פעם hash אחד. אולם, בגלל "אפקט המפולת", אפילו שינוי זעיר בכל חלק מהנתונים המקוריים יביא לחשיש בלתי מזוהה לחלוטין. לא משנה מה גודל מערך הנתונים המקורי, החשיש שנוצר על ידי פונקציה נתונה יהיה באורך זהה. ה- hash הוא פונקציה חד כיוונית: לא ניתן להשתמש בה כדי להשיג את הנתונים המקוריים, רק כדי לבדוק שהנתונים שהפיקו את ה- hash תואמים את הנתונים המקוריים.
יצירת רק כל חשיש למערכת של עסקאות ביטקוין יהיה דבר טריוויאלי עבור מחשב מודרני, כך שכדי להפוך את התהליך ל"עבודה ", רשת bitcoin קובעת רמה מסוימת של" קושי ". הגדרה זו מותאמת כך שחסימה חדשה "ממוקשת" - מתווספת לבלוקצ'יין על ידי יצירת hash חוקי - בערך כל 10 דקות. קביעת הקושי מושגת על ידי קביעת "יעד" לחשיש: ככל שהיעד נמוך יותר, מערך החאש התקף קטן יותר, וקשה יותר לייצר כזו. בפועל זה אומר חשיש שמתחיל במחרוזת ארוכה של אפסים: החשיש לחסימה # 429818, למשל, הוא 000000000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8d. החסימה הזו כוללת 2, 012 עסקאות הכוללות קצת יותר מאלף ביטקוין, כמו גם הכותרת של החסימה הקודמת. אם משתמש שינה סכום עסקה אחד ב- 0.0001 ביטקוין, החשיש שהתקבל יהיה בלתי ניתן לזיהוי, והרשת תדחה את ההונאה.
מכיוון שקבוצת נתונים נתונה יכולה לייצר hash אחד בלבד, איך הכורים דואגים לייצר hash מתחת למטרה? הם משנים את הקלט על ידי הוספת מספר שלם, הנקרא nonce ("המספר שימש פעם אחת"). לאחר שנמצא hash תקף, הוא משודר לרשת, והחסימה מתווספת לבלוקצ'יין.
כרייה היא תהליך תחרותי, אך מדובר בהגרלה יותר מאשר במירוץ. בממוצע מישהו יפיק הוכחה מקובלת על עבודה כל עשר דקות, אבל מי שזה יהיה הניחוש של מישהו. כורים מאגדים יחד כדי להגדיל את הסיכוי שלהם לחסימת כרייה, המייצרת דמי עסקה ולזמן מוגבל, תגמול של bitcoins שנוצרו לאחרונה.
הוכחת העבודה מקשה מאוד על שינוי היבט כלשהו של הבלוקצ'יין, מכיוון ששינוי כזה ידרוש כרייה מחודשת של כל הבלוקים הבאים. זה גם מקשה על משתמש או מאגר משתמשים לבצע מונופול על כוח המחשוב של הרשת, מכיוון שהמכונות והעוצמה הנדרשים להשלמת פונקציות ה- hash הם יקרים.
