راهنمای مبتدیان برای Cosmos: اکوسیستم Blockchain مبتنی بر Tendermint
کیهان یک چارچوب مدولار آینده و پلت فرم بلاکچین مبتنی بر Tendermint است که به عنوان یک اکوسیستم برای بلاک چین های خاص برنامه برای اتصال به آن طراحی شده است..
Cosmos در اطراف مفهوم استاندارد سازی ارتباطات بین بلاکچین های مختلفی که بخشی از اکوسیستم گسترده تر آن هستند ، برای تسهیل قابلیت همکاری طراحی شده است..
این پروژه بدون شک بلند پروازانه است و انتظار می رود که شبکه اصلی در سال 2019 منتشر شود. Tendermint از این نظر منحصر به فرد است که به عنوان یک چارچوب چند زنجیره ای برای سایر بلاکچین ها عمل می کند ، در حالی که هنوز از توافق خود استفاده می کند – Proof-of-Stake (PoS) – بر اساس هسته Tendermint.
مقیاس پذیری و قابلیت همکاری دو نتیجه مهم برای حوزه ارز رمزنگاری بزرگتر هستند و Cosmos به هر دو پاسخ می دهد.
با این حال ، راه اندازی یک شبکه PoS ابتکاری و آماده برای تولید با برخی از تفاوت های ظریف پیچیده بسیار چالش برانگیز است ، به ویژه با توجه به اینکه شبکه های اجماع PoS در مقیاس بزرگ هنوز به صورت پایدار ثابت نشده اند.
پیش زمینه در کیهان
توسعه کیهان توسط سوئیس مستقر پشتیبانی می شود بنیاد بین زنجیره ای, با Cosmos اولین پروژه آنها بسیاری از توسعه دهندگانی که در Cosmos کار می کنند از شرکتی هستند که موتور اصلی بلاکچین Tendermint ، همه در بیت را تشکیل می دهد.
قابل توجه ، Jae Kwon – که در ابتدا پیشنهاد شده Tendermint در سال 2014 – یکی از توسعه دهندگان برجسته است و یکی از اعضای هیئت مدیره بنیاد Interchain است.
کیهان تقریباً بزرگ شده است 16.8 میلیون دلار در ICO خود که در آوریل 2017 به پایان رسید. از آن زمان ، این پروژه یک فرایند توسعه روشمند را تجربه کرده است. بازی سهام (GoS) testnet قرار است به زودی فعال شود و به دنبال آن ممیزی از تازه منتشر شده SDK و در نهایت راه اندازی شبکه اصلی. جزئیات بیشتر در مورد آنها موجود است نقشه راه.
جزییات فنی
Cosmos یک چارچوب مدولار برای اتصال بلاکچین های موازی به مرکز اصلی موسوم به Cosmos Hub است. Cosmos Hub اولین زنجیره بلوک درون شبکه است و به عنوان واسطه اتصال بین مناطق مختلف در سیستم عمل می کند.
این مناطق از بلاکچین خصوصی و عمومی تشکیل شده است که همه از طریق پروتکل ارتباطات بین بلاکچین (IBC) به یکدیگر متصل شده اند..
اعتبار تصویر – وبلاگ کیهان
Cosmos بر روی موتور Tendermint ساخته شده است که از دو قسمت اصلی تشکیل شده است:
- هسته Tendermint – موتور توافق BFT اثبات سهام
- Application BlockChain Interface (ABCI) – تکرار BFT از dapp ها در چندین زبان برنامه نویسی.
هسته Termermint اساس اجماع Cosmos Hub و متعاقباً شبکه گسترده تری برای مدیریت مبادله استاندارد توکن ها بین مناطق است. توجه به این نکته مهم است که بلاکچین های موجود در Cosmos حاکمیت اجماع خود را حفظ کرده و آن را به اجماع بزرگتر Cosmos PoS واگذار نکنند..
بخوانید: Tendermint چیست?
ABCI زبانی است و توسعه دهندگان را قادر می سازد تا بخش کاربردی بلاکچین خود را به هر زبانی بسازند و در بالای موتور توافق Tendermint اجرا می شود..
ABCI یک مرز حیاتی بین موتور اجماع Tendermint و Cosmos SDK برای ساخت برنامه ها است. SDK یک چارچوب لایه ای است که بر اساس وجود سطح پایین ABCI ساخته شده است تا توسعه دهندگان را قادر به ایجاد برنامه های پیشرفته بدون نیاز به پیمایش پیچیدگی های منطقی محیط سطح پایین کند..
Cosmos سه لایه مفهومی یک بلاکچین را تعریف می کند:
- شبکه – انتشار معامله (به عنوان مثال ، پروتکل شایعات)
- اجماع – توافق گره اعتبارسنج در مورد معاملات
- برنامه – به روزرسانی وضعیت معاملات و پردازش معاملات
Tendermint شبکه و لایه های اجماع را به هم متصل می کند تا به توسعه دهندگان امکان ایجاد بلاکچین و اجرای آسان برنامه ها بر روی موتورهای دارای انرژی الکتریکی را بدهد. این یکی از مفاهیم اصلی Cosmos است که به آن اجازه می دهد تا به عنوان محیطی برای اتصال بلاکچین های موازی عمل کند. توسعه دهندگان فقط باید روی لایه برنامه تمرکز کنند.
ABCI رابط بین هسته Tendermint بسته بندی شده (شبکه و لایه های اجماع) و لایه کاربرد است. نکته مهم ، ABCI از پروتکل سوکت استفاده می کند تا موتور اجماع را قادر به مدیریت وضعیت برنامه در حال اجرا در یک روند اجماع دیگر کند. طبق مستندات Cosmos:
“Cosmos بنابراین می تواند از طیف گسترده ای از ارزها و زبان های نوشتاری مانند آنچه در Bitcoin ، Ethereum ، ZeroCash ، CryptoNote و غیره یافت می شود پشتیبانی کند.”
هسته اصلی Tendermint بسیار انعطاف پذیر و سازگار با بلاکچین های عمومی و خصوصی است. علاوه بر این ، توسعه دهندگان می توانند از نهایی بودن لحظه ای و عملکرد بالای Tendermint که برای مقیاس سازی طراحی شده است ، لذت ببرند.
IBC پروتکل ارتباطی استاندارد در سراسر شبکه است. استاندارد سازی قدرتمند است و امکان همکاری و افزایش مقیاس پذیری (به عنوان مثال ، پروتکل های اینترنت) را فراهم می کند. IBC مجموعه ای از معانی معنایی برای پیام رسانی بین بلاکچین ها با الگوریتم های اجماع مستقل است. طبق مخزن Cosmos SDK Github:
“پروتکل اصلی IBC payload-agnostic است. در بالای IBC ، توسعه دهندگان می توانند معانی یک برنامه خاص را پیاده سازی کنند ، به کاربران امکان می دهد دارایی های ارزشمندی را بین بلاکچین های مختلف منتقل کنند و ضمن تضمین های قراردادی دارایی مورد نظر – مانند کمبود و قابلیت استفاده برای ارز یا منحصر به فرد بودن جهانی برای یک بچه گربه دیجیتال -گربه. “
IBC نیاز دارد که بلاک چین هایی با قابلیت نهایی سریع – مانند بلاک چین های PoS – به طور بومی در میان بلاکچین های متصل پشتیبانی شوند. با این وجود ، IBC را می توان با بلاکچین منطقه peg-zone که دارای اجماع کندتری است – مانند PoW – که با Ethermint در زیر توضیح داده شده است ، پیاده سازی کرد. جزئیات بیشتر در مورد IBC در آن موجود است مقاله مشخصات.
IBC بطور محلی توسط مناطق مبتنی بر Tendermint پشتیبانی می شود و قالب استانداردی را برای انتقال رمزها در سراسر شبکه ، بین بلاکچین های مختلف تسهیل می کند. این مشابه پروتکل مبادله اتمی جهانی در شبکه است. مهم است که تشخیص دهیم که IBC فقط بلاک چین های مبتنی بر Tendermint همراه با آنهایی که الگوریتم های اجماع سریع نهایی دارند ، از جمله انواع PoS پشتیبانی می شود..
گوجه فرنگی در Go نوشته شده است و اولین منطقه میخ است که از دستگاه مجازی Ethereum (EVM) در بالای موتور Tendermint استفاده می شود. Cosmos این کار را با استفاده از ABCI پروتکل Tendermint امکان پذیر می کند که اجازه می دهد برنامه ها به هر زبانی در موتور Tendermint اجرا شوند..
در این حالت ، آنها کد کد Ethereum را تکثیر کردند و Cosmos را با رابط Web3 Ethereum کاملا سازگار کردند. توسعه دهندگان حتی می توانند استفاده کنند ترافل برای انتقال از طریق برنامه ها و قراردادهای هوشمند مستقیماً به Cosmos.
ایجاد برنامه های کاربردی در بالای بلاکچین کار دشواری است. چارچوب های کاربردی منابع و ابزارهای مورد نیاز را برای تسهیل تجربه بهتر توسعه فراهم می کند و به همین دلیل است که Cosmos اخیراً SDK خود را راه اندازی کرده است.
Cosmos SDK
Cosmos SDK یک چارچوب ABCI است که در Golang نوشته شده است و برای حمایت از توسعه بلاک چین های PoS چند دارایی ، بلاک چین های Proof-of-Authority (PoA) و برنامه های بالای آنها طراحی شده است..
هدف اصلی SDK کاهش پیچیدگی ها در ساخت ABCI برای قابلیت های مشترک بلاکچین و اجازه دادن به توسعه دهندگان در برنامه های قابل تنظیم در یک چارچوب استاندارد است..
ساختار مدولار SDK بیش از ABCI سطح پایین است و مجموعه ای از ابزارها و منابع را برای توسعه دهندگان فراهم می کند. این برای Gaia ساخته شده است ، اولین اجرای Cosmos Hub و راه اندازی شبکه اصلی به دنبال ممیزی کد SDK و همچنین تکمیل testnet بازی Stakes PoS.
اعتبار تصویر – وبلاگ کیهان
SDK با استفاده از اصول قابلیت شی object برای امنیت بهینه در برابر ماژول های شخص ثالث بالقوه مخرب ساخته شده است که توسعه دهندگان هنگام ساخت ماژول های خود به عنوان بخشی از چارچوب باز SDK از آن استفاده می کنند.
Cosmos منابع گسترده ای را در SDK خود در سایت فراهم می کند اسناد SDK برای توسعه دهندگانی که می خواهند شروع به ساخت برنامه های کاربردی در سیستم عامل کنند ، پس از اجرای آن.
لوسیون JS چارچوب جایگزین Cosmos SDK است که در JavaScript ساخته شده است و اجازه می دهد برنامه های بلاکچین به زبان ساخته شوند. این بسیار کوچکتر از چارچوب SDK است و به عنوان پایه ای برای ماژول های متمرکز ساخته شده است که در بالای آن ساخته شده اند.
آینده قابلیت همکاری
قابلیت همکاری با بلاکچین بعنوان گام بعدی طبیعی صنعت پس از مقیاس پذیری است. با این حال ، پروژه هایی مانند Cosmos که از ابتدا و به عنوان چارچوب های قابل همکاری ساخته شده اند ، برخی از بینش های جالب توجه در مورد اینکه منظره آینده بلاک چین های قابل همکاری چیست ، ارائه می دهند.
مشخص کردن چگونگی بازی Cosmos بسیار چالش برانگیز است ، به ویژه با توجه به اتکا به اجماع PoS و نتایج معلق نتایج آزمون آزمایشی Game of Stakes. استدلال در مورد PoS به طرز مشهوری دشوار است و مستعد ابتلا به a است ذهنی تفسیر تغییر ناپذیری.
جدول زمانی برای راه اندازی اصلی Cosmos نامشخص است ، اما همراه با Polkadot – یک چارچوب مشابه چند زنجیره ای – می تواند اندازه گیری مفیدی را برای مکانیک ارتباطات استاندارد و مبادله های رمز بین بلاک چین فراهم کند..
در صورت موفقیت ، Cosmos یک محیط کاملاً جدید را برای توسعه دهندگان و کاربران جهت راه اندازی و تعامل با برنامه های غیر متمرکز مقیاس پذیر و تعاملی ارائه می دهد..