درباره ی فناوری بلاک چین blockchain
این مقاله یک توضیحی ساده و روشن از فنآوری بلاکچین است طوری که برای خوانندهای که کمترین شناخت فنی را هم داشته باشد قابل درک باشد. این مقاله تلاش می کند
به جای توضیح اهمیت بلاک چین، نشان دهد که بلاک چین چیست.
بخش اول: یک خلاصه
مردم از اصطلاح فن آوری بلاک چین چیزهای متفاوتی را مد نظر دارند و این می تواند گیج کننده باشد. گاهی از بلاکچین بیتکوین صحبت میشود، گاهی از ارزهای دیجیتالی دیگر یا ژتون های دیجیتالی، گاهی از قراردادهای هوشمند. اما اغلب اوقات منظورشان دفاتر توزیعی است یعنی فهرستی از نقل و انتقالات مالی که به جای ذخیره در یک سرور مرکزی در شماری از کامپیوترها تکثیر می شود.
فن آوری بلاک چین به مثابه مجموعه ای از فن آوری ها
موضوعات مشترک ذخیره اطلاعات و داده ها است که:
معمولا شامل نقل و انتقالات مالی است.
تقریبا همزمان در شماری از سیستم ها تکثیر می شود.
معمولا روی یک شبکه همتا به همتا وجود دارد.
از رمزنگاری و امضاهای دیجیتالی برای اثبات هویت، اعتبار و حفظ حقوق دسترسی برای خواندن و نوشتن دادهها استفاده میشود.
میتواند توسط مشارکین مشخصی در شبکه نوشته شود.
میتواند توسط مشارکین مشخصی، و احتمالا مخاطبین گسترده تر از کسانی که میتوانند بنویسند، خوانده شود
مکانیزمی دارد که تغییر تاریخچه نقل و انتقالات را دشوار سازد یا دست کم آسان بتوان فهمید که چه کسی در تلاش برای دستکاری است.
من به فنآوری بلاکچین به چشم مجموعه ای از فنآوریها نگاه میکنم، مانند یک کیسهای از لگوهای اسباب بازی. از این کیسه میتوان آجرهای پلاستیکی متفاوت را برداشت و به روشهای مختلفی که نتایج متفاوت می دهد، آنها را کنار هم قرار داد.
تفاوت یک بلاک چین و یک پایگاه داده معمولی چیست؟ اگر خیلی کلی بگوییم، یک سیستم بلاک چین بستهای است شامل یک پایگاه داده معمولی به علاوه چند نرم افزار که ردیف های جدید در پایگاه داده ایجاد می کند و با قواعد از پیش تایید شده این ردیفهای جدید را درست کرده و آنها را به همتایان در یک شبکه می فرستد و تضمین میکند که تمامی هماتایان داده های یکسانی در پایگاه داده خود داشته باشند.
بخش دوم- معرفی بلاک چین بیت کوین
اکوسیستم بلاکچین بیتکوین به خاطر هدف دوگانهای که دارد در واقع یک سیستم کاملا پیچیده است. هدف اول این است که هرکسی قادر باشد روی بلاکچین بیتکوین بنویسد و هدف دوم اینکه نباید هیچ قدرت یا کنترل مرکزی وجود داشته باشد. همین را داشته باشید و نیازی نیست از بسیاری از مکانیزمهای پیچ در پیچ بیت کوین چیزی بدانید.
پایگاه داده متکثر: اکوسیستم بلاک چین بیت کوین مانند شبکهای از پایگاه دادههای تکثیر شده بین اعضای شبکه عمل میکند، هرکدام شامل فهرست یکسانی از نقل و انتقالات بیت کوین است. اعضای مهم شبکه اعتبارسنج ها یا نودها (node) خوانده میشوند که دادههای نقل و انتقال (یعنی پرداختها) و داده های بلاک (به علاوه دفتر ثبت معاملات) را پخش میکنند. هر اعتبارسنج مستقلا پرداخت را کنترل کرده و داده بلاک را توزیع میکند. قواعدی وجود دارد که باعث میشود شبکه آنطور که باید عمل کند.
پیچیدگی بیت کوین به خاطر ایدئولوژی آن است. هدف بیتکوین این است که غیرمتمرکز باشد یعنی یک نقطه کنترل وجود نداشته باشد و نیز نسبتا نقل و انتقالات گمنام بمانند. این بر پیشرفت بیت کوین تاثیر گذاشته است. همه اکوسیستمهای بلاک چین لازم نیست چنین مکانیزمی داشته باشند خصوصا اگر هویت مشارکین مشخص باشد و یا به رفتار آنان اعتماد وجود داشته باشد.
بلاک چین های همگانی و خصوصی
یک تفاوت مهم میان بلاک چین های همگانی و خصوصی این است که آیا شما اجازه میدهید که هرکسی در بلاک چین شما بنویسد یا فقط مشارکین مورد تایید قادر به نوشتن باشند. بیتکوین اجازه میدهد که هرکسی در دفتر ثبت، نقل و انتقالات را بنویسد.
بلاک چینهای همگانی: دفاتر ثبت می توانند به دو معنا همگانی باشند:
هر کسی بدون اجازه از سوی یک مقام دیگر، میتواند دادهها را بنویسد.
هرکسی بدون اجازه از سوی یک مقام دیگر می تواند دادهها را بخواند.
معمولا وقتی مردم از بلاکچین همگانی یا عمومی صحبت میکنند، منظورشان این است که هرکسی میتواند روی آن بنویسد.
چون بیت کوین به صورت بلاک چینی طراحی شده است که هر کسی می تواند روی آن بنویسد، مشارکین حسابدار معتمد نیستند و میتوانند در دفتر بدون نیاز به تایید صلاحیتشان چیزی بنویسد، پس لازم است در مورد اختلاف و ناهمگونیها قضاوت شود (چون رییسی نیست که تصمیم گیرنده باشد) و مکانیزم دفاعی در مقابل حملات وجود داشته باشد ( اگر انگیزه مالی وجود داشته باشد، پس هرکسی میتواند در یک امنیت نسبی سوءاستفاده کند). این باعث هزینه و پیچیدگی در اجرای بلاک چین میشود.
بلاکچینهای خصوصی: برعکس، در یک شبکه بلاکچین خصوصی، مشارکین شبکه شناخته شده و قابل اعتماد هستند، برای مثال یک گروه صنعتی یا گروهی از شرکتها تحت پوشش یک شرکت جمعی هستند. دیگر نیازی به خیلی از مکانیزمها نیست یا این مکانیزمها با قراردادهای حقوقی جایگزین میشوند. یعنی شما باید به گونه مشخصی رفتار کنید زیرا یک تکه کاغذ را امضا کردهاید. این امر در تصمیمات فنی تغییر ایجاد میکند.
یک بلاکچین فقط یک فایل است. یک بلاکچین به خودی خود تنها ساختاری از دادههاست. یعنی صرفا نحوه کنار هم قرار گرفتن و ذخیره دادههاست. دیگر ساختارهای داده، پایگاه دادهها (ردیفها، ستون ها، جداول)، فایلهای متنی، رشتههای مقادیر ارزشی (که با ویرگول از هم جدا شدهاند)، تصاویر، فهرستها و مانند این است. میتوانید بلاکچین را دقیقا مانند یک پایگاه داده در نظر بگیرید.
بلاکها در یک زنجیر مانند صفحات یک کتاب هستند.
به منظور مقایسه، یک کتاب زنجیره ای از صفحات است. هر صفحه کتاب شامل:
متن برای مثال یک داستان
و اطلاعاتی است درباره صفحه و کتاب مثلا دربالای صفحه معمولا عنوان کتاب و گاهی شماره یا عنوان فصل قرارداده میشود و در پایین صفحه معمولا شماره صفحه قرار دارد که به ما میگوید در کجای کتاب هستیم. این دادهها درباره دادهها را meta-data میگویند.
در بلاکچین نیز به همین نحو یک بلاک مانند صفحه کتاب شامل:
محتویات بلاک، برای مثال در بیتکوین این شامل فهرستی از نقل و انتقالات بیت کوین و پاداشهای استخراج کنندگان است (در حال حاضر 25 BTC)
یک سرفصل یا هیدر که شامل اطلاعاتی درباره بلاک است. در بیت کوین، سرفصل یا هیدر شامل اطلاعات فنی درباره بلاک میشود یعنی ارجاعی به بلاک قبلی و یک به اصطلاح اثرانگشت یا هش (مجموعهای از ارقام نامربوط به یکدیگر) است که براساس اطلاعاتی که در این بلاک وجود دارد تولید میشود. این هش برای نظم و ترتیب بلاک ها اهمیت دارد.
نظم و ترتیب بلاک ها در یک بلاک چین:
صفحه به صفحه: در کتاب، شماره صفحهها باعث می شود که نظم صفحات را به آسانی بدانیم. اگر ورقهای یک کتاب را پاره کنید و آنها را بُر بزنید، دوباره به آسانی میتوان آنها را منظم کرد.
بلاک به بلاک: در بلاکچین، هر بلاک به بلاک قبلی ارجاع دارد اما نه با شماره بلاک بلکه با اثرانگشت یا هش بلاک که هوشمندانهتر از شماره صفحه است زیرا اثرانگشت یک بلاک توسط محتوای آن بلاک تعیین میشود.
سازگاری درونی: با استفاده از اثرانگشت به جای توالی عددی، یک روش عالی نیز برای ارزشگذاری اطلاعات خواهید داشت. در هر بلاکچین با استفاده از چند الگوریتم میتوانید اثرانگشتهای بلاک را خودتان ایجاد کنید. اگر اثرانگشتها با اطلاعات سازگار باشند و اثرانگشتها در یک زنجیره به هم ملحق شوند، پس می توانید مطمئن باشید که بلاک چین درونا سازگار است. اگر کسی بخواهد در داده ها دست ببرد، باید اثر انگشتها را از آن نقطه به بعد دوباره ایجاد کند و بنابراین بلاکچین متفاوت خواهد بود.
این بدان معناست که اگر ایجاد اثرانگشت دشوار یا آهسته باشد پس به دشواری و آهستگی نیز میتوان آنرا در بلاک چین بازنویسی کرد.
منطق بیت کوین این است که:
ایجاد یک اثرانگشت که مطابق قواعد بلاکچین بیت کوین باشد را دشوار میسازد.
بنابراین، اگر کسی بخواهد بخشهایی از بلاکچین بیت کوین را بازنویسی کند، زمان زیادی طول خواهد کشید و بقیه شبکه متوجه آن خواهد شد.
به همین خاطر است که گفته میشود بلاک چین بیت کوین تغییرناپذیر است.