در سالهای ابتدایی تولد بیتکوین، جامعهی آن با چالشهای فراوانی در رابطه با تغییرات پیشنهادی برای بلاکچین بیتکوین مواجه شدند. از جمله:
این چالشها منجر به ایجاد یک چارچوب ساختاریافته و رسمی برای پیشنهاد، بحث و پیادهسازی ایدهها در راستای بهبود پروتکل بیتکوین شد که در این مقاله به آن میپردازیم.
بیشتر بخوانید: بیت کوین چیست
BIP که مخفف Bitcoin Improvement Proposal است بهمعنای پروپوزال یا طرح بهبود بیتکوین میباشد. اولین BIP که با نام BIP-0001 نیز شناخته میشود، در سال 2011 توسط امیر تاکی ارائه شد. امیر تاکی در این طرح که عنوان آن را «هدف و دستورالعمل BIP» قرار داد، به تعریف یک BIP، اهداف و دلایل کارآمد بودن آن برای محیط بیتکوین پرداخت.
طبق تعریف ارائه شده در این طرح، BIP یک سند طراحی است که قابلیتها، ایدهها و تغییرات پیشنهادی برای بهبود شبکه بیتکوین را مطرح یا معرفی میکند. به عبارت دیگر، اگر فردی پیشنهادی برای بهبود عملکرد بیتکوین دارد، میتواند با ایجاد یک سند خاص با استانداردی مشخص بهنام BIP، پیشنهاد خود را برای جامعه بیتکوین بیان کند.
پیشنهاداتی که برای بهبود شبکه بیتکوین ارائه میشوند، به طور کلی به سه دسته تقسیم میشوند:
این نوع BIP عمدتا بر تکنولوژی زیرساختی شبکه بیتکوین تاثیر میگذارد که میتواند شامل تغییر در پروتکل شبکه، بلاک یا قوانین تایید تراکنشها شود. میتوان گفت تغییرات پیشنهادی در این نوع طرح شامل تغییرات اساسی در کدبِیس بلاکچین میباشد. ازآنجاییکه این نوع از پروپوزالهای بهبود بیتکوین منجر به تغییرات مهمی در کد آن میشود؛ بنابراین، برای اعمال این نوع تغییرات لازم است تا جامعه بیتکوین و توسعهدهندگان آن به اجماع برسند.
این نوع BIPها مسائلی همچون طراحی (Design) را توصیف و دستورالعملها یا اطلاعات کلی را برای جامعه فراهم میکنند. به عبارت دیگر، این BIPها با هدف ارائه اطلاعات مفید ایجاد میشوند و هیچ ویژگی جدیدی را پیشنهاد نمیکنند. به همین دلیل نیز نیازمند اجماع نخواهند بود.
BIPهای فرایندی، نوعی از پروپوزالها هستند که همانند BIP استاندارد، تغییراتی را برای بهبود بیتکوین ارائه میدهد. اما این تغییرات هسته اصلی شبکه و کدبیس بیتکوین را هدف قرار نمیدهد. برخی از تغییرات پیشنهادی این نوع شامل بهبود رویهها، دستورالعملها، تغییرات در فرایند تصمیمگیری و ابزارها یا محیط مورد استفاده در توسعه بیتکوین میشود. ازآنجاییکه BIPهای فرآیندی، تغییراتی را در عملیاتهای اجرایی بیتکوین پیشنهاد میکنند، اغلب برای اطمینان از پذیرش گسترده و همسویی با منافع جامعه به اجماع نیاز دارند.
نویسنده برای نوشتن یک سند BIP، باید اصول و ساختار مشخصی را رعایت کند. ساختار این سند شامل بخشهای مختلفی میباشد که در این قسمت به آنها خواهیم پرداخت.
این مقدمه، حاوی دادههای کاربردی در مورد BIP از جمله مشخصات نویسنده، تاریخ ایجاد و دادههای دیگری مانند وضعیت طرح، نام، نوع طرح و غیره میباشد که عمدتا توسط ویراستار طرح تعیین میشوند.
توضیح مختصری (حدود 200 کلمه) از مسئله فنی که این طرح به آن میپردازد. در واقع، در این قسمت باید جوهره یا خلاصهی مهمی از پروپوزال به کوتاهترین و سادهترین شکل بیان شود.
در هر BIP، باید به اطلاعات مربوط به کپی رایت مانند مجوز انتشار صراحتا اشاره شود. اگر شما در حال استفاده از اطلاعاتی هستید که مجوز دارند، باید به این موضوع در این قسمت اشاره کنید تا تمام پارامترهای قانونی را رعایت کرده باشید.
اگر ویژگی جدیدی پیشنهاد میشود، در این بخش باید ساختار و معنای آن ویژگی توصیف شود. مشخصات باید بسیار دقیق و جزئی باشند و امکان اجرا برای هر یک از پلتفرمهای مبتنی بر بیتکوین را فراهم کند.
نویسنده باید در این قسمت به طور کاملا واضح به این موضوع بپردازد که چرا پروتکل و استانداردهای فعلی قادر به حل مشکلی که طرح پیشنهادی به آن میپردازد، نیست و همچنین دلیل اینکه ایده وی یک بهبود و پیشرفت برای بیتکوین محسوب میشود را نیز بیان کند.
در این بخش باید به منطق ویژگی جدید مطرحشده، پرداخته شود. نویسنده باید بهطور دقیق تصمیماتی که برای پیشنهاد جدید اتخاذ کرده را توصیف کند و توضیح دهد که چرا این طرح خاص را برای حل مشکل مورد نظر پیشنهاد میدهد. نویسنده باید بهگونهای منطق طرح خود را بیان کند که بتواند اجماع جامعه بیتکوین را کسب کند.
سازگاری با نسخههای پیشین یکی از مسائل بسیار مهمی است که باید در نظر گرفته شود. تغییرات احتمالی که در شبکه ایجاد میشوند، نباید بهاندازهای باشند که منجر به ایجاد بلاکچینی متفاوت شود. در واقع نویسنده در مورد اینکه طرح پیشنهادی وی با نسخههای پیشین سازگار است یا خیر، به خوانندگان اطلاعات میدهد. اگر طرح پیشنهادی شامل چنین تغییراتی است، باید جزئیات و شدت آن توصیف و همچنین راهکارهایی برای مقابله با آن ارائه شود.
قبل از اینکه وضعیت طرح پیشنهادی «نهایی» شده تلقی گردد، باید در این قسمت کد تستشده و سازگار با نسخه موجود شبکه و همچنین مستندات مناسب قرار داده شود.
برای ثبت یک BIP، اولین موردی که نیاز داریم، یک ایده است. پیش از نوشتن یک سند BIP رسمی، باید موضوع ایده را در جامعه بیتکوین مطرح کنیم. این گام بسیار مهم است. زیرا ممکن است ایده مشابهی در گذشته مطرح شده باشد، اما به دلایل مختلفی توسط جامعه بیتکوین رد شده باشد. به دلیل اینکه بیتکوین یک شبکه غیرمتمرکز است، برای هرگونه تغییر یا بهبود نیاز است تا با بیشترِ اعضای شبکه به توافق یا اصطلاحا اجماع برسیم. به همین دلیل، بازخورد جامعه بیتکوین بسیار مهم است. بررسی چنین سوابقی تنها با جستجو در فضای اینترنت بسیار سخت و ناممکن است. بههمین دلیل، بهتر است در جامعه فعالان و محققان بیتکوین مطرح شود.
اگر پس از بررسیها و بحثهای مختلف حول ایده مدنظر در جامعه بیتکوین، به نتیجه و بازخورد مناسبی از جامعه بیتکوین رسیدیم، حال وقت آن است تا یک سند BIP رسمی با ساختاری که پیشتر بیان کردیم، تهیه و تدوین کنیم. سپس این سند را باید از طریق آدرس https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev برای توسعهدهندگان و فعالان حوزه بیتکوین ارسال کنیم تا بهطور رسمی بهعنوان یک پیشنویس در لیست BIPها قرار گیرد.
تصویر زیر مسیری را که این پیشنویس طی میکند، نشان میدهد.
دقت داشته باشید که تمام مراحل نشان داده شده در تصویر، نیازمند اجماع جامعه بیتکوین است و هیچ فرد یا گروه خاصی تصمیمگیرنده نیست.
در این مقاله، به موضوع BIPها پرداختیم و آموختیم که میتوان از این طریق در توسعه و بهبود این شبکه محبوب و گسترده نقش داشت. البته معمولا اکثر BIPهایی که تغییر در کدبِیس بلاکچین را مطرح میکنند، به اجماع نخواهند رسید. دلیل آن نیز واضح است. زیرا اکثریت افراد جامعه بیتکوین اعتقاد دارند که بلاکچین نباید دچار تغییرات آنچنانی شود و عملکرد و ساختار بنیادی آن باید ثابت باقی بماند.
تقریبا در سال 98 با ارزهای دیجیتال آشنا شدم و تنها چیزی که ازش میدونستم فقط ترید بود؛ تقریبا مثل همه کسایی که برای اولین بار با این حوزه آشنا میشن. اما هرچه بیشتر تو ...