blockchain چگونه کار می کند؟
غواصی عمیق به کار یک blockchain ، از جمله معدن ، الگوریتم های اجماع ، زمان بلوک ، کیف پول ، گره ها و موارد دیگر.
چگونه blockchain بیت کوین کار می کند
یک قیاس صفحه گسترده
یک blockchain را به عنوان صفحه گسترده تصور کنید. همه به داده های موجود در هر سلول جداگانه دسترسی دارند و یک نسخه را در رایانه شخصی خود ذخیره می کنند. داده های موجود در صفحه گسترده بین چند نفر به اشتراک گذاشته می شود. با این حال ، هیچ کس نمی تواند یک سلول فردی را تغییر دهد یا اطلاعات موجود را تغییر دهد. در دنیای blockchain ، ما این را "تغییر ناپذیر" می نامیم - عدم توانایی در تغییر یا اصلاح چیزی در طول زمان.
حال تصور کنید که می خواهید یک سلول جدید به صفحه گسترده اضافه کنید. این امر مستلزم تأیید اعضایی است که به داده های صفحه گسترده دسترسی دارند. هنگامی که اکثریت صاحبان صفحه گسترده سلول جدید را تأیید کردند ، داده ها به صفحه گسترده اصلی اضافه می شوند.
بازگشت به بیت کوین
به عنوان گذشته ، شما متوجه می شوید که از "بیت کوین" با یک حروف بزرگ استفاده می کنیم تا به کلکهای کلی و "بیت کوین" با یک حروف کوچک B مراجعه کنیم تا به رمزنگاری شبکه بیت کوین مراجعه کنند.
در مرحله بعد ، بیایید مفاهیم فوق را برای درک بیشتر نحوه کار blockchain بیت کوین استفاده کنیم. اگر آلیس یک بیت کوین را به باب معامله کند ، این معامله در دفترچه بیت کوین blockchain ثبت می شود. مشاهده دفترچه نشان می دهد که هنگام انجام معامله ، چه مقدار بیت کوین رد و بدل شده است و آدرس های مربوط به بیت کوین آلیس و باب که معاملات را ارسال و دریافت کرده اند.
معدنچیان بیت کوین
پس از انجام معامله ، باید توسط افرادی به نام معدنچیان تأیید شود. هنگامی که معامله ای انجام می شود - مانند معامله آلیس با باب - در یک "بلوک" از نظر ریاضی محافظت شده با سایر معاملات که در همان بازه زمانی اتفاق افتاده است ، در یک "بلوک" از نظر ریاضی قرار می گیرند. سپس کارگران معدن از رایانه هایی با قدرت محاسباتی باورنکردنی برای حل بلوک به صورت ریاضی استفاده می کنند. اولین معدنچیان که بلوک را حل کرده و معاملات را تأیید می کنند با بیت کوین پاداش می گیرند. این تنها راهی است که می توان بیت کوین ایجاد کرد. سرانجام ، هر بلوک به بلوک قبلاً تأیید شده متصل می شود و زنجیره ای از بلوک ها را ایجاد می کند ، از این رو نام blockchain (ما می دانیم ، فوق العاده خلاق).
نکته دیگری که باید در مورد blockchain درک کنید این است که تغییر ناپذیر است ، به این معنی که پس از افزودن داده ها به یک بلوک ، هرگز نمی تواند (مثل هرگز هرگز) تغییر یابد. در یک برنامه عملی ، هنگامی که آلیس بیت کوین خود را معامله کرد و معامله را تأیید کرد ، او نمی تواند آن را پس بگیرد یا تجارت را لغو کند. آن رفته. با این حال ، شایان ذکر است که این سود افراد و مشاغل مربوط به معامله کارت اعتباری ، که تا تاریخ های بعدی حل نمی شوند ، سود می برد. یک فرد مخرب ، با استفاده از کارت اعتباری می تواند یک مورد را خریداری کند و سپس معامله را ترک کند و یک فرد یا تجارت را با درآمد از دست رفته ترک کند.
الگوریتم اجماع
هنگامی که آلیس بیت کوین خود را به باب معامله می کند ، معامله به عنوان یک بلوک نشان داده می شود که باید به شبکه blockchain پخش شود. شبکه blockchain از گره ها یا شرکت کنندگان در شبکه تشکیل شده است که معاملات را برای انتقال اطلاعات تأیید و رله می کنند.
همه گره ها به طور داوطلبانه اداره می شوند و برای تأیید معاملات صحیح در blockchain استفاده می شوند. گره ها از قوانین اجماع پیروی می کنند ، که قوانینی هستند که توسط جامعه توافق می شود. تغییر در قوانین اجماع ، 95 ٪ از جامعه را به تصویب نیاز دارد ، که تغییر نرم افزار بیت کوین برای یک گروه بسیار دشوار است. سایر الگوریتم های اجماع برای تغییر پروتکل نرم افزار به درصد کمتری نیاز دارند. گره ها معاملات و اعتبارسنجی ها را به گره های دیگر بلوک می کنند تا شبکه به روز شود. گره ها بیت کوین را نمی سازند. با این حال ، همه معدنچیان به طور معمول یک گره کامل را برای اعتبارسنجی و انتقال معاملات بیت کوین به طور مؤثر اجرا می کنند. از آنجا که هم معدنچیان و هم افراد غیر معترض با استفاده از گره های عملیاتی ، اعتبار سنجی و رله را اجرا می کنند ، همه آنها در روند اجماع شرکت می کنند.
معدن بیت کوین
معدنچیان بیت کوین معاملات قانونی را تأیید می کنند و بیت کوین جدید را به عنوان پاداش کار خود ایجاد می کنند.
هنگامی که معدنچی یک معمای رمزنگاری (ریاضی) را حل کند ، یک معامله تأیید می شود. بیت کوین از پروتکل به نام اثبات کار استفاده می کند که هدف گسترده ای برای جلوگیری از حملات سایبری از هر نهاد یا گروه واحد دارد. به طور خاص ، بیت کوین از الگوریتم هش امن 256 بیت (SHA-256) استفاده می کند. تراشه های رایانه ای می توانند الگوریتم SHA-256 را برای تولید خروجی اجرا کنند ، که به آن "هش" گفته می شود. هشویی ، فرایند ایجاد هش های متعدد ، برای حل مسئله ریاضی استفاده می شود ، که در آن پاسخ نهایی مقدار هش شناخته شده و مورد انتظار است.
یک مثال ساده
- برای حل مشکل ، مقدار هش باید با سه صفر شروع شود: "000"
- ورودی سپس هر شماره را پیدا می کند که یک مسابقه را برای "راه حل" پیدا کند
- برای یافتن مقداری که در سه رقم اول "000" دارد ، 6،518 تلاش می کند.
راه حل 1 ——— 088DJLDKH2H5H3KJHK24GD5H2H5H3KJHK24GD5KH2H5H
راه حل 2 ——— 73485JflJroi5635H3KJHK24GD5WE94EE356H2H2H2H5H
راه حل 3 ——— D89SDF8SGE9NXC894OPL8QJROI5635H3KJHK24GD5WE94
راه حل 6517 ——— 088DJLDKH2H5H3KJHK24GDJROI5635H3KJHK24GD5WE
راه حل 6518 ——— 00088DJLDKH2H5H3KJHK24GDJHK24GD5H2HK24G4F4
با توجه به ورودی "راه حل 6518" ، هر معدنچی می تواند تأیید کند که این غیرقابل انکار در سه رقم اول یک هش با سه صفر ایجاد می کند. اولین معدنچی که این مشکل را حل می کند ، پاسخ خود را به شبکه پخش می کند و با بیت کوین پاداش می گیرد. سپس این بلوک تأیید می شود و به blockchain اضافه می شود. این معما نمایانگر نوع پازل است که یک معدنچی بیت کوین برای حل آن نیاز دارد و نه یک معما واقعی.
مشکل تأیید
یک بلوک استاندارد بیت کوین برای حل معما به میلیون ها هش نیاز دارد. در blockchain بیت کوین ، پیچیدگی پازل هر 2،016 بلوک را تغییر می دهد تا اطمینان حاصل شود که میانگین زمان تأیید بلوک ده دقیقه طول می کشد. بنابراین ، اگر تأیید به طور مداوم بیش از ده دقیقه طول بکشد ، مشکل آسانتر می شود. اگرچه ، معمولاً مشکلات برای حل چالش برانگیز تر می شوند و همین امر باعث شده تا تأیید بلوک ها بسیار گران و بسیار فشرده باشد.
در ابتدا ، بیت کوین می تواند با استفاده از تراشه های محاسباتی درجه مصرف کننده استخراج شود. با این حال ، با توجه به این افزایش مشکل ، در حال حاضر استخراج بیت کوین به قدرت هشویی عظیم نیاز دارد و صنعت از تراشه های مدار یکپارچه (ASIC) خاص برنامه استفاده می کند. ASIC ها به طور خاص برای استخراج بیت کوین ، به جای توابع عمومی ، سفارشی می شوند. این تراشه ها همچنین فوق العاده گران هستند ، که منجر به یک گروه انتخابی یا استخر معدنچیان شده است که بر سهم شیر از فعالیت استخراج بیت کوین حاکم است.
بلوک به بلوک
جنبه مهم دیگر این است که هر بلوک حاوی هش حل شده از بلوک والد یا قبلی است. هر بلوک جدید به هش بلوک والد نیاز دارد که از ترتیب زمانی بلوک اطمینان حاصل می کند. به عنوان مثال، هش بلوک 30 برای بلوک 31 ضروری است. بلوک 31 نمی تواند وجود داشته باشد تا زمانی که بلوک 30 تأیید شده و به بلاک چین اضافه شود. این تضمین می کند که هر بلوک تا بلوک اول که معمولاً به عنوان "بلوک پیدایش" شناخته می شود، به طور کامل متصل است. برای تغییر هر بلوک، نیاز به تغییر همزمان هر بلوک قبلی است. در نهایت، هر بلوک تغییرناپذیر است، که دوباره به این معنی است که هنگامی که یک تراکنش رخ می دهد، نمی توان آن را معکوس کرد. این همچنین تضمین میکند که پس از اضافه شدن بلوکهای داخل بلاک چین، نمیتوان آنها را تغییر داد.
عرضه
عرضه بیت کوین به 21 میلیون بیت کوین محدود می شود که تخمین زده می شود در حدود سال 2140 اتفاق بیفتد. مقدار بیت کوین پاداش داده شده به ماینرها در هر 210000 بلاک به نصف کاهش می یابد. بنابراین، تقسیم پاداش تا زمانی که بیست و یک میلیونمین بیت کوین ایجاد شود، ادامه خواهد یافت، در این مرحله ماینرها فقط کارمزد تراکنش را دریافت خواهند کرد.
چرا ماینرها تقلب نمی کنند؟
بیت کوین عمیقاً در رمزنگاری، علوم کامپیوتر، اقتصاد و رشته های مختلف دیگر ریشه دارد. یکی از این رشتهها نظریه بازیها است که از مدلهای ریاضی برای پیشبینی واکنش بازیکنان منطقی هنگام انتخابها یا موقعیتهای فردی استفاده میکند. بیت کوین از مفاهیم تئوری بازی ها برای تحریک اقدامات مورد نظر ماینرها و کاربران استفاده می کند.
بلاک چین توسط جو لوبین توضیح داده شده است
تفاوت اتریوم با بیت کوین
نحوه عملکرد بلاک چین اتریوم
عملکرد بلاک چین اتریوم مشابه بلاک چین بیت کوین است، اما با چندین تفاوت مهم.
حساب ها: آدرس های کیف پول
دو نوع حساب اتریوم وجود دارد:
- حساب های قرارداد
- حساب های تحت مالکیت خارجی (EOAs)
حساب های دارای مالکیت خارجی مشابه آدرس های بیت کوین هستند و توسط کلیدهای خصوصی کنترل می شوند. حسابهای اتریوم همچنین دارای آدرسهای عمومی و خصوصی هستند تا کاربران بتوانند با آنها برای انتقال اتر تعامل داشته باشند. حسابهای قراردادی که برای ارتباط با قراردادهای هوشمند استفاده میشوند، توسط کد قرارداد کنترل میشوند و از طریق EOA فعال میشوند. اتر برای هر تراکنش در شبکه (حسابهای قرارداد و EOA) برای جلوگیری از حملات مخرب مانند ارسال هرزنامه شبکه مورد نیاز است.
معاملات
شبکه اتریوم کاربران را ملزم به پرداخت هزینه تراکنش در هنگام استفاده از بلاک چین می کند. این کار از بلاک چین اتریوم در برابر وظایف محاسباتی بیهوده یا مخرب محافظت می کند، مانند ارسال هرزنامه توسط کاربران به همراه حجم بیش از حد تراکنش های بی فایده. هرچه تراکنش پیچیده تر باشد (خطوط کد بیشتر)، کارمزدها گران تر است. این هزینهها بر حسب اتر (ETH) پرداخت میشوند و به آن «قیمت گاز» میگویند.
شبکه اتریوم
مانند بیت کوین، اتریوم از گره هایی استفاده می کند که به طور داوطلبانه عمل می کنند تا تراکنش های صحیح روی بلاک چین را تأیید کند. گره ها اطلاعاتی مانند:
- کل تاریخچه تراکنش اتریوم
- جدیدترین اطلاعات در مورد وضعیت قراردادهای هوشمند
- مانده حساب ها
- و خیلی بیشتر
دو نوع گره وجود دارد
- یک گره کامل، زنجیره بلوکی را با دانلود کل زنجیره، از بلوک پیدایش (بلوک اول) تا بلوک فعلی، همگامسازی میکند.
- یک گره سبک کل زنجیره را دانلود نمی کند، اما همچنان می تواند به طور موثر تراکنش ها را تأیید کند.
گره ها بلاک چین اتریوم را استخراج نمی کنند. با این حال، همه ماینرها معمولاً یک گره کامل را برای اعتبارسنجی و انتقال موثر تراکنشهای اتریوم اجرا میکنند. از آنجایی که هم ماینرها و هم غیر ماینرها اعتبارسنجی و رله را توسط گره های عامل اجرا می کنند، همه آنها در فرآیند اجماع شرکت می کنند.
ماشین مجازی اتریوم
اساس این برنامههای کاربردی قابل برنامهریزی، ماشین مجازی اتریوم (EVM) است که محیطی قابل اجرا و قابل اعتماد برای قراردادهای هوشمند است. EVM قراردادی را با قوانینی که توسعهدهنده در ابتدا برنامهریزی کرده بود، اجرا میکند، مانند ارسال پول از آلیس به باب. این شبکه از هزاران رایانه تشکیل شده است که اجرای برنامه ها را پردازش می کنند. بنابراین، هر گره در شبکه اتریوم در واقع EVM را اجرا می کند و در نتیجه هر گره همان کد را اجرا می کند. EVM می تواند این برنامه ها را از طریق یک زبان بایت کد اجرا کند. با این حال، توسعه دهندگان همچنین می توانند از زبان برنامه نویسی اتریوم Solidity برای نوشتن قراردادهای هوشمند و سایر برنامه های پیشرفته تر استفاده کنند.
استخراج اتریوم چگونه کار می کند؟
استخراجکنندگان اتریوم تراکنشهای قانونی را تأیید میکنند و اتر جدیدی را به عنوان پاداشی برای کار خود ایجاد میکنند.
زمانی که ماینر یک معمای رمزنگاری (ریاضی) را حل کند، تراکنش تایید شده در نظر گرفته می شود. مشابه بیتکوین، اتریوم از پروتکل اثبات کار (PoW) استفاده میکند که هدف گستردهای برای جلوگیری از حملات سایبری هر نهاد یا گروهی دارد. یکی از تفاوت های قابل توجه بین استخراج بیت کوین و استخراج اتریوم زمان تایید بلوک است. در حالی که تایید بلاک بیت کوین به طور متوسط به 10 دقیقه نیاز دارد، بلاک اتریوم در حدود 14 ثانیه تایید می شود. و درست مانند بیت کوین، الگوریتم به طور خودکار دشواری مشکلات رمزنگاری را تنظیم می کند به طوری که میانگین زمان بلوک 14 ثانیه است.
با بیتکوین، ماینرها اغلب برای استخراج همان بلوک کار میکنند و گاهی اوقات آن بلاکها در زمانهای بسیار مشابه تایید میشوند، در این صورت اولین مورد یک پاداش است و به زنجیره موجود اضافه میشود، در حالی که بلاک دوم تایید شده «یتیم» نامیده میشود.
در بیت کوین، بلاک های یتیم عمدتاً بی استفاده هستند و بخشی از زنجیره اصلی نیستند. اتریوم با استفاده از مفهوم مشابهی به نام پروتکل GHOST (غمخوارترین زیردرخت مشاهدهشده) عمل میکند، که اساساً به این معنی است که زنجیرهای که بیشترین محاسبات روی آن انجام میشود (نه لزوماً طولانیترین) بلاکچین اصلی اتریوم است.
زمان بلاک سریع اتریوم منجر به افزایش تعداد بلاکهای یتیم میشود که در بلاک چین اتریوم به آنها «عمو» گفته میشود. تفاوت اصلی این است که اتریوم به عموهای ماینینگ انگیزه می دهد و پاداش ارائه می کند، برخلاف بیت کوین که فقط به اولین بلاک تایید شده پاداش می دهد.
عموهای معدن دو مزیت قابل توجه را ارائه می دهند
- با تشویق استخراجکنندگان به استخراج بلوکهای یتیم، تمرکز را کاهش میدهد، به این معنی که آنها مجبور نیستند بخشی از یک استخر استخراج بزرگ باشند زیرا هنوز میتوانند پاداش دریافت کنند.
- امنیت زنجیره را افزایش می دهد زیرا همه بلوک ها از جمله عموها باید از پروتکل ماینینگ یکسانی پیروی کنند که باعث افزایش حجم کار روی زنجیره اصلی (سنگین ترین) می شود.
اثبات سهام
شبکه اتریوم در حال حاضر از الگوریتم اثبات کار استفاده میکند و به سمت استفاده از الگوریتم اثبات سهام به نام کاسپر میرود.
اثبات سهام (POS) یک الگوریتم اجماع است که به هر معدنکار نیاز دارد تا در این مورد سهام خود را در ارز بومی داشته باشد. شایان ذکر است که همه پروتکل های POS یکسان نیستند ، اما از نظر مفهوم اساسی مشابه هستند. پروتکل های اثبات کار (POW) ، مانند بیت کوین ، تلاش برای معدن پاداش (اعتبار سنجی) با بیت کوین های فردی. اثبات الگوریتم Stake Casper یک قرارداد هوشمند است ، که در آن معدنچیان - که اکنون از آنها به عنوان "معتبر" یاد می کنند - به طور معمول واریز یا "سهام" را به قرارداد کاسپر ارسال می کنند. اعتبار سنج ها یا Stakers اکنون در بلوک بعدی پیشنهاد و رای می دهند که هر کدام یک رأی در هر بلوک دارند. رأی ها همچنین به میزان سهام رسیده است ، بنابراین یک اعتبار سنج که 100 ETH را به خود اختصاص می دهد رای معنادارتر از یک اعتبار سنجی که 40 ETH را کسب می کند ، خواهد داشت. اگر این اعتبار سنج ها هر چیزی را تولید کنند که پروتکل کاسپر نامعتبر باشد ، اعتبار سنج ها سهام خود را از دست می دهند ، که باعث می شود اعتبارنامه ها برای پیروی از اجماع باشند.
اتر چیست؟
بیایید بگوییم که شما می خواهید اتر ، Cryptocurrency بومی Blockchain Ethereum را خریداری کنید. ساده ترین راه برای انجام این کار ، تنظیم یک حساب در یکی از مبادلات رمزنگاری بسیار مورد استفاده ، مانند Coinbase یا Kraken است. این صرافی ها به شما امکان می دهد یک کیف پول اتریوم را تنظیم کنید تا بتوانید از هر کس دیگری که دارای کیف پول blockchain است که می تواند اتر را نیز ارسال و دریافت کند ، خرید ، فروش ، ارسال و دریافت اتر خریداری کنید.
هنگام خرید اتر ، معامله شما بخشی از یک بلوک در blockchain Ethereum می شود. این بلوک حاوی سابقه ای از جدیدترین معاملات اتریوم است که توسط هر کسی که پروتکل اتریوم را اداره می کند در هر نقطه از جهان اتفاق افتاده است. همچنین شامل یک هش رمزنگاری (یک الگوریتم ریاضی) از بلوک معتبر اخیراً در blockchain Ethereum است.
این بلوک با سابقه معامله شما بخشی از blockchain Ethereum نمی شود تا اینکه یکی از بسیاری از رایانه هایی که شبکه Ethereum را اجرا می کند ، هش رمزنگاری شده را مطابق با هش منحصر به فرد مرتبط با آن بلوک حل کند. این فرایند حل معمولاً به عنوان "معدن" شناخته می شود. هنگامی که هش حل یا کشف شد ، بلوک با سابقه معامله شما فوراً به انتهای blockchain که توسط هر یک از آن رایانه ها نگهداری می شود ، اضافه می شود و معامله شما بخشی از سوابق دائمی Ethereum blockchain می شود.
شایان ذکر است که "اتر" و "اتریوم" اغلب به صورت متناوب مورد استفاده قرار می گیرند تا به رمزنگاری که در blockchain Ethereum فعالیت می کند ، مراجعه کنند. این از نظر فنی صحیح نیست ، زیرا اتر اصطلاحی برای نشانه cryptocurrency است که در سکوی blockchain Ethereum استفاده می شود. اگر بخواهیم این رابطه را از نظر نرم افزار رایانه ای (که در آن است) نمایندگی کنیم ، Ethereum سیستم عامل خواهد بود و اتر برنامه خواهد بود. در یک قیاس نرم افزاری غیر رایانه ای ، اتریوم با یک وسیله نقلیه قابل مقایسه است در حالی که اتر به عنوان سوختی که قدرت می دهد و دستگاه را قادر می سازد کارآمد باشد ، عمل می کند.