بیت کوین (BTC) چیست؟- اولین blockchain و cryptocurrency

ساخت وبلاگ

What Is Bitcoin (BTC)? — First Blockchain and Cryptocurrency

شاید تعجب کنید که بیت کوین چگونه کار می کند؟در واقع بسیاری از فن آوری های مبتکرانه وجود دارند که به هم می پیوندند تا شبکه به راحتی اجرا شود. در این مقاله به اصول اولیه کد بیت کوین ، امنیت و معاملات خواهیم پرداخت.

پروتکل بیت کوین برای اولین بار در 31 اکتبر 2008 اعلام شد ، هنگامی که Satoshi Nakamoto ، بنیانگذار (های) ناشناس بیت کوین ، WhitePaper بیت کوین را به لیست ایمیل Cypherpunk ارسال کرد. فقط بیش از دو ماه بعد ، حدود 3 ژانویه 2009 ، اولین بلوک در blockchain بیت کوین استخراج شد و پروتکل بیت کوین زنده شد. امروز ، پروتکل بیت کوین وظیفه تأمین شبکه نزدیک به 1 تریلیون دلار دارایی های دیجیتال را بر عهده دارد.

پروتکل بیت کوین توضیح داد

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

آنچه بیت کوین را از یک بانک منحصر به فرد می کند ، عدم تمرکز آن است. بیت کوین به جای تکیه بر یک بانک اطلاعاتی مرکزی برای ضبط معاملات ، یکی از نمونه های فناوری لجر توزیع شده است. یک شبکه غیرمتمرکز از رایانه ها (گره ها) به تأیید اینکه معاملات قانونی هستند کمک می کند. این امر عنصر اعتماد را از بین می برد و همچنین یک شبکه مقاوم در برابر سانسور ایجاد می کند که به هر کسی امکان می دهد بدون هیچگونه موانعی معاملات انجام دهد.

اثبات اجماع کار

بیت کوین اولین شبکه blockchain برای معرفی اثبات کار بود - مکانیسم اجماع blockchain که در آن رایانه های قدرتمند برای حل معادله ریاضی به منظور دریافت پاداش بلوک رقابت می کنند (BTC در این مورد). این فرایند به عنوان معدن cryptocurrency شناخته می شود - مکانیسم امنیتی که از پروتکل بیت کوین در برابر حملات مضاعف و سایر تهدیدها محافظت می کند.

BTC - پول بومی بیت کوین

هر واحد ارز در بلاک چین بیت کوین به عنوان بیت کوین شناخته می شود که اغلب با نماد علامت گذاری آن: BTC نامیده می شود. این شبکه طوری طراحی شده است که تنها 21 میلیون بیت کوین وجود داشته باشد - با آخرین مورد انتظار استخراج (ایجاد) در حدود سال 2140. از آنجایی که بیت کوین یک شبکه بلاک چین عمومی است، تعداد کل بیت کوین موجود می تواند توسط هر کسی در هر زمانی تایید شود.. نرخ بیت کوین تولید شده از طریق استخراج ارزهای دیجیتال به گونه ای برنامه ریزی شده است که هر چهار سال یکبار به نصف کاهش یابد (به عنوان "نصف" یا "نصف شدن" شناخته می شود). این امر BTC را برخلاف ارزهای فیات یا حتی بسیاری از ارزهای دیجیتال دیگر به یک دارایی کاهش دهنده تبدیل می کند.

کد منبع بیت کوین

دسترسی آسان یکی از ویژگی هایی است که منجر به پذیرش گسترده پروتکل بیت کوین شده است. ساتوشی ناکاموتو بیت کوین Core را به عنوان نرم افزار متن باز راه اندازی کرد که به توسعه دهندگان بلاک چین این امکان را می دهد تا به روزرسانی های جدیدی را به طور مداوم منتشر کنند که عملکرد پروتکل را بهبود می بخشد.

کد منبع اصلی بیت کوین Core به زبان C++ نوشته شده است و پیاده سازی به روز آن را می توانید در GitHub پیدا کنید. C++ نه تنها در پروتکل بیت کوین استفاده می شود بلکه به یکی از محبوب ترین زبان های برنامه نویسی بلاک چین در سایر پروتکل ها تبدیل شده است. این زبان برنامه نویسی از کنترل دقیق حافظه و استفاده از CPU پشتیبانی می کند. همچنین گره ها را قادر می سازد تا به سرعت بلوک ها را تأیید و منتشر کنند، که به این معنی است که تراکنش ها به طور مؤثر پردازش می شوند.

با محبوبیت بیشتر بیت کوین، مشتریان جدیدی که به زبان های برنامه نویسی دیگر نوشته شده اند منتشر شده اند. امروزه توسعه دهندگان بلاک چین همچنین می توانند برنامه های بیت کوین را با استفاده از Python، Golang، Java یا Rust بسازند.

خروجی تراکنش خرج نشده (UTXO)

بیت کوین کوین اصلی پروتکل بیت کوین است و در تمام تراکنش های شبکه استفاده می شود. برای سازماندهی تراکنش های بیت کوین، پروتکل بیت کوین اولین بلاک چین (یک نوع فناوری دفتر کل توزیع شده) را معرفی کرد. به طور خاص، بیت کوین از مدل خروجی تراکنش خرج نشده (UTXO) به عنوان راهی برای پیگیری نحوه حرکت وجوه و جلوگیری از مشکل خرج مضاعف استفاده می کند. درک این نکته ضروری است که هر UTXO فقط یک بار می تواند خرج شود. هنگامی که یک کاربر یک UTXO را خرج می کند، یک یا چند UTXO جدید ایجاد می شود.

فرض کنید باب 1. 2 بیت کوین در کیف پول بیت کوین خود دارد. او می خواهد 1 بیت کوین برای آلیس بفرستد. قبل از پردازش تراکنش، شبکه باید تشخیص دهد که کیف پول Bob دارای حداقل 1 BTC است. اگر کیف پول باب حداقل 1 بیت کوین نداشته باشد، ارسال 1 بیت کوین برای آلیس برای او غیرممکن است.

در مدل UTXO ، ممکن است یک یا چند خروجی ناخوشایند به هم اضافه شود تا میزان کل وجوه متعلق به یک کاربر را منعکس کند. در مثال ما ، باب ممکن است یک UTXO به ارزش 0. 5 BTC و دیگری به ارزش 0. 7 BTC داشته باشد ، که برابر با کل بودجه موجود در کیف پول بیت کوین است. هنگام ارسال 1 BTC به آلیس ، باب در واقع نیاز به ارسال کل هر دو UTXO (1. 2 BTC) دارد. سپس باب یک UTXO جدید حاوی 0. 2 BTC دریافت می کند. در همین حال ، آلیس یک UTXO جدید حاوی 1. 0 BTC دریافت می کند.

BTC UTXO Example

بیت کوین (BTC) مثال UTXO

اسکریپت بیت کوین و کد

همانطور که در بالا بحث شد ، نرم افزار منبع باز بیت کوین (معروف به Bitcoin Core) در C ++ نوشته شده است. با این حال ، پروتکل بیت کوین در واقع از یک زبان برنامه نویسی دیگر به نام اسکریپت بیت کوین استفاده می کند تا دستورالعمل های اصلی بیت کوین را در مورد چگونگی هزینه هر UTXO ارائه دهد. در هسته اصلی آن ، این فناوری است که تعیین می کند که چگونه پروتکل بیت کوین در واقع کار می کند. اکثر کاربران در واقع نیازی به یادگیری اسکریپت بیت کوین ندارند. این امر به این دلیل است که هم کیف پول بیت کوین و هم برنامه های دیگر پردازش اسکریپت بیت کوین را به طور خودکار در پشت صحنه انجام می دهند. با این وجود ، خوب است که بفهمیم اسکریپت بیت کوین چیست و چرا اینقدر مهم است.

اسکریپت بیت کوین از سیستم کدهای عملکرد (که به عنوان Opcodes شناخته می شود) استفاده می کند. در اصل ، Opcodes دستوراتی هستند که گره ها را در شبکه بیت کوین نحوه پردازش هر درخواست معامله را بیان می کنند. هر Opcode با پیشوند "OP_" شروع می شود و توسط یک دستور خاص دنبال می شود. به عنوان مثال ، OP_CHECKSIG به عنوان مکانیسمی برای تأیید ارسال کننده یک معامله از امضای دیجیتالی صحیح استفاده می شود. مهم نیست که کاربر بخواهد یک معامله استاندارد ارسال کند یا یک اسکریپت معامله سفارشی ایجاد کند ، اسکریپت بیت کوین و Opcodes به اجزای این فرآیند مورد نیاز است.

کلیدهای خصوصی بیت کوین

برای ایمن نگه داشتن وجوه کاربر ، پروتکل بیت کوین از رمزگذاری نامتقارن استفاده می کند. در این سیستم ، کاربران می توانند کلیدهای خصوصی (همچنین به عنوان کلیدهای مخفی نیز شناخته می شوند) به عنوان بخشی از یک جفت کلید خصوصی-عمومی شناخته شوند. به معنای مخفی نگه داشتن کلیدهای خصوصی است و برای دریافت معاملات BTC می توان کلیدهای عمومی را به صورت عمومی به اشتراک گذاشت. فقط یک کاربر که به کلید خصوصی Bitcoin Private دسترسی دارد می تواند بودجه (باز کردن UTXO) را که به یک کلید عمومی مربوطه ارسال می شود ، خرج کند. به این ترتیب ، یک کلید عمومی با شماره حساب بانکی قابل مقایسه است. یک کلید خصوصی با یک کد عبور برای یک حساب بانکی قابل مقایسه است. تفاوت اصلی این است که کلید خصوصی یک تعداد فوق العاده بزرگ است-آنقدر عظیم است که شانس حدس زدن ترکیب درست جفت کلید خصوصی و عمومی عملاً صفر است.

امنیت کلیدهای خصوصی بیت کوین توسط رمزنگاری منحنی بیضوی (ECC) و توابع هش رمزنگاری پشتیبانی می شود. این مفاهیم ریاضی برای ارائه دو مزیت اصلی برای کاربران استفاده می شود. اول ، کاربران می توانند کلید عمومی خود را با هر کسی در شبکه به عنوان راهی برای دریافت پرداخت به اشتراک بگذارند. با توجه به کلید عمومی ، مهندسی کلید خصوصی را معکوس می کند. دوم ، کاربرانی که می خواهند معاملات BTC را در شبکه ارسال کنند می توانند از کلید خصوصی خود برای ایجاد امضاهای دیجیتال استفاده کنند. یک امضای دیجیتال به طور مشابه با یک کد عبور یک بار برای احراز هویت هویت عمل می کند. این گیرنده یک معامله یا هر کس دیگری را در شبکه امکان پذیر می کند تا از نظر ریاضی با اطمینان 100 درصد اثبات کند که یک کلید خصوصی بیت کوین خاص امضای را ارائه می دهد. علاوه بر این ، کلید خصوصی هرگز در این فرآیند به شبکه فاش نمی شود.

کیف پول و آدرس های بیت کوین

مانند سایر رمزنگاری های رمزنگاری با استفاده از رمزنگاری کلیدی عمومی ، می دانیم که بیت کوین از تولید جفت های کلیدی خصوصی و عمومی پشتیبانی می کند. با این حال ، در واقع این روند را یک قدم جلوتر می برد. در حالی که کاربران می توانند از طریق یک کلید عمومی وجوه دریافت کنند ، می توانند به جای آن برای دریافت معاملات BTC از آدرس کیف پول بیت کوین (که به عنوان یک آدرس عمومی نیز شناخته می شود) استفاده کنند. یک آدرس عمومی از یک کلید عمومی مربوطه با استفاده از دو الگوریتم هشدار ایجاد می شود: الگوریتم هش امن 256 (SHA-256) و پیام ارزیابی اولیه یکپارچگی Race Digest 160 (RIPEMD-160). آدرس های عمومی به لطف امنیت ارائه شده توسط این لایه اضافی رمزگذاری و UX دوستانه تر که توسط یک رشته الفبایی کوتاه تر ارائه شده است ، بیشتر مورد استفاده قرار می گیرد.

هر کیف پول بیت کوین به طور پیش فرض دارای یک کلید خصوصی و یک آدرس عمومی مربوطه (و همچنین یک کلید عمومی) است. یک قیاس رایج این است که کیف پول بیت کوین را به عنوان حلقه کلید در نظر بگیرید. به طور کلی، هر کیف پول بیت کوین به گونه ای طراحی شده است که بتواند چندین جفت کلید را ذخیره کند. کاربران باید بتوانند هر زمان که بخواهند جفت های کلید جدید تولید کنند. از نظر فنی، بیت کوین هرگز در کیف پول بیت کوین ذخیره نمی شود. با این حال، ما اساساً می توانیم کیف پول بیت کوین را به عنوان یک رابط کاربر پسند برای ذخیره، ارسال و دریافت بیت کوین در نظر بگیریم. چند نوع محبوب کیف پول بیت کوین شامل کیف پول دسکتاپ، کیف پول مرورگر وب، کیف پول سخت افزاری، کیف پول موبایل و کیف پول کاغذی است.

BTC Address generated on AtomicDEX

نشان داده شده یک آدرس بیت کوین (BTC) است که در کیف پول AtomicDEX ایجاد شده است. AtomicDEX شکاف بین بیت کوین و اتریوم را با یک پروتکل متقابل DEX که توسط فناوری مبادله اتمی ارائه می شود، پر می کند.

پروتکل بیت کوین به کاربران اجازه می دهد انواع مختلف پرداخت را با استفاده از بیت کوین اسکریپت ارسال کنند. سه نمونه محبوب عبارتند از Pay To Pubkey (P2PK)، Pay To Pubkey Hash (P2PKH) و Pay To Script Hash (P2SH). توجه داشته باشید که بیت کوین با هر نوع پرداخت ارسال می شود، اما مراحل مربوطه کمی متفاوت است.

پرداخت به Pubkey (P2PK)

هنگامی که پروتکل بیت کوین در سال 2009 راه اندازی شد، پرداخت به Pubkey (P2PK) یک نوع پرداخت مهم بود. در آن زمان، این تنها نوع پرداخت به جز P2PKH بود. در سال های 2009 و 2010، این شبکه از کاربرانی که گره هایی را اجرا می کنند (معروف به استخراج کننده های ارزهای دیجیتال) می خواهد تا پاداش های بلوک را از طریق تراکنش های P2PK بپذیرند. علاوه بر این، نرم افزار استخراج BTC برای CPU ها از P2PK پشتیبانی می کند. اگرچه این نوع پرداخت در مراحل اولیه مورد حمایت قرار گرفت، اما استفاده از آن به دلیل مزایای اضافی ارائه شده با استفاده از آدرس های عمومی به جای کلیدهای عمومی، کم رنگ شد.

هنگامی که یک تراکنش P2PK ایجاد می شود و به شبکه همتا به همتا بیت کوین ارسال می شود، فرستنده وجوهی را از کیف پول بیت کوین خود به کلید عمومی (که به اختصار pubkey نیز نامیده می شود) کاربر دیگری ارسال می کند. اگر گیرنده بخواهد آن وجوه را در هر مقطعی در آینده خرج کند (UTXO مربوطه را خرج کند)، فقط باید ثابت کند که مالک کلید عمومی است که وجوه به آن ارسال شده است.

پرداخت به هش Pubkey (P2PKH)

همراه با P2PK، Pay To Pubkey Hash (P2PKH) در ابتدا به عنوان یک نوع پرداخت زمانی که پروتکل بیت کوین در سال 2009 راه اندازی شد، پشتیبانی می شد. P2PKH همچنان محبوب ترین راه برای ارسال و دریافت بیت کوین است. از زمان نوشتن این مقاله، بیش از 54 درصد از عرضه BTC موجود در خروجی های P2PKH ذخیره می شود.

معاملات P2PKH کاملاً شبیه به معاملات P2PK است. مهمترین تفاوت این است که معاملات P2PKH به هش کلید عمومی گیرنده ارسال می شود. P2PKH در نهایت به دو دلیل اصلی پذیرفته شد. اول ، در مقایسه با یک کلید عمومی ، یک هش کلید عمومی یک رشته الفبایی کوتاه تر و قابل کنترل تر است. دوم ، P2PKH تشخیص خطا را از طریق یک ویژگی checksum امکان پذیر می کند و به کاربران کمک می کند تا شانس ارسال BTC را به یک آدرس نامعتبر کاهش دهند.

پرداخت به اسکریپت هش (P2SH)

Pay to Script Hash (P2SH) در سال 2012 به عنوان نوع پرداخت معرفی شد. این کار به سرعت از کاربرانی که می خواستند عملکرد اضافی را از طریق انواع پرداخت P2PK یا P2PKH ارائه نمی دهند ، به سرعت پشتیبانی می کند. از این نوشتار ، تقریبا 31 ٪ از عرضه BTC موجود در خروجی های P2SH ذخیره می شود.

معاملات P2SH به طور معمول علاوه بر نیاز به امضای دیجیتال معمولی یا تأیید PubKey ، محدودیت هایی را اضافه می کند. به عنوان مثال ، یک معامله P2SH ممکن است به یک گیرنده یا گروهی از گیرندگان نیاز داشته باشد تا امضاهای دیجیتالی را از چندین کلید خصوصی ارائه دهند. این محدودیت ها با چند خط اسکریپت بیت کوین ایجاد می شوند. سپس هش آن اسکریپت به عنوان راهی برای قفل پرداخت در یک معامله P2SH تولید می شود.

دو مزیت ارائه شده توسط P2SH نسبت به انواع پرداخت قبلاً توسعه یافته وجود دارد. اول ، فرستنده قادر به ارسال BTC بدون نیاز به نگرانی در مورد چگونگی باز کردن گیرنده های مربوط به UTXO مربوطه (به عنوان مثال از طریق کد عبور یا با الزامات چند امضاء در محل) هستند. دوم ، P2SH به فرستنده این امکان را می دهد تا دریافت کنندگان هزینه های اضافی شبکه را در معاملات بپردازند. قبل از اینکه P2SH به یک نوع پرداخت استاندارد تبدیل شود ، فرستنده ها با استفاده از اسکریپت بیت کوین برای دستیابی به همان نتیجه ، باید روند خسته کننده نوشتن خطوط سفارشی کد (معروف به اسکریپت) را طی کنند.

Bitcoin mining rig

نمونه ای از دکل معدن بیت کوین ASIC

جوانب مثبت و منفی پروتکل بیت کوین

  • از آنجایی که این اولین شبکه blockchain بود که تاکنون ایجاد شده است ، بیت کوین در فضای blockchain اولین مزیت حرکت دارد.
  • بیت کوین در اکثریت قریب به اتفاق مبادلات رمزنگاری ذکر شده است و حجم تجارت روزانه حیرت انگیز را حفظ می کند و خرید و فروش آن را آسان می کند.
  • بیت کوین توزیع شده ترین شبکه blockchain در جهان است که باعث می شود سانسور یا حمله بازیگران بد عملاً غیرممکن شود.
  • این شبکه دارای تعداد فزاینده ای از راه حل های لایه 2 است که امکان سنجی BTC را به عنوان نوعی پول نقد به همتا افزایش می دهد.
  • برخلاف شبکه اتریوم، بیت کوین به صورت بومی از قراردادهای هوشمند قوی پشتیبانی نمی کند. این استفاده BTC را به عنوان ارز برای برنامه های DeFi محدود می کند.
  • مقیاس پذیری لایه 1 تنها به حدود 7 تراکنش در ثانیه محدود می شود، به این معنی که انتقال های زنجیره ای می تواند کند باشد و کارمزدها در مقایسه با شبکه های بلاک چین مقیاس پذیرتر گاهی اوقات بسیار بالا باشد.
  • استخراج کریپتو اغلب به شدت به منابع انرژی تجدید ناپذیر متکی است که نگرانی های عمومی را در مورد انتشار کربن ایجاد کرده است.
  • ساختار پاداش بلوک کاهش تورم در واقع می تواند تهدیدی برای امنیت بلندمدت شبکه باشد زیرا انگیزه برای راه اندازی دکل های ماینینگ به طور مداوم در حال کاهش است.

فراتر از بیت کوین - معرفی سایر پروتکل های بلاک چین

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

به عنوان مثال، Zcash یک پروژه رمزنگاری معروف است که با استفاده از کدی که در اصل برای مشتری Core بیت کوین نوشته شده بود ایجاد شد. اگرچه برخی از ویژگی های بین دو پروتکل یکسان است (به عنوان مثال هر دو از مدل UTXO استفاده می کنند)، توسعه دهندگان Zcash چندین ویژگی متمایز را معرفی کردند. برای مثال، اثبات های دانش صفر، تراکنش های حفظ حریم خصوصی را در شبکه Zcash فعال می کنند. لایت کوین، بیت کوین کش و دش نمونه های محبوب دیگری از پروژه های ارزهای دیجیتال هستند که با استفاده از مشتری اصلی بیت کوین Core ساخته شده اند.

علاوه بر این، بسیاری از پروژه های ارزهای دیجیتال وجود دارند که از پروتکل های بلاک چین مستقل ایجاد شده اند، به این معنی که از پروتکل بیت کوین یا هیچ پروتکل موجود دیگری سرچشمه نمی گیرند. چند نمونه قابل توجه شامل اتریوم، EOS، Stellar، Tezos، Cardano، Cosmos و Monero هستند.

علاوه بر این، برخی از پروژه های ارزهای دیجیتال از انواع دیگری از فناوری های دفتر کل توزیع شده استفاده می کنند. برای مثال، آیوتا از یک گراف غیر چرخه ای جهت دار (DAG) برای سازماندهی تراکنش ها به جای بلاک چین استفاده می کند. در بیشتر موارد، اکثر پروتکل های بلاک چین در ابتدا به عنوان اکوسیستم های سیلو طراحی شده بودند. به عبارت دیگر، پروتکل بیت کوین نمی تواند به راحتی با پروتکل اتریوم متصل شود یا با آن ارتباط برقرار کند. با این حال، راه حل های فنی مانند مبادله اتمی اکنون مقداری از قابلیت همکاری بلاک چین را در میان پروتکل های مختلف ممکن می سازد.

بیت کوین را روی AtomicDEX نگه دارید و معامله کنید

AtomicDEX یک کیف پول چند سکه ای و DEX سوآپ اتمی غیرقانونی است. بیت کوین و همچنین اتریوم، بایننس کوین، دوج کوین و بسیاری از سکه های دیگر را در کیف پول خود ذخیره کنید. هنگامی که آماده معامله هستید، AtomicDEX از مبادله زنجیره ای پشتیبانی می کند. کلیدهای شما، سکه های شما.

کسب درآمد از فارکس...
ما را در سایت کسب درآمد از فارکس دنبال می کنید

برچسب : نویسنده : عسلی سهیال بازدید : <-PostHit-> تاريخ : شنبه 26 فروردين 1402 ساعت: 17:28