- جیمسون لوپ(Jameson Lopp)، در آخرین مطلبی که در وبلاگ خود منتشر کرده است اعلام کرد هیچ کسی کنترل توسعهی بیتکوین را در دست ندارد. وی در این مطلب که با موضوع «چه کسی بیتکوین را کنترل میکند؟» ارسال شده بود، در حقیقت سعی کرد تا نشان دهد چه کسانی قادر هستند کدهای هستهی بیتکوین(Bitcoin Core) که در GitHub قرار دارد را تغییر دهند.
لوپ مهندس نرمافزار و فردی باتجربه در حوزهی رمزارزی و بیتکوین است. وی که از آغاز پروژهی بیتکوین به عنوان بخش مهمی از این پروژه فعالیت میکند، اخیرا چگونگی توسعهی بزرگترین شبکهی مالی غیر متمرکز جهان توسط توسعهدهندگان را توضیح داد. لوپ تلاش کرد به انتقادهای مطرح شده در زمینهی اتخاذ تصمیمات یک جانبه و کنترل توسعهی شبکهی بیتکوین که توسط اشخاص و گروههای منتقد بیتکوین ، گروه بزرگی از متخصصان نرمافزار، برنامه نویسان و حتی تازهکاران مطرح میشود، پاسخ دهد.
توسعهی بیتکوین چگونه انجام میشود؟
تمرکز اصلی مطلب لوپ، چگونگی دستیابی جامعهی بیتکوین به اجماع در زمینهی پیشنهادات جدید کدنویسی در GitHub است. لوپ توضیح میدهد که بیتکوین دارای حسابهای « Maintainer(نگهدارنده)» است، آنها میتوانند کدها را با کد اصلی ترکیب کنند. Maintainerها همچنین بررسی نهایی را به منظور کسب اطمینان از سازگاری تغییرات با اهداف پروژه انجام میدهند. وظیفهی آنها حفظ اعتبار شبکه است. Maintainerها که در طول یک دورهی طولانی همکاری خود را به اثبات رساندهاند برای این منظور انتخاب میشوند.
وی افزود: هر Maintainer یک کلید PGP(یک کلید رمزنگاری شده توسط روش Pretty Good Privacy) در اختیار دارد و تنها دارندگان این کلیدها میتوانند کدها را به ساختار کنونی اضافه کنند. این امکان وجود دارد که کارمندان GitHub با اهداف مخرب و با استفاده از ویژگی Pull Request(ویژگی در GitHub که به کاربران اجازهی بحث و تبادل نظر در زمینهی پتانسیل اعمال تغییرات را میدهد) از امتیاز مدیریتی خود و بدون موافقت Maintainer، کدها را به GitHub تزریق کنند.
لوپ نوشت: «در حالی که کلیدها با هویتهای شناخته شدهای مرتبط است، همچنان روش کاملا ایمنی محسوب نمیشود. احتمال به خطر افتادن کلید وجود دارد و این اتفاق مشخص نمیشود مگر اینکه صاحب اصلی کلید، این اتفاق را به دیگر Maintainerها اطلاع دهد. به همین ترتیب، کلیدهای رمزنگاری شده امنیت کاملی را برقرار نمیکنند و تنها امکان تزریق کد دلخواه را توسط یک مهاجم دشوار میکنند.»
کدهایی که با استفاده از کلیدهای PGP در ساختار اصلی بیتکوین اضافه میشوند، قابل بررسی هستند. برای مثال توسعهدهندگان میتوانند بر روی سیستم خود آنرا بهطور جامع بررسی کنند.
پنج کلید PGP معتبر، عبارتند از:
این کلیدها متعلق به اشخاص زیر تعلق دارند:
لوپ ادعا میکند اسکریپی به نام verify-commits وجود دارد که توسط توسعهدهندگان و به منظور بررسی تغییرات کدها میتواند مورد استفاده قرار بگیرد و «در صورت اجرای موفق اسکریپ، تغییر هر خط از کد از زمان توسعهی بیتکوین که توسط افراد دارای کلید، علامت دار شده است را به ما نشان میدهد.»
با این وجود، لوپ به این نتیجه رسیده است که این روش استفاده از کلیدهای PGP راه حل قطعی نبوده ولی به عنوان یک تاکتیک قدرتمند برای محافظت از هسته در مقابل خرابکاران استفاده میشود.
او با توصیهی «نظارت ثابت(Constant Vigilance)» امیدوار است که بررسی کدهای بیتکوین توسط تعداد بیشتری از توسعهدهندگان، رشد بیتکوین را همانند هر پروژهی منبع باز دیگری تضمین کند.
آزمون سلامت کدها در GitHub
بیتکوین مجموعهای از آزمونهای ویژه و یکپارچه را در برابر خرابکاران احتمالی به کار میگیرد که با یک رشته از آزمونهای قابل تعمیم که دائما بر روی کدهای اصلی اجرا میشود، همراه است. بر اساس گفتههای لوپ، این کدها برای هر توسعهدهندهای بر روی GitHub در دسترس است و میتواند آزادانه آزمایش شوند. در همین زمان کدها میتوانند بر روی صفحهی Marco Falke در GitHub نیز مشاهده شوند. هر توسعه دهنده میتواند به طور هدفمند کدها را به منظور مطابقت با ساختار اصلی مورد آزمایش قرار دهد.
لوپ گفت: «در نهایت، اوپراتورهای گره(Node)، خودشان با انجام نظارت بر عدم نقض قوانینی که (با اجماع) پذیرفتهاند، اطمینان حاصل میکنند. این مدل امن پایه و اساس نظارت کامل بر ساختار بیتکوین است.»
نظر شما در ارتباط با ساختار مطرح شده در توسعهی بیتکوین چیست؟ نظر خود را به صورت کامنت با ما درمیان بگذارید.