תכונות אחרונות ומפת דרכים לשנת 2016

צומת המקור: 1576913

עדכון מקומת המפעל MultiChain

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

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

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

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

אז איפה MultiChain משתלב עם כל הרעש הזה? על קצה המזלג, זה מתמקד מוצר ומעשיות:

  • יציבות. על ידי מזלג מ ליבת Bitcoin, יישום ההפניה לרשת ביטקוין, MultiChain בונה על שנות יציבות וביטחון שהשתכרות קשה, שמקורם בדיילות של מיליארדי דולרים בשווי cryptocurrency באינטרנט הפתוח. כדי להיות ברור, לבסיס הקוד של ביטקוין יש מגבלות ארכיטקטוניות, ואנחנו נצטרך בסופו של דבר להתרחק ממנה. עם זאת, לגבי דרישות המשתמש הנוכחיות, עלות ביצוע זה עולה על התועלת באופן משמעותי.
  • קל לשימוש. משתמשי MultiChain רבים אמרו לנו שהרבה יותר קל לשימוש מאשר פלטפורמות blockchain מתחרות. אני אפילו לא יכול להיזכר כמה פעמים אמרתי למישהו שהוא יכול לעבור מאפס ל- blockchain הפרטי שלהם בתוך דקות, והם פשוט לא האמינו לי. אבל זה באמת נכון - פשוט עקוב אחר ההוראות המופיעות על להורדה ו מתחילים דפים ותראה בעצמך. אין תלות, שום אוסף, שום התעסקות עם דוקר. רק שלושה הפעלות עצמאיות וקובץ README.
  • תכונות. כאשר MultiChain שוחרר לראשונה, היו לו הרבה פחות תכונות מהיום. אין שליטה על הנכסים לכתובת, ללא עסקאות החלפה אטומית, אין מטא נתונים קלים לעסקה. אז איך נחליט מה להוסיף? פשוט - אנו מקשיבים למשתמשים שלנו. לפעמים הם יודעים בדיוק מה הם רוצים, כמו הנפקת נכסים עוקבים, ואנחנו שמחים לחייב. פעמים אחרות הם יודעים מה הם רוצים להשיג, אך אינם יודעים לבטא זאת כתכונה ותפקידנו לפענח זאת. כך או כך, מפת הדרכים של MultiChain מונעת ללא רחם על ידי משוב של משתמשים, וכך היא תמשיך.
  • תאימות ביטקוין. אם אתה בונה פיתרון blockchain, תמצא שהצומת הוא רק חלק קטן מהתמונה. יתכן שתזדקק לארנקים ניידים או אינטרנטיים, פתרונות ניהול מפתחות וספריה בשפה מעורפלת כלשהי לצורך פענוח, חתימה וקידוד של עסקאות. MultiChain נועד להפוך את כל זה לפשוט ומהיר ככל האפשר, על ידי שמירה על תאימות מקסימאלית עם bitcoin, עבורם ניתן להשיג בחינם כמות עצומה של מידע, כלים וקוד. כדי להוכיח את הנקודה, MultiChain יכול אפילו להיות מוגדר כצומת ברשת bitcoin.

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

הנפקת נכסים עוקבים (אלפא 17)

בקשה זו קיימת כבר זמן מה והיא השאלה המעודכנת ביותר בשאלות ותשובות למפתחים. אז למה זה לקח כל כך הרבה זמן? אתה יכול להאשים אותנו בכך שאנחנו טהורים. אתה רואה, מבחינת אבטחה, אין הבדל בין (א) הנפקת יחידות gazillion של נכס בפעם הראשונה לבין שמירה על רובם מחוץ למחזור, ו- (b) מתן הנפקות המשך של יחידות נוספות מאותן נכס.

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

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

קריאות API: issue, issuefrom, issuemore, issuemorefrom, listassets, getinfo תגובה של burnaddress שדה.

סייר MultiChain

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

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

מצב פקודה אינטראקטיבי (אלפא 16)

כמזלג של ביטקוין Core, MultiChain ירש את ה- bitcoin-cli הכלי אליו שמנו את שמו באופן מתאים multichain-cli כמובן. כלי זה מספק ממשק שורת פקודה נוח לממשק ה- API JSON-RPC של MultiChain, ומאפשר לשלוח שיחות API משורת הפקודה של המערכת, כאשר התגובות שלהם מוצגות בטרמינל. מאחורי הקלעים היא קוראת את תעודות ה- API מקובץ התצורה של הרשת המתאימה, בונה את בקשת JSON-RPC ומפענחת את תגובתה.

כמשתמשים ב- MultiChain בעצמנו, התסכול שהיה לנו היה זה multichain-cli היה צריך להפעיל בנפרד עבור כל בקשת API. מלבד התקורה במערכת, הדבר מונע את סוג האינטראקציה הנוזלית שמסדי נתונים SQL מספקים. וכך תיקנו את זה. החל מאלפא 16, אם אתה רץ multichain-cli [chain-name] ללא פקודה, אתה נופל למצב אינטראקטיבי המאפשר לך להקליד שוב ושוב פקודות ולראות את תגובתן. מצב אינטראקטיבי תומך בתכונות עריכה סטנדרטיות כמו היסטוריה (חצים למעלה ולמטה), קפיצה להתחלה (Ctrl A) או לסוף (Ctrl E) של השורה, ומעבר למילה הבאה (Ctrl →) ולמילה הקודמת (Ctrl ←) .

אימות חתימה מהיר יותר (אלפא 15)

כשמדובר בביצועים ב- bitcoin או MultiChain, צוואר הבקבוק החשוב ביותר הוא אימות ה- חתימות ECDSA עליו בנוי מודל האבטחה של הבלוקצ'יין. תוכנת ה- Bitcoin Core המקורית הסתמכה על ספריית קוד פתוח בשם OpenSSL לייצור ואימות חתימות, שעשתה את העבודה, אם כי היו לה כמה בעיות עם גמישותכלומר יותר מחתימה אחת הייתה תקפה למפתח פרטי מסוים ולמטען.

הגרסאות האחרונות של Bitcoin Core הציגו ספריה חדשה לחתימה ואימות של ECDSA, שנקראה libsecp256k1. הספרייה הזו, שנכתבה מאפס על ידי מפתחי blockchain ברמה עולמית, מסיר את התלות ב- OpenSSL, פותר בעיות עם סחירות ומתפקד מספר פעמים מהר יותר. אחד היתרונות של הנגזרות מ- Bitcoin Core הוא שמ MultiChain יכולה לנצל מגוון סוגי שיפורים אלו, הנבדקים ונבדקים בהרחבה לפני שהם נפרסים ברשת bitcoin. וכך אלפא 15 עושה בדיוק את זה עם libsecp256k1.

הפעל הרשאה (אלפא 14)

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

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

ממשקי API של עסקאות ארנק (אלפא 13)

כמזלג של ביטקוין Core, MultiChain ירש חלק מהרעים יחד עם הטובים. אחת מהנקודות התורפות בביטקוין Core היא ממשק ה- API לשמירת מידע על העסקאות בארנק הצומת המקומי. הוא מציע שתי אפשרויות: (א) ה- getrawtransaction שיחה שמפענחת את התוכן הבינארי של עסקאות, אך לא מסבירה כיצד הם השפיעו על הארנק המקומי, ו- (b) את gettransaction ו listtransactions שיחות שמטרתן לתאר עסקאות מנקודת המבט של הארנק, אך עושות זאת בצורה מבלבלת, עם מספר אלמנטים של תגובה לכל עסקה. מה שהחמיר את המצב, לא ניתן היה להרחיב בקלות את התפוקה משיחות אלה כדי לעבוד עם היישום של MultiChain של נכסים שהונפקו על ידי blockchain.

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

קריאות API: listwallettransactions, getwallettransaction, listaddresstransactions, getaddresstransaction.

במבט קדימה ל- 2016

אלה הם כמה מהשיפורים העיקריים שהוצגו ב- MultiChain במהלך החודשים האחרונים. כמובן, תכונות קטנות רבות נוספות נוספו גם הן, והן מופיעות במלואן בקובץ README של ההורדה. והעדיפות הראשונה שלנו תהיה תמיד תקן באגים ברגע שהם מופיעים. למרבה המזל הנושאים שראינו מעולם לא היו בעלי אופי ארכיטקטוני רציני - התוצאה המשמחת של השימוש ב- Bitcoin Core כנקודת מוצא.

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

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

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

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

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

אם אתה מעוניין לדון בגרסת הפרימיום של MultiChain, אנא שלח דוא"ל premium@multichain.com or השתמש בטופס זה. נשמח ללמוד על הדרישות שלך ולראות כיצד נוכל לעמוד בהן.

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

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

ולבסוף, תודה לך על הקריאה ועל היותך משתמש מוקדם בפלטפורמת MultiChain.

בול זמן:

עוד מ רב-שרשראות