diff --git a/content/chapter 12/blockchain/12.1.1-blockchain.md b/content/chapter 12/blockchain/12.1.1-blockchain.md index 4cbc455e7..b190ba315 100644 --- a/content/chapter 12/blockchain/12.1.1-blockchain.md +++ b/content/chapter 12/blockchain/12.1.1-blockchain.md @@ -3,4 +3,65 @@ title: 12.1.1 بلاکچین چیست slug: blockchain weight: 25001 --- -بلاکچین چیست... \ No newline at end of file +{{Blockchain}} + +بلاکچین (زنجیره بلوک) در واقع یک سیستم توزیع شده {{< tooltip text="همتا به همتا" note="P2P" >}} (Peer to Peer) [^1] می باشد که هیچ سرور مرکزی وجود ندارد و این شبکه با افزایش تعداد بلوک ها, تراکنش ها و کلاینت ها رشد می کند و در این شبکه تمامی اطلاعات بصورت رمزنگاری شده رد و بدل می شود و از انواع رمزنگاری متقارن و نامتقارن برای افزایش امنیت شبکه استفاده می شود. + +هدف اصلی بلاکچین بوجود آمدن یک سیستم شفاف و غیرمرکزی هست که دولت ها یا شرکت ها هیچ دسترسی مستقیمی برروی اطلاعات موجود در شبکه نداشته باشند و تمامی اطلاعات بصورت رمزنگاری شده داخل شبکه رد و بدل شود, منظور از سیستم غیرمرکزی یعنی کلاینت هایی که به شبکه متصل می شوند یکدیگر را به هیچ عنوان نمی شناسند و ممکن است یکی از کلاینت ها سیستم شخصی شما باشد یا اینکه یک سرور مجازی و... باشد و این کلاینت ها با متصل شدن به یکدیگر و انتشار اطلاعات برای سایر اعضای مجموعه خود باعث بروز شدن اطلاعات شبکه می باشد. + +{{P2P Network}} + +بلاکچین عموما توسط کامپیوترهای داخل شبکه {{< tooltip text="همتا به همتا" note="P2P" >}} مدیریت می شود و جایی که هر {{< tooltip text="گره" note="Node" >}} (یا همان کلاینت) با استفاده از پروتکل الگوریتم {{< tooltip text="اجماع" note="Consensus" >}}[^2] ایجاد و اعتبارسنجی ایجاد تراکنش و بلوک را انجام می دهد. + +## 12.1.1.1 ساختار و طراحی +یک بلاکچین یک زنجیره غیرمتمرکز, توزیع شده و اغلب عمومی هست و عنوان یک دفتر کل دیجیتالی که شامل کلی رکورد به نام بلوک هست و داخل این بلوک ها تعداد تراکنش با محدوده مشخصی نگه داری می شود, بلوک ها به هیچ عنوان تغییر پذیر نیستند و همواره با ایجاد شدن یک بلوک جدید فرآیند ادامه پیدا میکند بطوری که ممکن است یک بلوک فقط یک تراکنش داشته باشد و ادامه لیست تراکنش های جدید در بلوک بعدی نگه داری شود. + +در کل این عمل به مشارکت کنندگان ({{< tooltip text="گره" note="Node" >}} ها) اجازه می دهد تا معاملات را بطور مستقل و نسبتا ارزان بررسی و حسابرسی کنند. + +در شبکه بلاکچین هر {{< tooltip text="گره" note="Node" >}} دارای یک دیتابیس مستقل می باشد که بواسط شبکه {{< tooltip text="همتا به همتا" note="P2P" >}} تمامی اطلاعات (بلوک - تراکنش - اکانت ها و...) بین {{< tooltip text="گره" note="Node" >}} با یک {{< tooltip text="مهر زمانی" note="Timestamp" >}} توزیع می شود و این اطلاعات داخل دیتابیس محلی هر {{< tooltip text="گره" note="Node" >}} نگه داری می شود. هر {{< tooltip text="گره" note="Node" >}} موظف است به محض دریافت اطلاعات جدید این اطلاعات را احراز هویت کند و در صورت معتبر بودن اطلاعات به دیتابیس خود اضافه و نگهداری کند. + +در شبکه بلاکچین یک {{< tooltip text="دارایی دیجیتالی" note="Digital Asset" >}} (به عنوان مثال کوین - توکن) وجود دارد که به هیچ عنوان کپی نمی شود و بلکه این دارایی بین حساب های داخل شبکه منتقل می شود, این تایید می کند که هر واحد ارزش فقط یک بار منتقل شده است و مشکل دیرینه خرج مضاعف را حل می کند. + +یک بلاکچین به عنوان یک پروتکل تبادل ارزش توصیف می شود چون بلاکچین می تواند حقوق مالکیت را حفظ کند و این ارزش یک بار توصیف می شود. + +بلاکچین را می توان به چندین لایه تقسیم می شود: +- زیر ساخت سخت افزار +- شبکه (کشف گره, انتشار اطلاعات و تایید اطلاعات) +- پروتکل الگوریتم {{< tooltip text="اجماع" note="Consensus" >}} +- داده ها (بلاک ها و تراکنش ها) +- نرم افزار (قرارداد های هوشمند - برنامه های غیرمتمرکز) + +## 12.1.1.2 غیرمتمرکز +با ذخیره داده ها در سراسر شبکه {{< tooltip text="همتا به همتا" note="P2P" >}} بلاکچین برخی از خطرات ناشی از نگه داری داده را بصورت متمرکز حذف می کند. + +در شبکه های توزیع شده متمرکز احتمالات حملات و آسیب پذیری بسیار بالاس و ممکن است با یک حمله کل شبکه از بین برود اما در شبکه غیرمتمرکز بلاکچین به لطف پروتکل الگوریتم {{< tooltip text="اجماع" note="Consensus" >}} جلو حملات و کلاینت های مخرب گرفته می شود و پایداری شبکه چند برابر می شود چون زمانیکه که شبکه بلاکچین بزرگتر می شود و رشد می کند امنیت هم رشد پذیر است و شبکه پایدارتر می شود. + +در شبکه بلاکچین ممکن است {{< tooltip text="گره" note="Node" >}} هایی با دستکاری کردن کلاینت خود قصد آسیب زدن به شبکه را داشته باشند به همین دلیل شبکه با استفاده از استراتژی های مطرح شده در پروتکل الگوریتم {{< tooltip text="اجماع" note="Consensus" >}} می تواند جلو این اتفاق را بگیرد یکی از این استراتژی های [Byzantine fault tolerance](https://en.wikipedia.org/wiki/Byzantine_fault_tolerance) می باشد. + + +## 12.1.1.3 بلاکچین Permissionless + +بلاکچین مزایایی دارد باز بودن, permissionless یا عمومی بود شبکه می باشد که این مزیت باعث می شود شبکه خود را در برابر {{< tooltip text="گره" note="Node" >}} متخلف از خود محافظت کند و نیازی به کنترل دسترسی نیست. +منظور از این مطلب این است که هر برنامه ای می تواند بدون تایید و اعتماد از لایه انتقال شبکه بلاکچین استفاده کند و عمل ناشیانه ای انجام دهد تاثیری برروی آسیب دیدن شبکه نمی گذارد و شبکه مسیر خود را پیش روی میکند. + +بیت کوین و سایر ارزهای دیجیتال در حال حاضر با الزام انجام اثبات Proof of Work [^3] شبکه را ایمن می کند و هر کسی که در این شبکه فعالیت می کند با انجام پازل [Hashcash](https://en.wikipedia.org/wiki/Hashcash) می تواند در شبکه بلاک بسازد و به پایداری شبکه کمک کند و در ازا یک جایزه ای دریافت کند. + + +## 12.1.1.4 زمینه های استفاده از بلاکچین + +در زیر لیستی از زمینه های که بلاکچین استفاده شده است را قرار دادیم: + +- ارزهای دیجیتالی +- [قراردادهای هوشمند](https://book.gofarsi.ir/chapter-12/blockchain/blockchain-smart-contracts/) +- سرویس های مالی (بانکداری دیجیتال) +- بازی های آنلاین +- زنجیره تامین +- ثبت اطلاعات، اسناد و مستندات با اثبات و تظمین از دست نرفتن بالا تر از ذخیره در منابع متمرکز و شفافیت +- و ... + + +#### ارجاعات + +- [^1]: [شبکه {{< tooltip text="همتا به همتا" note="P2P" >}} (Peer to Peer)](https://book.gofarsi.ir/chapter-12/blockchain/blockchain-p2p-network/) +- [^2]: [پروتکل الگوریتم {{< tooltip text="اجماع" note="Consensus" >}}](https://book.gofarsi.ir/chapter-12/blockchain/blockchain-consensus-algorithm/) +- [^3]: [الگوریتم اثبات کار](https://fa.wikipedia.org/wiki/%D8%A7%D9%84%DA%AF%D9%88%D8%B1%DB%8C%D8%AA%D9%85_%D8%A7%D8%AB%D8%A8%D8%A7%D8%AA_%DA%A9%D8%A7%D8%B1) \ No newline at end of file diff --git a/static/assets/img/content/chapter12/blockchain/12.1-0.png b/static/assets/img/content/chapter12/blockchain/12.1-0.png new file mode 100644 index 000000000..ad1b0f9d2 Binary files /dev/null and b/static/assets/img/content/chapter12/blockchain/12.1-0.png differ diff --git a/static/assets/img/content/chapter12/blockchain/12.1-1.png b/static/assets/img/content/chapter12/blockchain/12.1-1.png new file mode 100644 index 000000000..4775aefdc Binary files /dev/null and b/static/assets/img/content/chapter12/blockchain/12.1-1.png differ diff --git a/static/img/content/chapter3/channel/1.png.md b/static/img/content/chapter3/channel/1.png.md deleted file mode 100644 index e69de29bb..000000000