blockdaemonblockdaemon
بستر اصلی زیربنای blockchain برای مدیریت گره
< / div>
مخفی نیست که بلاکچین با سرعت حرکت می کند. در سال 2020 ، ما شاهد راه اندازی چندین پروتکل قابل توجه بوده ایم که هرکدام از آنها تفاوت های ظریف و قوتی دارند که پیشنهادات ارزشی را در صنایع مختلف ، از بلاکچین و بنگاه اقتصادی تا زنجیره تأمین مالی و مالی ارائه می دهند.
در Blockdaemon ، ما می فهمیم که نیاز به برقراری ارتباط از طریق چندین شبکه بلاکچین برای بسیاری از کاربران و توسعه دهندگان شبکه مهم است ، به همین دلیل اوایل سال جاری Ubiquity را راه اندازی کردیم ، ابزاری API که یک نحو واحد برای برقراری ارتباط بین پروتکل های مختلف فراهم می کند. Ubiquity دیگر نیازی نیست که کاربران شبکه های متعدد همیشه زمینه ها را تغییر داده و مجموعه جدیدی از دستورات و API ها را دوباره یاد بگیرند.
با این وجود ، با نوآوری و توسعه مداوم در بخش بلاکچین ، ضروری است که همه جا حاضر بودن نیز از این پیشرفت ها جلوتر باشد ، به همین دلیل من از بحث در مورد مرحله هیجان انگیز بعدی در این زمینه هیجان زده هستم. توسعه خدمات
معماری سیستم همه جا
یکی از موارد اولیه چالش هایی که ما در حال توسعه همه گیر شدن داشتیم یافتن معماری صحیح سیستم بود. ثابت شده است که اولین نسخه از معماری متناسب با نیازهای ما است. CockroachDB به عنوان یک شاخص عملکرد در بالای Ceph عمل می کند که مقدار زیادی داده بدون ساختار را ذخیره می کند ، در حالی که RabbitMQ ، یک واسطه پیام قابل اعتماد ، معماری Event-Driven-Architecture را برای پخش مجدد داده های همگام سازی در سراسر معماری ریز سرویس قدرت می دهد.
API های زنده
ما در مورد تقاضای مشتریان برای یک API زنده بازخوردی را گنجانیدیم و به همین منظور ، همه جا جذابیت های مهیجی را ارائه می دهد ویژگی های جدید در تکرار بعدی توسعه آن. تیم مهندسی بر روی Ubiquity v1.0 به عنوان یک API داده تاریخی تمرکز کردند. تکرار بعدی ما اعلان های بی درنگ معاملات را از طریق WebSocket API به کاربران ارائه می دهد.
شبکه های بلاکچین که دارای اجماع اثبات کار (PoW) هستند ، در هنگام کارکردهای عادی ، چنگال های کوچکتر را انجام می دهند. ما با امکان پشتیبانی از این بازگشتها در همه جا و اطلاع کاربران در صورت بازگشت کارهایی که قبلاً ارسال شده بودند ، اطمینان حاصل کردیم که این امکانات را در نظر بگیریم.
Staking Data
انتظار داریم مدل عمومی API تکامل یافته و انواع داده بیشتری را وارد کند. جدیدترین موارد جمع آوری داده های پاداش ، انکوباتور برای استفاده داخلی است. داشبورد یکپارچه Staking در Blockdaemon Marketplace ، با پشتیبانی Ubiquity ، کاربران را قادر می سازد تا راندمان گره را در چندین پروتکل نظارت کنند – همه اینها در یک داشبورد واحد است.
استخراج داده ها با زامبی ها
استخراج داده های تاریخی غنی از گره های بلاکچین دشوار است و به دلیل موقعیت مکانی ضعیف داده ها بسیار کند است. در حالی که استخراج اطلاعات تغییر وضعیت به آسانی تجزیه یک بلوک است ، دریافت اطلاعات دقیق مانند توازن تاریخی از گره های بایگانی قرائت تصادفی را شامل می شود که بیش از ترابایت داده های سرد است و ماه ها به طول می انجامد.
برای رفع این چالش ، خط لوله استخراج داده را مجدداً تصور کردیم که با پخش مجدد همگام سازی بلاکچین در گره های خاص “زامبی” و ردیابی داده های حالت ، با فضای ذخیره سازی کمتری کار کند. این گره های زامبی فقط برای محاسبه حالت / ردیابی وجود دارند و در غیر این صورت بیکار هستند (اراده آزاد برای همگام سازی بلوک ها ندارند).
اگرچه در هر بلاکچینی قابل استفاده است ، اما این رویکرد در بیت کوین بسیار ارزشمند است. ، جایی که استخراج داده با دو مرتبه بزرگتر انجام شد ، با استفاده کامل از حافظه نهان حافظه تنظیم شده UTXO که توسط Bitcoin Core ارائه شده است. مکانیسم همگام سازی زامبی همچنین امکان پردازش سریع پروتکل های جدید را نیز فراهم می کند.
در دسترس بودن بالا
حتی بهترین سخت افزار سرور موجود در بازار نیز به نگهداری گاه به گاه نیاز دارد. بنابراین از روز اول ، Ubiquity برای از بین بردن هر نقطه از خرابی طراحی شده است و در برابر قطعی های جزئی قابل انعطاف است و با تقسیم معماری به لایه هایی با جداسازی واضح ، مشکل در دسترس بودن را تسخیر می کند.
- لایه منبع: چندین گره بلاکچین که داده های جدید را به API تغذیه می کنند.
- لایه سرویس: خوشه چند منطقه ای Kubernetes و کارگزار رویداد RabbitMQ.
- همگام سازی لایه: پردازش دسته ای اضافی و مشاغل زنده برای همگام سازی داده های بلاکچین در پایگاه داده.
- لایه API: تعداد زیادی از سرورهای وب که پایگاه داده را جستجو می کنند.
- لایه سرویس: خوشه چند منطقه ای Kubernetes و کارگزار رویداد RabbitMQ.
مرحله بلع
/ p>
ما به طور مداوم عملکرد API را آزمایش می کنیم تا بهبودهای مبتنی بر بینش حاصل از هزاران سری زمانی VictoriaMetrics و میلیون ها ردیف Jaeger را تحت فشار قرار دهیم.
مهمترین بهینه سازی متریک در API زنده تأخیر بود – زمان بین ایجاد بلوک در شبکه ، تا زمانی که مشتری اطلاعات مربوط به رویداد را از طریق Ubiquity دریافت می کند. با تبدیل اعلان کنندگان برای تغییرات بلاکچین از نظرسنجی به تحویل مبتنی بر فشار ، چند صد میلی ثانیه با ارزش صرفه جویی می شود. ما بیشتر از عملکرد API راضی هستیم و آن را برای به حداکثر رساندن درخواست خام در ثانیه ، به طور عمده با بهینه سازی نمایش داده های SQL ، مورد آزمایش قرار داده ایم.
آزمایشی شامل مقیاس گذاری بخش نمایه سازی SQL از لایه همگام سازی هیجان انگیزترین نتایج را داشت و باعث افزایش توان بیت کوین از 100 پوند به معاملات پایدار 1700 پوند در ثانیه شد. این تغییرات شامل استفاده از رمزگذاری های باینری برای کلیدهای اصلی ، حذف محدودیت های کلید خارجی و تغییر به یک مدل پایگاه داده سازگار است – ناسازگاری داده ها هنگام به روزرسانی ها به جای آن بر روی لایه پرس و جو مورد استفاده قرار می گیرد.
دیگری م componentلفه همگام سازی مورد آزمایش ردیاب بلاکچین بود که شاخه های مجدد را برطرف می کند و حالت هایی را که برای انسداد فهرست می شوند ، حل می کند. ردیابی در زیر نشان می دهد که چگونه عملکرد 40٪ با افزودن پردازش موازی بهبود یافته است.
بدون پردازش موازی
توجه / 2 >
ما به عنوان یک ارائه دهنده زیرساخت های بلاکچین ، باید پیشرفت های موجود در بخش بلاکچین را که در حال پیشرفت است پیش بینی کرده و همراه آن حرکت کنیم. آخرین به روزرسانی های ما در Ubiquity تلاش ما برای انجام همین کار است.
با پشتیبانی فعلی از بیت کوین ، Ethereum ، Stellar و Ripple ، ما قصد داریم به زودی چندین پروتکل اضافی را به لیست اضافه کنیم.
اگر می خواهید Ubiquity را امتحان کنید یا درباره آخرین ویژگی های آن اطلاعات بیشتری کسب کنید ، برای اطلاعات بیشتر به صفحه Ubiquity در Marketplace ما مراجعه کنید.
این مقاله توسط ریچارد پاتل ، توسعه دهنده Blockchain در Blockdaemon نوشته شده است
مرتبط
داستان قبل از شکلک
داستان قبل از شکلک
برچسب ها
داستان قبل از شکلک
داستان قبل از شکلک