Corda - בלוקצ'יין בקוד פתוח לעסקים

קורדה הוא Ledger מבוזר לאחסון, ניהול וסנכרון התחייבויות פיננסיות בין ארגונים פיננסיים שונים.
Corda - בלוקצ'יין בקוד פתוח לעסקים
לקורדה יש ​​תיעוד די טוב עם הרצאות וידאו שניתן למצוא כאן. אנסה לתאר בקצרה איך קורדה עובדת בפנים.

בואו נסתכל על המאפיינים העיקריים של Corda והייחודיות שלה בין שאר הבלוקצ'יין:

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

ספר החשבונות

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

לדוגמה, דמיינו רשת של 5 צמתים, כאשר מעגל הוא עובדה ידועה לצומת.

Corda - בלוקצ'יין בקוד פתוח לעסקים

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

מדינות

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

מדינות יכולות לאחסן נתונים שרירותיים, למשל, מניות, אג"ח, הלוואות, פרטי זיהוי.

לדוגמה, המדינה הבאה מייצגת IOU - הסכם שלפיו אליס חייבת לבוב סכום של X:

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

Corda - בלוקצ'יין בקוד פתוח לעסקים

עסקות

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

עסקה תתווסף לפנקס החשבונות אם היא:

  • תקף חוזית
  • חתום על ידי כל המשתתפים הנדרשים
  • אינו מכיל הוצאה כפולה

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

כאשר נוצרת עסקה, מצב הפלט של העסקה הקודמת (לפי hash ואינדקס) מועבר לקלט.

Corda - בלוקצ'יין בקוד פתוח לעסקים
מחזור חיי עסקה:

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

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

Corda - בלוקצ'יין בקוד פתוח לעסקים
בנוסף למצבי קלט ופלט, עסקה עשויה להכיל:

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

Corda - בלוקצ'יין בקוד פתוח לעסקים

חוזים

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

חוזים ב-Corda נכתבים בכל שפת JVM (לדוגמה, Java, Kotlin).

class CommercialPaper : Contract {
    override fun verify(tx: LedgerTransaction) {
        TODO()
    }
}

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

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

ב-Corda חוזים מבוצעים במה שנקרא sandbox - JVM שונה מעט המבטיח ביצוע דטרמיניסטי של חוזים.

זרמים

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

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

Corda - בלוקצ'יין בקוד פתוח לעסקים

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

קוֹנסֶנזוּס

כדי להיכנס לפנקס, עסקה חייבת להגיע ל-2 הסכמות: תוקף וייחודיות.

ההחלטה על תוקפה של עסקה מתקבלת רק על ידי הצדדים המעורבים בה ישירות.

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

בואו נדמיין שלבוב יש 100$ והוא רוצה להעביר 80$ לצ'רלי ו-$70 לדן באמצעות אותו מצב קלט.

Corda - בלוקצ'יין בקוד פתוח לעסקים

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

מסקנה

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

מקור: www.habr.com

הוספת תגובה