ویژگی های اخیر و نقشه راه 2016

گره منبع: 1576913

به روز رسانی از کف کارخانه MultiChain

به عنوان یک تغییر از پست های وبلاگ در مورد بلاک چین به طور کلی، می خواهم یک به روز رسانی در مورد آن ارائه دهم چند زنجیره ای، هم از نظر پیشرفت های اخیر و هم از نظر نقشه راه ما برای سال 2016.

ابتدا، می‌خواهم از هزاران نفر از شما که دانلود کرده‌اید و روی MultiChain ساخته‌اید، تشکر کنم. سؤالات پرسیده شده و برای ما بازخورد ارسال کرد. در هشت ماه پس از اولین انتشار عمومی، آمار ما رشد ارگانیک ثابتی را در ترافیک و دانلودها نشان داده است، و امیدوارم این بدان معنا باشد که ما در حال رسیدن به نقطه مطلوب هستیم. در واقع، بدون نام بردن از نام، می دانیم که MultiChain با موفقیت برای پایلوت های طولانی مدت بلاک چین در برخی از بزرگترین بانک ها، شرکت های مشاوره، فناوری مالی و شرکت های فناوری اطلاعات روی کره زمین استفاده شده است.

یک سوال که اغلب از ما پرسیده می شود این است که چرا MultiChain برای مدت طولانی در "آلفا" بوده است. پاسخ ساده این است که ما با درخواست‌های ویژگی بمباران شده‌ایم، که اکثر آنها برای ما منطقی بودند، بنابراین ما به جای آوردن محصول به نسخه بتا، روی افزودن این پیشرفت‌ها تمرکز کرده‌ایم. با این حال، باید MultiChain را برای نرم افزار آلفا بسیار پایدار بدانید و ما آن را به طور کامل تحت بارهای شدید آزمایش کرده ایم.

همچنین می‌خواهم توضیح دهم که چگونه MultiChain را در فضای گسترده پلتفرم‌های بلاک چین قرار می‌دهیم. در شش ماه گذشته، بسیاری از محصولات رقیب معرفی شده اند، (شبه) کنسرسیوم ها تشکیل شده اند، شرکت ها ده ها میلیون دلار جمع آوری کرده اند، و گهگاه شاهد انتشار برخی نرم افزارهای واقعی بوده ایم. البته رقابت طبیعی و اجتناب ناپذیر است و ما مشتاقانه منتظر توسعه این پلتفرم های دیگر هستیم. بدون شک ما بهترین ایده‌های آن‌ها را قرض می‌گیریم، و فرض می‌کنیم که آن‌ها تمجید را پس خواهند داد.

پس MultiChain با این همه سر و صدا در کجا قرار می گیرد؟ به طور خلاصه، بر روی آن متمرکز شده است محصول و کاربردی بودن:

  • ثبات. با انشعاب از هسته بیتکوینMultiChain، پیاده‌سازی مرجع برای شبکه بیت‌کوین، مبتنی بر سال‌های ثبات و امنیت است که به سختی به دست آمده‌اند که از سرمایه‌گذاری میلیاردها دلار ارزش ارز دیجیتال در اینترنت باز به دست می‌آید. برای روشن بودن، پایگاه کد بیت کوین Core دارای محدودیت‌های معماری است و ممکن است در نهایت مجبور شویم از آن دور شویم. با این وجود، برای نیازهای کاربر فعلی، هزینه انجام این کار به طور قابل توجهی بیشتر از مزایای آن است.
  • سهولت استفاده. بسیاری از کاربران MultiChain به ما گفته اند که استفاده از آن بسیار ساده تر از پلتفرم های بلاک چین رقیب است. حتی یادم نمی‌آید چند بار به کسی گفته‌ام که می‌تواند در عرض چند دقیقه از صفر به بلاک چین خصوصی خودش برود، اما آنها حرف من را باور نکرده‌اند. اما این واقعاً درست است - فقط دستورالعمل های موجود در آن را دنبال کنید دانلود و شروع شدن صفحات و خودتان ببینید. بدون وابستگی، بدون تدوین، بدون مزاحمت با Docker. فقط سه فایل اجرایی مستقل و یک فایل README.
  • امکانات. زمانی که MultiChain برای اولین بار منتشر شد، ویژگی های بسیار کمتری نسبت به امروز داشت. بدون کنترل هر آدرس دارایی ها، بدون تراکنش مبادله اتمی، بدون ابرداده تراکنش آسان. پس چگونه تصمیم بگیریم چه چیزی اضافه کنیم؟ ساده - ما به کاربران خود گوش می دهیم. گاهی اوقات آنها دقیقاً می‌دانند چه می‌خواهند، مانند صدور متعاقب دارایی، و ما خوشحالیم که آن را ملزم می‌کنیم. مواقع دیگر آنها می‌دانند که می‌خواهند به چه چیزی برسند، اما نمی‌دانند چگونه آن را به عنوان یک ویژگی بیان کنند، و این وظیفه ماست که آن را حل کنیم. در هر صورت، نقشه راه MultiChain به طور بی وقفه توسط بازخورد کاربران هدایت می شود، و بنابراین ادامه خواهد داشت.
  • سازگاری بیت کوین. اگر در حال ساخت یک راه حل بلاک چین هستید، متوجه خواهید شد که گره تنها بخش کوچکی از تصویر است. ممکن است برای رمزگشایی، امضا و رمزگذاری تراکنش ها به کیف پول موبایل یا وب، راه حل های مدیریت کلید و یک کتابخانه به زبانی مبهم نیاز داشته باشید. MultiChain به گونه ای طراحی شده است که با حفظ حداکثر سازگاری با بیت کوین، که حجم عظیمی از اطلاعات، ابزار و کد به صورت رایگان در دسترس است، همه اینها را تا حد امکان ساده و سریع کند. برای اثبات این موضوع، MultiChain حتی می تواند پیکربندی شود به عنوان یک گره در شبکه بیت کوین.

اساساً هدف ما این است که کاربران خود را خوشحال کنیم و قاطعانه معتقدیم که این مطمئن ترین راه برای موفقیت تجاری است. در این یادداشت، می‌خواهم برخی از ویژگی‌های جدید اضافه شده در چند ماه گذشته را شرح دهم.

صدور دارایی متعاقب (آلفا 17)

این درخواست مدتی است مطرح شده است و همینطور است موافق ترین سوال در پرسش و پاسخ برنامه نویس. پس چرا اینقدر طول کشید؟ شما می توانید ما را به خاطر خالص بودن سرزنش کنید. ببینید، از نظر امنیت، هیچ تفاوتی بین (الف) صدور یک واحد گازیلیون یک دارایی در نوبت اول و دور نگه داشتن اکثر آنها از گردش، و (ب) اجازه صدور بعدی تعداد بیشتری از دارایی‌ها وجود ندارد. دارایی

اما به نظر می رسد که از دیدگاه کاربران ما، وجود دارد is تفاوت بین این دو مورد کاملاً وجود دارد، زیرا تمایز واحدهای در گردش فعال از آنهایی که در حاشیه هستند کار آسانی نیست. بنابراین، ما خوشحالیم که اعلام کنیم، در نسخه‌ای که امروز منتشر شد، وقتی یک دارایی را صادر می‌کنید، می‌توانید تصمیم بگیرید که آیا آن دارایی باز است یا بسته. اگر باز باشد، طرف صادرکننده اصلی می‌تواند هر چند بار که دوست دارد واحدهای بیشتری ایجاد کند.

از طرف دیگر، MultiChain همچنین اکنون یک "آدرس رایت" متعارف برای هر زنجیره ارائه می دهد. این آدرس پر از X است و بدیهی است که بدون کلید خصوصی مربوطه ایجاد شده است (انجام این کار زمان بی پایانی را می طلبد). بنابراین، هر واحد دارایی ارسال شده به این آدرس هرگز نمی تواند خرج شود و به صورت شفاف از بین می رود. توجه داشته باشید که برای ایمنی شما، آدرس رایت قبل از استفاده باید به صراحت مجوز دریافت داشته باشد.

تماس های API: issue, issuefrom, issuemore, issuemorefrom, listassets, getinfo پاسخ burnaddress رشته.

MultiChain Explorer

همراه با آلفا 17، اولین نسخه بتای رایگان و متن باز را منتشر می کنیم MultiChain Explorer. این یک نمای بصری مبتنی بر وب از وضعیت جهانی یک بلاک چین MultiChain، شبیه به کاوشگرهای بلاک چین که کاربران بیت کوین می شناسند و دوست دارند، ارائه می دهد. به شما این امکان را می دهد که به سرعت و راحت تراکنش ها، بلوک ها، دارایی ها و آدرس ها و همچنین ارتباطات بین آنها را از راحتی مرورگر وب مورد علاقه خود مشاهده کنید.

MultiChain Explorer از محبوب فورک شد آه پروژه، نوشته شده در پــایتــون و توسط از SQLite. به API یک گره MultiChain محلی متصل می شود و شامل یک وب سرور مستقل است بنابراین هیچ وابستگی اضافی وجود ندارد. امیدواریم از این ابزار لذت ببرید و از نظرات شما برای بهتر کردن آن به ما کمک کنید.

حالت فرمان تعاملی (آلفا 16)

MultiChain به عنوان فورک Core بیت کوین، این را به ارث برد 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)

وقتی صحبت از عملکرد بیت کوین یا MultiChain به میان می آید، مهم ترین گلوگاه تأیید صحت است. امضاهای ECDSA که مدل امنیتی بلاک چین بر روی آن ساخته شده است. نرم افزار اصلی بیت کوین Core برای تولید امضا و تأیید به یک کتابخانه منبع باز به نام OpenSSL متکی بود که این کار را انجام داد، اگرچه مشکلاتی با آن داشت. انعطاف پذیری، به این معنی که بیش از یک امضا برای یک کلید خصوصی و محموله معتبر بود.

نسخه‌های اخیر Bitcoin Core یک کتابخانه جدید برای امضا و تأیید ECDSA معرفی کرد که به نام libsecp256k1. این کتابخانه، از ابتدا توسط توسعه دهندگان بلاک چین در سطح جهانی، وابستگی به OpenSSL را حذف می کند، مشکلات چکش خواری را حل می کند و چندین برابر سریعتر عمل می کند. یکی از مزایای مشتق شدن از بیت کوین Core این است که MultiChain می تواند از این نوع پیشرفت ها استفاده کند که قبل از استقرار در شبکه بیت کوین به طور گسترده مورد بررسی و آزمایش قرار می گیرند. و بنابراین آلفا 15 دقیقاً این کار را با libsecp256k1 انجام می دهد.

فعال کردن مجوز (آلفا 14)

هنگام توسعه اولین نسخه MultiChain، از نظر مجوز با مشکل مواجه شدیم. از یک طرف، ما هیچ مشکلی در ساخت و اجرای یک مدل مجوزهای بسیار قدرتمند، با لایه های متعدد سرپرست، مجوزهای هر دارایی، و طرح های رای گیری وزنی نخواهیم داشت. از سوی دیگر، می‌دانستیم که این موارد از دیدگاه کاربر به پیچیدگی اضافه می‌کنند و لزوماً با نیازهای کاربر مطابقت ندارند. بنابراین تصمیم گرفتیم با یک مدل ساده شروع کنیم که شامل تنها شش نوع مجوز (اتصال، ارسال، دریافت، صدور، من، مدیر) و برخی رای‌گیری بر اساس اجماع مستقیم برای مهم‌ترین تغییرات امتیاز است. ما انتظار داشتیم که این مدل در طول زمان پیچیده‌تر شود، اما به جای تئوری‌های خودمان، بر اساس نیازهای کاربر هدایت می‌شود.

به نظر می رسد که در این مورد، ساده در واقع بسیار خوب است. اما یک شریک جدی که با او کار می کنیم به چیز دیگری نیاز داشت. ببینید، یک آدرس MultiChain با امتیازات ادمین این قدرت را دارد که انواع مجوزها را در یک بلاک چین کنترل کند، که در برخی موارد مشروط به توافق با مدیران دیگر است. اما این شریک می‌خواست به آدرسی این قدرت را بدهد که اتصال دیگران را کنترل کند، فقط مجوزهای ارسال و دریافت کند، برای مقاصد ورود، و هیچ تاثیری بر فرآیندهای مهم‌تر مانند استخراج و صدور دارایی نداشته باشد. بنابراین یک مجوز «فعال سازی» جدید اضافه کردیم که دقیقاً این کار را انجام می دهد. این همچنین اولین نمونه از شریکی بود که برای پیاده‌سازی ویژگی مورد نیاز خود در محصول پرداخت می‌کرد.

API های تراکنش کیف پول (آلفا 13)

MultiChain به عنوان فورکی از بیت کوین Core، برخی از بدی ها را به همراه خوبی ها به ارث برد. یکی از نقاط ضعف بیت کوین Core API برای بازیابی اطلاعات تراکنش های موجود در کیف پول گره محلی است. دو انتخاب ارائه می دهد: (الف) getrawtransaction تماسی که محتوای باینری تراکنش ها را رمزگشایی می کند، اما توضیح نمی دهد که چگونه بر کیف پول محلی تأثیر گذاشته است، و (ب) gettransaction و listtransactions فراخوان هایی که هدفشان توصیف تراکنش ها از منظر کیف پول است، اما این کار را به شیوه ای گیج کننده، با عناصر پاسخ متعدد در هر تراکنش انجام می دهند. بدتر شدن اوضاع، خروجی این تماس‌ها نمی‌تواند به راحتی برای کار با اجرای دارایی‌های صادر شده از طریق بلاک چین توسط MultiChain گسترش یابد.

بنابراین این نسخه مجموعه ای از API های جدید را برای پرس و جو از تراکنش های یک گره معرفی کرد. خروجی این فراخوان‌ها تمام فیلدهای مفید را از آنهایی که جایگزین می‌کنند حفظ می‌کند. اما آنها همچنین دسته ای از فیلدهای جدید را اضافه می کنند که توضیح می دهد چگونه هر تراکنش بر موجودی کیف پول محلی تأثیر می گذارد، که به آن مربوط می شود، چگونه مجوزها را تغییر می دهد، و هر ابرداده موجود. پس از معرفی (در آلفا 8) توانایی جداسازی فعالیت هر آدرس در یک کیف پول، تماس ها در دو نسخه ارائه می شوند - یک جفت که تراکنش ها را از منظر کیف پول به عنوان یک کل توصیف می کند، و دیگری که آنها را از دیدگاه کیف پول توصیف می کند. دیدگاه یک آدرس کیف پول فردی

تماس های API: listwallettransactions, getwallettransaction, listaddresstransactions, getaddresstransaction.

با نگاه به آینده به سال 2016

اینها برخی از پیشرفت‌های اصلی هستند که در چند ماه گذشته در MultiChain معرفی شده‌اند. البته، بسیاری از ویژگی های کوچکتر نیز اضافه شده است، و آنها به طور کامل در فایل README دانلود فهرست شده اند. و اولویت اول ما همیشه این خواهد بود اشکالات را به محض ظاهر شدن برطرف کنید. خوشبختانه مسائلی که ما دیده‌ایم هرگز ماهیت معماری جدی نداشته‌اند - نتیجه خوشحال کننده استفاده از Bitcoin Core به عنوان نقطه شروع.

از نظر خود MultiChain، پس از یک برنامه سرسام آور انتشار، ما کمی سرعت خود را کاهش خواهیم داد. این به این دلیل است که ما روی چیز بزرگی کار می کنیم که چند ماه طول می کشد تا به پایان برسد. من این ویژگی را در یک پست وبلاگ آینده به تفصیل شرح خواهم داد، اما ایده اصلی این است که یک مکانیسم ضبط و مهر زمانی غیر قابل تغییر ساده و کارآمد ارائه کنیم. برای هر نوع اطلاعات، نوعی "نوار" دیجیتال. اگرچه ابرداده های تراکنش در MultiChain قبلاً می توانند برای این منظور مورد استفاده قرار گیرند (در تکه های حداکثر 8 مگابایتی)، اما برای ذخیره سازی یا بازیابی به خصوص راحت نیست، و مشکلات مقیاس پذیری هنگام برخورد با قطعات بزرگ داده وجود دارد.

انگیزه این ویژگی چیست؟ البته بازخورد شما که به ما آموخته است که ذخیره‌سازی غیرقابل تغییر با هدف عمومی یک مورد بسیار رایج برای بلاک چین است. و اگر ما شاهد تقاضای قابل توجهی برای "قراردادهای هوشمند" (یعنی محاسبات روی بلاک چین) در MultiChain باشیم، این سیستم می‌تواند به عنوان لایه ذخیره‌سازی زیربنایی با محاسبات در هر گره، در صورت لزوم، عمل کند. همانطور که من دارم قبلاً توضیح داده شده، نیاز به هر گره در یک بلاک چین خصوصی برای انجام محاسبات روی زنجیره در زمان واقعی، ارزش کمی دارد.

و بعد از آن؟ خوب بدون شک پیشرفت های بیشتری برای محصول رایگان وجود خواهد داشت، اما ما همچنین شروع به کار روی یک می کنیم نسخه پریمیوم MultiChain. به عنوان شانس، در طول 8 ماه گذشته ما تعداد زیادی درخواست ویژگی مشترک را مشاهده کرده ایم که دارای ویژگی های زیر است:

  • آنها برای استقرار در دنیای واقعی مهم هستند، اما نه برای آزمایش اولیه.
  • آنها می توانند بر اساس هر گره پیاده سازی شوند، بدون اینکه بر اجماع یک زنجیره تأثیر بگذارند.
  • به نظر می‌رسد شرکت‌های واقعی که پروژه‌های واقعی را انجام می‌دهند، از پرداخت هزینه برای آنها خوشحال هستند.

این ویژگی ها مربوط به عملکرد، امنیت، ورود به سیستم و تجزیه و تحلیل هستند، و ما آنها را به طور کامل در زمان کامل توضیح خواهیم داد. در حال حاضر، من می خواهم بر دو نکته کلیدی در مورد این نسخه پریمیوم تأکید کنم. ابتدا یک خواهد بود جایگزینی کشویی برای نسخه رایگان، بنابراین هر کد یا برنامه‌ای که امروز روی MultiChain می‌سازید، بدون تغییر به کار خود ادامه می‌دهد. دوم، هر گره در یک بلاک چین قادر خواهد بود مستقل تصمیم بگیرند آیا باید ارتقا داده شود یا خیر، زیرا هیچ یک از ویژگی های برتر بر روی اجماع بلاک چین تأثیر نمی گذارد. این فقط به این دلیل نیست که ما مهربان باشیم - اگر بخواهیم MultiChain به رشد ارگانیک خود ادامه دهد بسیار مهم است. یک موجودیت جدید قادر خواهد بود بدون خرج کردن یک سکه، با یک شبکه MultiChain موجود مملو از گره‌های ممتاز متصل و تعامل داشته باشد.

اگر علاقه مند به بحث در مورد نسخه پریمیوم MultiChain هستید، لطفاً ایمیل بزنید premium@multichain.com or از این فرم استفاده کنید. ما خوشحال خواهیم شد که در مورد نیازهای شما بیاموزیم و ببینیم چگونه می توانیم آنها را برآورده کنیم.

یکی از چیزهایی که در چند سال گذشته آموخته ام این است که هیچ کس نرم افزار را جدی نمی گیرد تا زمانی که واقعاً نتواند آن را ببیند و از آن استفاده کند. یک ماه قبل از اولین انتشار MultiChain، داشتم به مردم درباره محصول می‌گفتم، و متوجه شدم که آنها مودبانه سرشان را تکان می‌دهند در حالی که آشکارا فکر می‌کردند: «اوه نجاتم بده، این هم یک سخنران سریع با کاغذ سفید و بدون کد کار». اما به محض اینکه محصولی را در دسترس قرار می دهید، پاسخ کاملاً تغییر می کند. بنابراین، اگر در مورد این نسخه ممتاز آینده با دوز شک و تردید می خوانید، متوجه می شوم و آن را مخالف شما نمی دانم. تنها چیزی که می توانم بگویم این است که تا کنون، MultiChain سابقه بسیار خوبی در اجرای وعده های خود دارد و ما مشتاقانه منتظر ادامه کار هستیم.

همچنین می‌خواهم از این فرصت استفاده کنم و از تیم ما برای کار برجسته‌شان تشکر کنم. اگرچه من حرفه ای یک کدنویس جدی هستم، اما این روزها تمام وقتم را صرف نوشتن محتوا، مدیریت محصول و صحبت با مشتریان می کنم. من بسیار خوش شانس هستم که می دانم می توانم به توسعه دهندگانمان برای ایجاد کدهای قوی و کارآمد، روز به روز اعتماد کنم و لحظه ای آن را بدیهی نمی دانم.

و در نهایت، از شما به خاطر مطالعه و اینکه کاربر اولیه پلتفرم MultiChain بودید سپاسگزارم.

تمبر زمان:

بیشتر از چندتایی