مفاهیم اولیه ی بلاک چین

بلاک چین چیه ؟معمولا برای تعریف یه مسئله از طرح مشکل شروع میکنن.. حالا مشکل اینجاس.. تا حالا قطعا یا برا خودتون یا برای اطرافیانتون پیش اومده یا حداقل شنیدین که بخواین مثلا تو اینستاگرام یا توئیتر یه پستی بزارین و با محدودیتای خاصی روبرو بشین.. ولی چرا این اتفاق میفته ؟ چون رئیس اونان و رو تمام داده های ما کنترل دارن و تمام قدرت دست اوناس. مشکلو یه جور دیگه و کلی تر بیان میکنم .. واسطه !!! چیزی که خیلی وقتا وجودشون اذیتمون میکنه و برامون محدودیت ایجاد میکنه .. بلاک چین دقیقا اومده تا این واسطه ها رو حذف کنه..یه جورایی به حذف واسطه ها کمک می کنه که در نهایت منجر به کاهش هزینه می شه. بلاک چین انتقال همتا به همتای (peer-to-peer) دارایی های دیجیتال رو تو یک شبکه ی غیرمتمرکز و بدون واسطه فراهم میکنه.. درواقع یه سیستم ذخیره سازی غیرمتمرکز داده هست که با حذف واسطه ها ، دسترسی به داده ها رو دموکراتیک می کنه. میشه گفت بلاک چین فقط یه دیتابیسه با یه سری ویژگی های خاص. یکی از این ویژگی ها append-only بودنشه .. ینی فقط میشه بهش یه چیزایی اضافه کرد و نمیتونیم چیزیو حذف کنیم. ویژگی دیگش اینه که تو این دیتابیس هر ورودی (که بهش بلاک میگیم) به صورت رمز گذاری شده به ورودی قبلی لینک میشه. ویژگی بعدی اینه که غیر قابل تغییره ینی اگه بخوایم کوچکترین قسمتیو تغییر بدیم باید کل شبکه تغییر کنه.بلاک چیه ؟بلاک مثل صفحه های یه دفتره که اطلاعات توش ذخیره میشن و بلاک چین مثل خود اون دفترست. بلاک ها تمام اطلاعات تراکنش ها رو تو خودشون دارن .اونا هش میشن و در یه hash tree یا Merkle tree انکود میشن. hash tree مثل یه درختیه که هر برگش یه نوده و یه لیبل داره که روش هش بلاک دادشو نوشته. هر بلاک ، با تمام بلاک های قبلیش تشکیل یه بلاک چین میدن. هر بلاک بجز هش خودش، هش بلاک قبلیشم داره. اولین بلاک در بلاک چین ، بلاک Genesis هست و تنها موردیه که هیچ داده ای در مورد بلاک قبلی نداره چون قبلش هیچ بلاکی نبوده.درواقع بلاک اطلاعاتی از برخی یا آخرین معاملات اخیره که هنوز تو هیچ بلاک قبلی ای ثبت نشده . بلاک های جدید به انتهای زنجیره اضافه می شن و بعد از اضافه شدن هرگز قابل تغییر و حذف نیستن.شبکه ی غیرمتمرکز چیه ؟گفتیم بلاک چین در یک شبکه ی غیرمتمرکز کار میکنه .. حالا منظور از شبکه ی غیرمتمرکز چیه ؟ شبکه ی غیرمتمرکز شبکه ایه که مثلا دو نفر بتونن بدون اینکه حتی همو بشناسن و بدون اینکه از نظر مکانی به هم نزدیک یا دور باشن و بدون هیچ واسطه ای یه معامله ای رو بین خودشون انجام بدن.این یه سیستم غیرمتمرکزه.. حالا سوالی که پیش میاد اینه این وسط بحث اعتماد چجوری حل و تضمین میشه ؟ با سه تا ویژگی validate, verify و confirm . اجماع و ثبت غیرقابل تغییر اطلاعات ، اعتبار سنجی و تأیید منجر به اعتماد و امنیت در بلاکچین می شه. با یه مثال ساده بررسی میکنیم .. مثلا من 100 تومن به دوستم قرض میدمو هر دوتامون تو یه دفتری برا خودمون اینو مینویسیم که یادمون باشه. حالا من میرم اون 100 رو میکنم 150! الان تو دفتر من نوشته من 150 تومن به دوستم قرض دادم در حالیکه در اصل 100 قرض داده بودم . حالا دوستم اینو چجوری ثابت کنه ؟ یکی که از دور به قضیه نگاه میکنه از کجا بفهمه کدوممون درست میگیم ؟ برای حل این مشکل وقتی من 100 به دوستم قرض میدم به چندین تای دیگه از دوستامونم میگیم و اونا هم تو دفتراشون مینویسن .. اونوقت حتی اگه من 100 رو بکنم 200 بازم فایده ای نداره چون تو دفتر بقیه هم ثبته. حالا وقتی بخوام 100 تومنمو بگیرم بقیه ی دوستامون اول چک میکنن که مبلغ 100 تومن بوده و به یه اجماع میرسن و بعد تایید میکنن. این مثال تو قالب وسیع تر اساس یه سیستم غیرمتمرکزه که توسط بلاکچین پشتیبانی می شه.عملیات‌هایی که تو شبکه‌ی غیرمتمرکز انجام میشن به عهده‌ی مشارکت‌کنندگان و گره‌های(Node) محاسباتیشونه. مثلا لپتاپ، دسکتاپ، رک ‌های سرور و... این عملیات‌ها شامل اعتبارسنجی تراکنش‌ها، جمع‌آوری تراکنش‌ها برای بلاک، انتشار تراکنش‌های معتبر بلاک، و توافق عمومی یا اجماع برای ایجاد بلاک بعدی و اتصال بلاک‌هاست .گره (Node) چیه ؟میتونیم بگیم گره ها ماشین هایی هستن که به شبکه متصلن. کارشون چیه ؟ اینا یه کپی از بلاک چین تو خودشون ذخیره میکنن و این اطلاعات رو با ماشین های دیگه به اشتراک میزارن و دست به دستش میکنن. این یه تعریف کلی بود ولی میشه تعمیمش داد . در واقع این تعریف می تونه سایر کاربرانی که از هر روشی با شبکه تعامل دارن رو هم شامل بشه. مثلا در رمز ارزها، یک برنامه کیف پول ساده تو موبایلتون یه جور گرهه که بهش میگن light node.مزایای اصلی بلاک چین چیه ؟از بین بردن واسطه ها : مثل رمز ارزها که توسط هیچ بانک و دولتی کنترل نمیشن !دسترسی : تو حالت متمرکز مثلا اگه سیستم بانک قطع باشه شما کارتون میمونه ولی اینجا نه !امنیت داده ها : عملا داده ها بعد از ثبت قابل تغییر نیستن پس امنیتش خیلی بالاس !اعتماد : واسطه ای در کار نیست و هر کسی میتونه داده ها رو ببینه !انواع بلاک چین بلاک چین بر اساس محدودیت دسترسی به سه دسته تقسیم میشه : خصوصی، عمومی و با مجوز (permissioned). بیتکوین بهترین مثال برای دسته‌ی بلاکچین عمومیه. بلاکچین بیتکوین منبع بازه و تمامی کداش در GitHub موجوده و حتی میشه با اعمال تغییرات تو کد بیتکوین ارز دیجیتال جدیدی رو ایجاد کرد. تمامی وظایف رو مشارکت‌کنندگان (participants) یا نودهای عمومی انجام میدن. هرکس می‌تونه بهش ملحق بشه یا ازش خارج بشه. تراکنش‌ها، بلاک‌ها، و بلاکچین به شکلی عمومی قابل مشاهدن هرچند که مشارکت‌کنندگان و نودها ناشناسن.در یک بلاکچین خصوصی، دسترسی به بلاکچین محدود به مشارکت‌کنندگان از قبل انتخاب شده و خاصیه. مثلا، مشارکت‌کنندگانی که تو یه سازمان قرار دارن. این محدودیت فرآیند کارایی مثل ایجاد بلاک و اجماع رو ساده تر میکنه. این سیستم ها قوانینی رو درمورد اینکه کی می تونه بلاکچین رو ببینه و با اون تعامل کنه و کی می‌تونه در گسترش بلاک چین و فعالیت در آن نقش داشته باشه ، وضع میکنن. این نوع بلاک چین سیستم غیر متمرکزی نداره. کاربرد اینا بیشتر تو کارای پروژه ای یا شرکتیه که مثلا یکی میخواد از مزیت‌های بلاک چین استفاده کنه اما نمی‌خواد دسترسی کاملی به همه بده. در بلاک چین خصوصی، مشخصات تک تک مشارکت کنندگان و نودها مشخص و شناخته شدست.سومین دسته‌بندی بلاکچین، بلاکچین بامجوزه که بهش consortium blockchain هم می‌گن و یه چیزی بین بلاک چین خصوصی و عمومیه. بلاکچین با مجوز ، شبیه بلاکچین عمومیه با این تفاوت که فقط به کاربرانش اجازه‌ی همکاری و تراکنش رو می‌ده. کاربردش چیه ؟ مثلا وقتی چنتا شرکت بخوان باهم یه کار مشترک انجام بدن و باهم اطلاعاتی رو به اشتراک بزارن کاربرد داره. مثلا،کنسرسیوم (consortium) ای از تمامی شرکت‌های خودروسازی یا سازمان‌های خدمات درمانی.