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