Litecoin: رضایت بخش کد با اتاق برای پیشرفت

ساخت وبلاگ

کیفیت کد برای راه حل های موفق blockchain ضروری است. کد ضعیف با خطاها یکی از بزرگترین دشمنان سیستم های DLT است. بنابراین ، ما پایه کد Litecoin را مورد تجزیه و تحلیل قرار دادیم. تجزیه و تحلیل نتیجه رضایت بخش کلی را نشان داد. پایه کد Litecoin کیفیت بالاتری را نسبت به اتریوم مورد تجزیه و تحلیل قبلی نشان داد. با این وجود ، کد کامل نیست و هنوز جایی برای پیشرفت وجود دارد.- نویسندگان: Christian Flasshoff ، Philipp Sandner

معرفی

موسسه تجزیه و تحلیل دارایی رمزنگاری (ICAA) کد اساسی ارزهای رمزنگاری شده و سایر راه حل های DLT را تجزیه و تحلیل می کند. الگوریتم های خودکار نمره ای در مورد کیفیت کد تعیین می کنند ، که قابل درک و قابل مقایسه است. در مورد Litecoin ما بیش از 600000 خط کد را مورد تجزیه و تحلیل قرار دادیم و مسائل را در کمتر از 20،000 خط کد شناسایی کردیم. در بیشتر موارد ، مسائل جزئی و مهم نبودند اما بخش هایی از کد نیز وجود دارد که نیاز به پیشرفت توسط توسعه دهندگان دارند. ICAA با هدف ارائه یک رویکرد نوآورانه در بررسی کد ارزهای رمزنگاری شده و کمک به سرمایه گذاران ، تحلیلگران و سایر علاقه مندان به blockchain در فرایند تصمیم گیری. قبل از جزئیات تجزیه و تحلیل Litecoin ، اجازه دهید نگاهی به خود فناوری blockchain بیندازیم. برای هرکسی که با مفهوم Litecoin آشنا است ، احساس راحتی کنید که از این بخش پرش کنید و در بخش بعدی به خواندن ادامه دهید.

فناوری پشت Litecoin

Cryptocurrency Litecoin برای اولین بار در سال 2011 توسط کارمند سابق Google چارلی لی معرفی شد. Litecoin مبتنی بر پروتکل منبع باز بیت کوین است که چندین تغییر در این فناوری دارد. با جستجوی وب سایت Litecoin ، می توانید تعریف زیر را پیدا کنید: "Litecoin یک ارز اینترنتی همتا به همسالان است که پرداخت هزینه های فوری و نزدیک صفر را به هر کسی در جهان امکان پذیر می کند." [1] همانطور که قبلاً از بیت کوین شناخته شده استمعامله در شبکه Litecoin در یک دفترچه عمومی (blockchain) ذخیره می شود و باید توسط یک شبکه غیرمتمرکز از رایانه ها (گره ها) تأیید شود. علاوه بر این ، معدنچیان برای تأیید معاملات توسط Litecoins جدید پاداش می گیرند ، تا حداکثر 84 میلیون سکه آزاد شده. تا کنون بسیار خوب است ، اما چه چیزی Litecoin را با بیت کوین پیشرو خود متفاوت می کند؟

منتقد متداول پروتکل بیت کوین زمان تأیید آهسته معاملات است. این زمان به فاصله بین هر بلوک جدید ایجاد شده (گروه معاملات) در blockchain بستگی دارد. شبکه Litecoin هر 2. 5 دقیقه یک بلوک جدید ایجاد می کند (در مقایسه با 10 دقیقه برای بلوک های بیت کوین). در نتیجه ، Litecoin می تواند حجم بیشتری از معاملات را نسبت به بیت کوین انجام دهد ، که برای پرداخت سریع مطلوب است. علاوه بر این ، Litecoin از یک الگوریتم معدن متفاوت استفاده می کند ، که مسئولیت ایجاد سکه های جدید را بر عهده دارد. بیت کوین از یک الگوریتم "SHA-256" پردازنده نسبتاً پردازنده استفاده می کند ، در حالی که Litecoin از یک الگوریتم "Scrypt" با حافظه فشرده می شود. این ممکن است بی اهمیت به نظر برسد اما می تواند منجر به سناریوهای بسیار متفاوت شود. با گذشت زمان ، فرآیند استخراج بیت کوین ها به قدرت محاسباتی بیشتر و بیشتر نیاز دارند و CPU های استاندارد یا GPU قادر به انجام محاسبات SHA-256 با سودآوری نیستند. بنابراین ، استخراج بیت کوین ها به مدارهای یکپارچه خاص برنامه (ASIC) نیاز دارد ، که بطور ویژه به منظور استخراج معدن طراحی شده اند و بیشتر توسط امکانات معدن بزرگتر اداره می شوند. از طرف دیگر Litecoin به گونه ای طراحی شده است که در دستگاه های عادی پایدار باشد تا آن را برای همه افراد در شبکه در دسترس قرار دهد. الگوریتم Scrypt ، که حافظه فشرده و نه پردازنده است ، باعث می شود که استخراج معادن در دستگاه های ASIC کارآمدتر شود و به همه کمک می کند تا در شبکه Litecoin شرکت کنند.

بررسی پایگاه کد Litecoin

Litecoin مجهز به ویژگی های پرداخت همتا است که در پایگاه کد Litecoin تعریف شده است. نرم افزار Litecoin بر اساس پروتکل بیت کوین ساخته شده و در سراسر شبکه توزیع می شود. این نرم افزار به عنوان ستون فقرات پروژه cryptocurrency عمل می کند که به کیفیت و امنیت پایگاه کد بستگی دارد. تجزیه و تحلیل پایگاه کد Litecoin به رونمایی از مسائل مربوط به کد و اطمینان از موفقیت بلند مدت این فناوری کمک می کند. در رویکرد نوآورانه ما ، این نرم افزار به طور خودکار پایگاه کد C ++ Litecoin را تجزیه و تحلیل کرده و کیفیت کد را تعیین می کند. از آنجا که کد Litecoin تحت مجوز نرم افزار مجوز رایگان MIT/X11 منتشر شده است ، Codebase در GitHub آسان قابل دسترسی است [2].

الگوریتم های تخصصی سیستم به طور خودکار نمره ای برای ارزهای رمزپایه در مقیاس ا ز-5 (بدترین امتیاز) تا +5 (بهترین امتیاز) تعریف می کنند. این طبقه بندی تفسیر نتایج و مقایسه آن با سایر راه حل های blockchain را آسان می کند. اظهارات فنی: تجزیه و تحلیل ما بر اساس نسخه کد Litecoin از 2018-02-21 است و مقایسه هایی را با انتشار کد اتریوم قبلی مورد تجزیه و تحلیل از 2018-03-12 انجام می دهد.

تجزیه و تحلیل: Litecoin نمره 2. 54 جامد در مقیاس [-5 ،+5] دارد

در این مرحله ، جالب است بدانید که با کد Litecoin به این نتیجه رسیده است. Cryptocurrency با پتانسیل پیشرفت های بیشتر ، 2. 54 جامد را نشان می دهد. به منظور طبقه بندی این نتیجه ، دومین cryptocurrency بزرگ ، Ethereum ، تنها 1. 69 امتیاز دارد و به وضوح در پشت Litecoin قرار دارد. در ادامه دلایل این نتیجه را بررسی خواهیم کرد و نمره را به چهار دسته تقسیم می کنیم: طراحی ، معیارها ، تکثیر و مشکلات کد. هر گروه توسط یک نمره جداگانه نشان داده می شود ، که اجازه می دهد تا مسائل مربوط به مؤلفه های پایگاه کد یا حتی خطوط دقیق کد را کاهش دهد. شکل 2 تمام زیر شاخه های نسخه Litecoin را از 2018-02-21 تجسم می کند. در ادامه ، هر دسته با جزئیات توضیح داده می شود و نتایج تفسیر می شود. مثل همیشه ، این قسمت ممکن است کمی فنی تر باشد اما هنوز هم برای افراد غیر رمزگذار قابل قبول است.

مسائل طراحیدر این گروه ، پایگاه کد از نظر طراحی کد مورد تجزیه و تحلیل قرار می گیرد. طراحی کد خوب با یک ساختار آسان و کارآمد مشخص می شود. حتی اگر عملکرد نرم افزار با کد به خوبی طراحی شده یا کد کمتر طراحی شده ممکن است یکسان باشد ، مطلوب است که کدی را تهیه کنید که هر برنامه نویس به راحتی درک کند. همانطور که در بررسی قبلی ذکر شد ، الگوریتم ها به طور خودکار طراحی کد را بازرسی می کنند و می توانند ضد الگوی را تشخیص دهند. ضد الگوی بخش هایی از کد هستند که به نظر می رسد کار می کنند اما بهینه ساخته نشده اند. چنین الگوهای معمولاً با گذشت زمان بوجود می آیند که ویژگی های جدید به آن پیوست می شوند یا هنگام تغییر توسعه دهندگان به کد کمک می کنند. ضد الگوی ممکن است منجر به خطا شود و حفظ کد را بسیار دشوار کند. انواع مختلفی از ضد الگوی وجود دارد. در این بررسی ، ما روی کلاس مغز تمرکز می کنیم. این کلاس بسیار پیچیده است و مقدار قابل توجهی از هوش سیستم را اجرا می کند. چنین کلاس شامل چندین روش مغز است که با عملکردهای پیچیده و بسیاری از خطوط کد مشخص می شوند. از آنجا که ، این کلاس غیر چسبنده است ، روش ها از هم جدا شده و در سراسر کد پخش می شوند. در نتیجه ، انسجام کم بر قابلیت درک ، قابلیت حفظ و آزمایش تأثیر می گذارد. کلاس های مغز نامطلوب هستند و باید از آنها اجتناب کرد. همچنین چندین الگوی دیگر وجود دارد ، اما این مقاله نمی تواند همه آنها را پوشش دهد. نتایج تجزیه و تحلیل طراحی مهمتر است. کد Litecoin تعداد کل 1،513 ضد الگوی دارد. این به نظر می رسد تعداد زیادی است ، اما ما باید این تعداد را متناسب با بیش از 600000 خط کد در کل ارزیابی کنیم. علاوه بر این ، تنها 231 شماره "بالا" رتبه بندی می شود ، که تعداد زیادی از مسائل را حتی بیشتر می کند. بسیاری از مسائل طراحی "بالا" در مؤلفه "QT" (67) قرار دارند و پس از آن "کیف پول" (25) و مؤلفه "RPC" (19) قرار دارند. ارزیابی مسائل طراحی با نمره 3. 08 به پایان می رسد. شکل 3 نمونه ای از ضد الگوهای موجود در مؤلفه "کیف پول" را نشان می دهد. در اینجا می توانیم چندین روش مغز (به عنوان مثال خط 922) را در این مؤلفه مشاهده کنیم که با هم می توانند به عنوان یک کلاس مغز طبقه بندی شوند. همچنین ذکر این نکته حائز اهمیت است که Litecoin نمره بالاتری نسبت به اتریوم مورد تجزیه و تحلیل قبلی ، که تنها 2. 29 به ثمر رساند ، بدست آورد. برخلاف اتریوم ، نمره طراحی Litecoin در طول توسعه افزایش یافته است. عکس فوری 2018-02-15 از پایگاه کد Litecoin تنها در مقایسه با نمره فعلی 3. 08 به امتیاز 2. 60 رسید.

بنابراین می توانیم نتیجه بگیریم که پایگاه کد Litecoin از نظر کیفیت طراحی در آخرین تحولات افزایش یافته و نتایج بهتری نسبت به اتریوم نشان داده است.

نقض متریکدسته بعدی کیفیت کد را با معیارهای نرم افزاری ردیابی می کند. چنین متریک به عنوان مثال "تعداد روش ها" (NOM) است. این متریک تعداد کل روش ها (توابع) را در یک کلاس شمارش می کند. بدیهی است که تعداد بیشتری از روشها کد را پیچیده تر می کند و خطر خطاها را افزایش می دهد. معیارهای دیگر به عنوان مثال "عدم انسجام در روشها" (LOCM) هستند که انسجام یک کلاس یا "دسترسی به داده های خارجی" (ATFD) را اندازه گیری می کند ، که فرکانس دسترسی به ویژگی های خارجی را از سایر کلاس ها اندازه گیری می کند. به منظور تعیین کیفیت کد ، سیستمی که ما از گزارش ها استفاده کردیم که از آستانه نامطلوب یک متریک فراتر رفته و نمره ای را برای نقض متریک محاسبه می کند. کد Litecoin تعداد کل 6114 تخلف متریک را نشان می دهد ، که می تواند به نمره 1. 93 تبدیل شود. در مقایسه با کد اتریوم (0. 47) ، که کمتر از 1000 تخلف از متریک را نشان می دهد ، این تعداد زیاد به نظر می رسد. با این حال ، با توجه به اینکه Litecoin دارای 20 بار خطوط کد بیشتر از Ethereum است که برای نمره بهتر Litecoin توجیه می کند.

تکثیر کد. همانطور که از قبل از آن استفاده می شود ، کپی های دسته بندی کد های تکراری را جستجو می کنند. کد کپی شده معمولاً نامطلوب است ، زیرا ممکن است خطوط کد را افزایش دهد ، عملکرد را کاهش می دهد یا آسیب پذیری نرم افزار را افزایش می دهد. پایگاه کد Litecoin نمره مطلوب 4. 29 را نشان می دهد و تنها 0. 75 ٪ از کد کپی می شود. این نتیجه کمی بهتر از نتیجه تجزیه و تحلیل اتریوم است اما هر دو ارز رمزنگاری نمرات بسیار خوبی را در این گروه نشان می دهند.

مسائل مربوط به کددسته آخر بر روی مسائل کد تمرکز دارد. بر خلاف مشکلات طراحی ، مسائل مربوط به کد فقط برای بخش محلی کد اعمال می شود. بسته به ویژگی های مسئله ، ممکن است تأثیرات بر عملکرد نرم افزار متفاوت باشد. بنابراین ، طبقه بندی پیامدهای مشکلات کد شناسایی شده مهم است. الگوریتم نوآورانه ، انتقاد را در دسته های کم ، متوسط ، بالا و بحرانی تعریف می کند. نتیجه پایگاه کد Litecoin در این گروه از شماره 312 کد رونمایی می کند. حتی اگر این تعداد در مقایسه با کد اتریوم کمی کوچکتر باشد ، نمره کلی شماره کد د ر-0. 07 به پایان می رسد. این نتیجه را می توان با توزیع مشکلات کد در کد Litecoin توضیح داد. تقریباً 20 ٪ از موضوعات در دسته موضوعات بالا یا مهم قرار می گیرند. اکثر این موارد در مؤلفه "Miner. H" قرار دارد که تعداد کل آنها از 17 مسئله بالا است. شکل 4 نمونه ای از مسئله کد را در این مؤلفه نشان می دهد (خط 69 و 94). در این مثال متغیر در سازنده معرفی نشده است. مشکلات کد باقیمانده (80 ٪) به صورت کم یا متوسط طبقه بندی می شوند. نمونه ای برای مسئله کم کد می تواند یک برچسب استفاده نشده در کد باشد. چنین برچسب بلااستفاده با عملکرد صحیح نرم افزار تداخل ندارد اما می تواند حذف شود تا کد فشرده تر شود. نرم افزاری با مشکلات کد کمتری تمایل به پایدارتر دارد و باید هدف هر برنامه نویس باشد. وقوع مشکلات کد در برنامه نویسی رایانه متداول است و بخشی از روند توسعه است. با این وجود ، حذف مشکلات کد برای بهبود نرم افزار ضروری است. در مقایسه با نسخه های قبلی Litecoin ، نمره مشکلات کد تقریباً یکسان بود.

خلاصه: به طور کلی پایگاه کد Litecoin رضایت بخش است

انستیتوی تجزیه و تحلیل دارایی رمزنگاری ، پایگاه رمزگذاری ارزهای رمزنگاری شده با الگوریتم های اتوماتیک را تجزیه و تحلیل می کند و نتایج را به یک امتیاز ترجمه می کند. در مورد Litecoin ، ما با یک کد کد رضایت بخش کلی با اتاق برای پیشرفت های بیشتر روبرو شدیم. خلاصه کردن نتایج به نقاط مهم با توجه به فوریت موضوع ، نشان می دهد که 8 مؤلفه کد حاوی موضوعات مهم است ، 17 مؤلفه به عنوان بالا رتبه بندی می شوند و 33 مؤلفه در دسته بحران متوسط قرار می گیرند. همانطور که در شکل 5 نشان داده شده است ، بسیاری از نقاط مهم می توانند در مؤلفه "کیف پول" و "QT" قرار بگیرند. اکثر موضوعات را می توان در دسته موضوعات کد ردیابی کرد ، که از بدترین امتیاز در بین همه دسته های Litecoin رونمایی شد. حتی اگر به نظر می رسد کد به درستی کار کند ، توسعه دهندگان باید بخش های مهم کد را مرور کنند. مقایسه تجزیه و تحلیل Litecoin با بررسی کد قبلی Ethereum منجر به نتایج بهتر یا مشابه برای پایگاه کد Litecoin در هر چهار دسته شد. این یافته ها را می توان با نمره کلی بهتر برای Litecoin تأیید کرد.

در آینده ، نظارت بر تحولات جدید کد Litecoin و دیدن اینکه آیا کد از نظر کیفیت کد بهبود می یابد ، جالب خواهد بود. علاوه بر این ، مؤسسه تجزیه و تحلیل دارایی رمزنگاری همچنان به منظور تعیین اینکه کدام راه حل blockchain دارای بالاترین کیفیت کد است ، به مقایسه نتایج با سایر ارزهای رمزپایه ادامه می دهد.

ملاحظات

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

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

  • آیا می خواهید در مورد چگونگی تغییر blockchain دنیای ما بیشتر بدانید؟
  • دانش blockchain: ما یک مقاله متوسط در مورد چگونگی به دست آوردن دانش لازم blockchain در یک حجم کار 10 روز کاری نوشتیم.

دو کتاب blockchain ما: ما دو کتاب در مورد چگونگی تغییر blockchain جامعه ما (آمازون لینک) به طور کلی و همه چیز مربوط به امور مالی (پیوند آمازون) به طور خاص ویرایش کرده ایم. هر دو کتاب به صورت چاپی و برای کیندل موجود است - در حال حاضر به زبان آلمانی و به زودی به زبان انگلیسی. نویسندگان بیش از 20 کارشناس مشهور blockchain در استارتاپ ها ، شرکت ها و دولت از آلمان ، اتریش ، سوئیس و لیختن اشتاین بوده اند-همه در این دو کتاب تخصص خود را دارند.

دو کتاب ما: اولین کتاب در Blockchain و جامعه و بخش دوم در Blockchain و دارایی

نویسندگان

فارکس حرفه ای...
ما را در سایت فارکس حرفه ای دنبال می کنید

برچسب : نویسنده : مرتضی احباب بازدید : <-PostHit-> تاريخ : يکشنبه 21 اسفند 1401 ساعت: 22:18