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

הערה: בגלל אופי התהליך נכון יותר לומר אשרור. כלומר, אישור מחדש וחוזר חלילה.

תהליך אישור עסקה

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

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

שימוש במטבע דיגיטלי

מטבע דיגיטלי הוא שורת קוד, רישום ייחודי המכיל מידע שימושי. רישום זה "מאוחסן" ומשויך לכתובת ייחודית, השימוש במטבע נעשה דרך הכתובת ובעזרת תוכנה המכונה ארנק דיגיטלי. לארנק דיגיטלי ממשק מוכר ונוח לשימוש וביכולתו להכיל אין ספור כתובות שהם כאמור הביטוי הדיגיטלי של המטבע ו/או סכום. שימוש מעשי מחייב תהליך עיבוד (חיבור לאחד וחיסור לאחר) שבסופו מבוצע תיעוד ורישום ברשת המטבע (שרשרת בלוקים, בלועזית: בלוקיצ'יין  Blockchain, ). התיעוד נמצא על כל מחשב ברשת המטבע ובו ניתן לראות את כל העסקאות שנעשו אי פעם. תיעוד בשרשרת הבלוקים משמע עסקה שעברה תהליך עיבוד מלא ומוצלח על פי כל החוקים שנקבעו מראש בקוד המטבע. העיבודים מתבצעים בצמתי מחשבים ,(Nodes) הכינוי של העוסקים במלאכה הוא "כורים" ותהליך אותו הם מבצעים מכונה "כרייה". לאותם הכורים יש את החומרה והתוכנה הדרושים בכדי להתמודד עם חישובים מורכבים המצריכים כוח עיבוד מתאים ובכך למעשה לאשרר את כל העסקאות הנעשות ברשת המטבע.

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

לפני עסקה זו: לציפי 7 מטבעות ולביבי מטבע אחד, אינדיקציה על כך קיימת בכל מחשב ברשת המטבע: בצמתי מחשבים (Nodes)  וגם במחשבי המשתמשים (במידה והתקינו תוכנה ואישרו את הורדת קובץ שרשרת הבלוקים), אינדיקציה זו היא למעשה קובץ בו מתועדות כל העסקאות והוא מתעדכן באופן קבוע, הקובץ מכונה שרשרת בלוקים/ספר חשבונות/שרשרת העסקאות/שרשרת/בלוקצ'יין (בלועזית: (Blockchain , כולם מתארים את אותו הדבר.

העברה בין ארנקים ברשת מבוזרת כגון ביטקוין

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

  • ציפי: להפחית מכתובת שבבעלותי לפחות 2 מטבעות ולהוסיף אותם לכתובת של ביבי (אותה הוא סיפק מראש לציפי).

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

העברה בין ארנקים ברשת מבוזרת כגון ביטקוין

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

הטכניקה מאחורי האשרור

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

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

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

תהליך ביצוע חתימה דיגיטלית

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