بلاکچین چیست و چطور کار میکند – بلاک چین به زبان ساده
یک بلاکچین ترکیبی از سه تکنولوژی اصلی است. در واقع هیچ کدام از این تکنولوژی ها جدید نبوده و تنها برنامه ریزی و کاربرد آنها متفاوت است.
احتمالا اسم بیت کوین در چند وقت گذشته به گوشتان خورده باشد و حتی چیزهایی در موردش میدانید؛ بیت کوین موفقترین نمونه از میان صدها ارز رمزنگاری شده است که اصطلاحا در زبان عامیانه به آنهای ارزهای مجازی و یا حتی پول مجازی هم گفته میشود. اما چیزی که این روزها بیشتر از خود بیت کوین مورد توجه قرار گرفته و درهای جدیدی را به روی صنایع مختلف باز کرده است تکنولوژی بلاک چین (Block Chain) است که در زبان فراسی اصطلاحا به آن تکنولوژی زنجیره بلوک هم میگویند. تکنولوژی بلاک چین برای اولین بار به طور گسترده در بیت کوین مورد استفاده قرار گرفت.
بلاک چین به زبان ساده
اگر بخواهم تکنولوژی بلاک چین را به زبانی ساده تعریف کنم بهتر است با یک مثال ساده شروع کنم. وقتی شما پولی را در یک بانک سپردهگذاری میکنید، آنها اطلاعاتی را در مورد سپرده شما و حساب شما در یک پایگاه داده بزرگ ذخیره میکنند. بیت کوین هم کار مشابهی را برای حفظ اطلاعات حسابهای کاربران انجام میدهد، اما برخلاف یک بانک، در بیت کوین با توجه به ماهیتی که دارد نمیتوان به یک قدرت مرکزی که پایگاه داده را برای کاربران مدیریت و ذخیره کند، اعتماد کرد.
بیت کوین این مشکلات را با تقسیم کردن پایگاه داده به مجموعههای کوچکی که «بلاکها» نامیده میشوند حل کرده است. هر بلاک یک جور برچسب (Label) است که آن را به بلاک قبلی پیوند میدهد به ترتیبی که هر کسی میتواند تمام پایگاه داده را که از این قسمتهای مجزا تشکیل شده گردآوری کند؛ به عبارتی هر کسی که از بیت کوین استفاده میکند، یک نسخه از کل پایگاه داده را که زنجیره بلوک نامیده میشود ذخیره میکند و این مجموعههای بسیار کوچک را بین هم ردوبدل میکنند. زنجیره بلوکی میان تمام کاربران بیت کوین به اشتراک گذاشته شده است و برای بررسی مقادیر آدرسهای بیت کوین و جلوگیری از پرداخت دوگانه و سایر خرابکاریها است.
دیگران درباره پتانسیلهای تکنولوژی بلاک چین چه میگویند؟
اما استفاده از تکنولوژی بلاک چین در بیت کوین تمام ماجرا نیست. بلاک چین یک فناوری جدید که در تراکنشهای مالی آنلاین به کار گرفته میشو اما میتوان موارد استفادهی دیگری نیز برای آن پیدا کرد.
گواه این ادعا هم پیشبینی والاستریت ژورنال است که در گزارشی بیان کرده بود این فناوری برای توزیع، شناسایی و ثبت طیف گستردهای از خدمات مالی مورداستفاده قرار خواهد گرفت.
درحالیکه عدهی زیادی فکر میکنند تنها کاربرد بلاک چین، استفاده در بیت کوین است، ریچارد مولدز (Richard Moulds) مدیر ارشد شرکت امنیت الکترونیکی سیلز (Thales e-Security) میگوید: «بلاک چین میتواند اعتماد مردم به اینترنت را افزایش دهد؛ بهعنوانمثال میتواند علاوه بر متصل کردن اشیا به یکدیگر و اینترنت، رابطی برای تراکنشهای مالی بین مردم و اشیا مختلف نیز باشد.»
این فناوری در سال گذشته با مبلغ ۱ میلیارد دلار، بیشترین سرمایهگذاری روی یک فناوری نوظهور را به خود اختصاص داده است. آجای ویج (Ajay Vij) معاون و رئیس بخش خدمات مالی شرکت اینفوسیس (Infosys) میگوید: «بلاک چین طراحی شد تا جلوی کلاهبرداری در معاملات گرفته شود. این فناوری یک پایگاه دادهی توزیع شده است که هر کسی میتواند در آن اعتبار معاملات را بررسی کند.»
فناوری بلاک چین تقریباً مانند امضای دیجیتال عمل میکند. گرت استیفنز (Gareth Stephens) رئیس بخش توسعه طرحها در شرکت انگلیسی جمعآوری اطلاعات جی.بی.جی (GBG) میگوید: «بلاک چین یک پلتفرم توزیعشده است که امکان انتقال اطلاعات از یک مکان به مکان دیگر را با امینت بالا فراهم میکند.» استیفنز میگوید: «در حقیقت نکتهی اصلی فناوری بلاک چین، قدرت بسیار بالای تنظیم خودکار آن است.»
بلاک چین یک فناوری متنباز است و کسی صاحب آن نیست، این فناوری یک مجری مرکزی برای تأیید تراکنشهای انجام شده ندارد و بهصورت خودکار شبکه را تنظیم میکند.
مایکاح وینکلسپکت (Micah Winkelspecht) مؤسس و مدیر شرکت آمریکایی جم (Gem) ارائهدهندهی بلاک چین، میگوید: «بلاک چین میتواند یک پایگاه داده، پروتکل یا نرمافزار باشد. زمانی که اطلاعات ذخیره میشود، دیگر امکان بازنویسی و تغییر آن وجود ندارد. این طراحی باعث میشود تا بلاک چین، یک سوابق تاریخی دائمی ایجاد کند.» جذابیتهای چنین فناوریهایی در زمینههای مختلف تجاری، تراکنش مالی و انتقالات اطلاعات- که روی یک شبکهی ناامن انجام میشود- کاملاً مشخص است.
بلاک چین چگونه کار میکند؟
حالا که حرف از پتانسیل بالای استفاده از تکنولوژی بلاک چین در حوزههای مختلف شدبگذاری نگاهی هم داشته باشیم به چگونگی کارکرد آن.
هر تراکنش یک کد هش (Hash) 64کاراکتری تولید میکند. این کد با کد هش قبلی ترکیب میشود تا یک بلاک جدید ایجاد کند. هر بلاک با استفاده از بلاکهای جدید، یک ترتیب خطی، زمانی و رشته کاراکترهای یکبارمصرف تولید میشود. به همین دلیل دستکاری و ایجاد اطلاعات نادرست و غیرقابل ردیابی، تقریباً غیرممکن است.
در حال حاضر سامانههای اداری و بانکها در معرض جرائم سایبری قرار دارند؛ اما بلاک چین میتواند جلوی همهی آنها را بگیرد. بلاک چین میتواند با استفاده از جایگزین کردن پردازشهای موجود پیچیده، تمام تراکنشهای انجام شده را ضبط و نگهداری کند.
دیو ریسیزین (Dave Hryciszyn) مدیر بخش فناوری و راهبردهای شرکت انگلیسی هدلاندن (HeadLondon) میگوید: «بلاک چین پایگاه دادهای است که محیط امن یکپارچهای را در محیطهای ناامن ایجاد میکند. به این معنا که تمام اطلاعات معاملات انجام شده در هر صنعتی را ذخیره میکند. میتوان از این فناوری در زمینههای مالی، حسابرسی، پزشکی و صنعتی نیز استفاده کرد.»
موارد استفادهی تکنولوژی بلاک چین
بیشتر شهرت بلاک چین تا این لحظه، استفاده از آن بهعنوان سامانهای برای رمزنگاری معاملات پول اینترنتی یا همان بیت کوین (Bitcoin) است. از بیت کوین برای تبادلات بینالمللی استفاده میشود که هزینهی کمتری نسبت به فرایندهای تبدیل ارز به یکدیگر دارد. روزانه، میلیاردها دلار در قالب بیت کوین جابهجا میشود.
اما علاوه بر آن از فناوری بلاک چین میتوان در زیرساختهای مالی موجود مانند سهام، اوراق قرضه و زمینههای بسیار دیگری استفاده کرد. استفاده از این فناوری و جایگزینی آن با فناوریهای امروزی، میتواند روی سرعت دسترسی به اینترنت نیز تأثیر بگذارد.
چرا بلاک چین برای بانکها جذاب است؟
مؤسسات مالی، شرکتهایی هستند که بلاک چین را وسیلهای برای افزایش موفقیتهای خود میدانند. آنها میتوانند درحالیکه سامانههایشان با پلتفرمهای شرکتهای دیگر سازگار است، دادههای مربوط به موجودی و داراییهای خود را بهصورت رمزنگاریشده و با امنیت بالا، تولید، مدیریت و ذخیره کنند.
البته مؤسسات مالی و بانکهایی که از بلاک چین استفاده میکنند، باید خطر کاهش قدرت در بازار تبادلات ارزی را بپذیرند. بانکها، بهعنوان مجریان اصلی بازار تبادلات ارزی شناخته میشوند؛ این فناوری و بیت کوین، خلأ بزرگی در این بخش ایجاد میکنند؛ اما در هزینهی ایجاد زیرساختها صرفهجویی خواهد شد.
مقامات بانک انگلیسی سانتاندر (Santander) پیشبینی میکنند، بلاک چین میتواند در سال ۲۰۲۲ بهصورت سالانه ۲۰ میلیارد دلار ذخیرهی مالی برای بانکها فراهم کند.
حتی سوئیفت با کمک موسسه تحقیقاتی اکسنچر درنظر دارد که با استفاده از تکنولوژی بلاک چین در زمینه مدیریت پرداخت و تصفیه و همچنین تشخیص هویت و احراز مالکیت استفاده کنند.
سوئیفت پیشتر نیز تحقیقات زیادی در مورد چگونگی استفاده از زنجیره بلوکها را انجام داده بود که به عنوان بخشی از پروژه Hyperledger مطرح شد و به صورت open-source در دسترس عموم قرار گرفت. گزارشهای جدیدتر نشان از درجه اهمیت و گستردگی تحقیقات سویفت در راه استفاده از تکنولوژی بلاک چین دارند بخصوص در زمینه احراز هویت و مدیریت پرداخت و تصفیه.
دیگر کاربردهای بلاک چین
از بلاک چین میتوان در زمینههای صنعتی، پزشکی و زمینههای بسیار دیگری استفاده کرد. بهعنوانمثال میتوان آن را در بخش پزشکی -که سوابق بیماران دستکاری میشود- به کار گرفت. این فناوری به پزشکان اجازه میدهد تا پروندهای از سوابق بیماران را با امنیت بالا ذخیره کرده و آنها را در صورت لزوم در اختیار دیگر بیمارستانها و مراکز درمانی قرار دهند. این کار علاوه برافزایش امنیت ذخیرهسازی و انتقال دادهها، باعث کاهش خطرها و هزینههای مدیریت دادهها میشود.
بلاک چین برای دولتمردان کشورهای مختلف نیز جذابیتهای خاص خود را دارد. در حال حاضر دولتمردان انگلیس در حال تحقیق برای بهبود روشهای ذخیرهسازی اطلاعات توسط بلاک چین هستند.
از این فناوری میتوان برای مقابله با دریافت محصولات چندرسانهای بهصورت غیرقانونی نیز استفاده کرد. از فناوری بلاک چین میتوان برای اعتبارسنجی و جلوگیری از انجام تقلب در انتخابات الکترونیک نیز استفاده کرد.
آیندهی تکنولوژی بلاک چین
فناوری بلاک چین نمیتواند بهسرعت، اینترنت را تغییر دهد. وینکلسپکت میگوید: «موارد زیادی است که این فناوری را به چالش میکشد. مردم ممکن است متوجه شوند این فناوری، یک تحول ایجاد خواهد کرد؛ اما نمیدانند این فناوری چگونه به بهبود کسبوکار آنها کمک میکند.»
بلاک چین یک فناوری نوظهور است که نیاز دارد تا برنامههایی سازگار با آن تولید شود. همچنین برای استفاده از این فناوری باید مجموعهای مقررات تنظیم شود. این فناوری باید بتواند کارآمدی خود را اثبات کند تا بتواند بهصورت گسترده به کار گرفته شود.
این مقاله یک توضیحی ساده و روشن از فنآوری بلاکچین است طوری که برای خوانندهای که کمترین شناخت فنی را هم داشته باشد قابل درک باشد. این مقاله تلاش می کند به جای توضیح اهمیت بلاک چین، نشان دهد که بلاک چین چیست.
بخش اول: یک خلاصه
مردم از اصطلاح فن آوری بلاک چین چیزهای متفاوتی را مد نظر دارند و این می تواند گیج کننده باشد. گاهی از بلاکچین بیتکوین صحبت میشود، گاهی از ارزهای دیجیتالی دیگر یا ژتون های دیجیتالی، گاهی از قراردادهای هوشمند. اما اغلب اوقات منظورشان دفاتر توزیعی است یعنی فهرستی از نقل و انتقالات مالی که به جای ذخیره در یک سرور مرکزی در شماری از کامپیوترها تکثیر می شود.
فن آوری بلاک چین به مثابه مجموعه ای از فن آوری ها
موضوعات مشترک ذخیره اطلاعات و داده ها است که:
- معمولا شامل نقل و انتقالات مالی است.
- تقریبا همزمان در شماری از سیستم ها تکثیر می شود.
- معمولا روی یک شبکه همتا به همتا وجود دارد.
- از رمزنگاری و امضاهای دیجیتالی برای اثبات هویت، اعتبار و حفظ حقوق دسترسی برای خواندن و نوشتن دادهها استفاده میشود.
- میتواند توسط مشارکین مشخصی در شبکه نوشته شود.
- میتواند توسط مشارکین مشخصی، و احتمالا مخاطبین گسترده تر از کسانی که میتوانند بنویسند، خوانده شود
- مکانیزمی دارد که تغییر تاریخچه نقل و انتقالات را دشوار سازد یا دست کم آسان بتوان فهمید که چه کسی در تلاش برای دستکاری است.
من به فنآوری بلاکچین به چشم مجموعه ای از فنآوریها نگاه میکنم، مانند یک کیسهای از لگوهای اسباب بازی. از این کیسه میتوان آجرهای پلاستیکی متفاوت را برداشت و به روشهای مختلفی که نتایج متفاوت می دهد، آنها را کنار هم قرار داد.
تفاوت یک بلاک چین و یک پایگاه داده معمولی چیست؟ اگر خیلی کلی بگوییم، یک سیستم بلاک چین بستهای است شامل یک پایگاه داده معمولی به علاوه چند نرم افزار که ردیف های جدید در پایگاه داده ایجاد می کند و با قواعد از پیش تایید شده این ردیفهای جدید را درست کرده و آنها را به همتایان در یک شبکه می فرستد و تضمین میکند که تمامی هماتایان داده های یکسانی در پایگاه داده خود داشته باشند.
بخش دوم- معرفی بلاک چین بیت کوین
اکوسیستم بلاکچین بیتکوین به خاطر هدف دوگانهای که دارد در واقع یک سیستم کاملا پیچیده است. هدف اول این است که هرکسی قادر باشد روی بلاکچین بیتکوین بنویسد و هدف دوم اینکه نباید هیچ قدرت یا کنترل مرکزی وجود داشته باشد. همین را داشته باشید و نیازی نیست از بسیاری از مکانیزمهای پیچ در پیچ بیت کوین چیزی بدانید.
پایگاه داده متکثر: اکوسیستم بلاک چین بیت کوین مانند شبکهای از پایگاه دادههای تکثیر شده بین اعضای شبکه عمل میکند، هرکدام شامل فهرست یکسانی از نقل و انتقالات بیت کوین است. اعضای مهم شبکه اعتبارسنج ها یا نودها (node) خوانده میشوند که دادههای نقل و انتقال (یعنی پرداختها) و داده های بلاک (به علاوه دفتر ثبت معاملات) را پخش میکنند. هر اعتبارسنج مستقلا پرداخت را کنترل کرده و داده بلاک را توزیع میکند. قواعدی وجود دارد که باعث میشود شبکه آنطور که باید عمل کند.
پیچیدگی بیت کوین به خاطر ایدئولوژی آن است. هدف بیتکوین این است که غیرمتمرکز باشد یعنی یک نقطه کنترل وجود نداشته باشد و نیز نسبتا نقل و انتقالات گمنام بمانند. این بر پیشرفت بیت کوین تاثیر گذاشته است. همه اکوسیستمهای بلاک چین لازم نیست چنین مکانیزمی داشته باشند خصوصا اگر هویت مشارکین مشخص باشد و یا به رفتار آنان اعتماد وجود داشته باشد.
بلاک چین های همگانی و خصوصی
یک تفاوت مهم میان بلاک چین های همگانی و خصوصی این است که آیا شما اجازه میدهید که هرکسی در بلاک چین شما بنویسد یا فقط مشارکین مورد تایید قادر به نوشتن باشند. بیتکوین اجازه میدهد که هرکسی در دفتر ثبت، نقل و انتقالات را بنویسد.
بلاک چینهای همگانی: دفاتر ثبت می توانند به دو معنا همگانی باشند:
- هر کسی بدون اجازه از سوی یک مقام دیگر، میتواند دادهها را بنویسد.
- هرکسی بدون اجازه از سوی یک مقام دیگر می تواند دادهها را بخواند.
معمولا وقتی مردم از بلاکچین همگانی یا عمومی صحبت میکنند، منظورشان این است که هرکسی میتواند روی آن بنویسد.
چون بیت کوین به صورت بلاک چینی طراحی شده است که هر کسی می تواند روی آن بنویسد، مشارکین حسابدار معتمد نیستند و میتوانند در دفتر بدون نیاز به تایید صلاحیتشان چیزی بنویسد، پس لازم است در مورد اختلاف و ناهمگونیها قضاوت شود (چون رییسی نیست که تصمیم گیرنده باشد) و مکانیزم دفاعی در مقابل حملات وجود داشته باشد ( اگر انگیزه مالی وجود داشته باشد، پس هرکسی میتواند در یک امنیت نسبی سوءاستفاده کند). این باعث هزینه و پیچیدگی در اجرای بلاک چین میشود.
بلاکچینهای خصوصی: برعکس، در یک شبکه بلاکچین خصوصی، مشارکین شبکه شناخته شده و قابل اعتماد هستند، برای مثال یک گروه صنعتی یا گروهی از شرکتها تحت پوشش یک شرکت جمعی هستند. دیگر نیازی به خیلی از مکانیزمها نیست یا این مکانیزمها با قراردادهای حقوقی جایگزین میشوند. یعنی شما باید به گونه مشخصی رفتار کنید زیرا یک تکه کاغذ را امضا کردهاید. این امر در تصمیمات فنی تغییر ایجاد میکند.
یک بلاکچین فقط یک فایل است. یک بلاکچین به خودی خود تنها ساختاری از دادههاست. یعنی صرفا نحوه کنار هم قرار گرفتن و ذخیره دادههاست. دیگر ساختارهای داده، پایگاه دادهها (ردیفها، ستون ها، جداول)، فایلهای متنی، رشتههای مقادیر ارزشی (که با ویرگول از هم جدا شدهاند)، تصاویر، فهرستها و مانند این است. میتوانید بلاکچین را دقیقا مانند یک پایگاه داده در نظر بگیرید.
بلاکها در یک زنجیر مانند صفحات یک کتاب هستند.
به منظور مقایسه، یک کتاب زنجیره ای از صفحات است. هر صفحه کتاب شامل:
- متن برای مثال یک داستان
- و اطلاعاتی است درباره صفحه و کتاب مثلا دربالای صفحه معمولا عنوان کتاب و گاهی شماره یا عنوان فصل قرارداده میشود و در پایین صفحه معمولا شماره صفحه قرار دارد که به ما میگوید در کجای کتاب هستیم. این دادهها درباره دادهها را meta-data میگویند.
در بلاکچین نیز به همین نحو یک بلاک مانند صفحه کتاب شامل:
- محتویات بلاک، برای مثال در بیتکوین این شامل فهرستی از نقل و انتقالات بیت کوین و پاداشهای استخراج کنندگان است (در حال حاضر ۲۵ BTC)
- یک سرفصل یا هیدر که شامل اطلاعاتی درباره بلاک است. در بیت کوین، سرفصل یا هیدر شامل اطلاعات فنی درباره بلاک میشود یعنی ارجاعی به بلاک قبلی و یک به اصطلاح اثرانگشت یا هش (مجموعهای از ارقام نامربوط به یکدیگر) است که براساس اطلاعاتی که در این بلاک وجود دارد تولید میشود. این هش برای نظم و ترتیب بلاک ها اهمیت دارد.
نظم و ترتیب بلاک ها در یک بلاک چین:
صفحه به صفحه: در کتاب، شماره صفحهها باعث می شود که نظم صفحات را به آسانی بدانیم. اگر ورقهای یک کتاب را پاره کنید و آنها را بُر بزنید، دوباره به آسانی میتوان آنها را منظم کرد.
بلاک به بلاک: در بلاکچین، هر بلاک به بلاک قبلی ارجاع دارد اما نه با شماره بلاک بلکه با اثرانگشت یا هش بلاک که هوشمندانهتر از شماره صفحه است زیرا اثرانگشت یک بلاک توسط محتوای آن بلاک تعیین میشود.
سازگاری درونی: با استفاده از اثرانگشت به جای توالی عددی، یک روش عالی نیز برای ارزشگذاری اطلاعات خواهید داشت. در هر بلاکچین با استفاده از چند الگوریتم میتوانید اثرانگشتهای بلاک را خودتان ایجاد کنید. اگر اثرانگشتها با اطلاعات سازگار باشند و اثرانگشتها در یک زنجیره به هم ملحق شوند، پس می توانید مطمئن باشید که بلاک چین درونا سازگار است. اگر کسی بخواهد در داده ها دست ببرد، باید اثر انگشتها را از آن نقطه به بعد دوباره ایجاد کند و بنابراین بلاکچین متفاوت خواهد بود.
این بدان معناست که اگر ایجاد اثرانگشت دشوار یا آهسته باشد پس به دشواری و آهستگی نیز میتوان آنرا در بلاک چین بازنویسی کرد.
منطق بیت کوین این است که:
- ایجاد یک اثرانگشت که مطابق قواعد بلاکچین بیت کوین باشد را دشوار میسازد.
- بنابراین، اگر کسی بخواهد بخشهایی از بلاکچین بیت کوین را بازنویسی کند، زمان زیادی طول خواهد کشید و بقیه شبکه متوجه آن خواهد شد.
به همین خاطر است که گفته میشود بلاک چین بیت کوین تغییرناپذیر است.
توزیع دادهها: دادههای جدید چگونه تبادل میشوند؟
روش همتا به همتا، روشی برای توزیع دادهها در یک شبکه است. روش دیگر، کلینت/سرور است. شما درباره اشتراکگذاری فایلها از همتا به همتا در شبکه بیتتورنت (BitTorrent) شنیده اید. در آنجا فایلها بین کاربران به اشتراک گذاشته میشود بدون اینکه یک سرور مرکزی دادهها را کنترل کند. به همین خاطر است که بیتتورنت روی پا مانده است.
کلینت/سرور
در محیط اداری، اغلب دادهها روی سرور نگاه داشته میشوند و هرجایی که شما داخل شبکه شوید، میتوانید به دادهها دسترسی پیدا کنید. سرور صد در صد دادهها را نگاه میدارد و کلینتها اعتماد دارند که این دادهها قطعا درست هستند. اکثر اینترنت کلیت/سرور است و وب سایت در سرور نگاه داشته میشود و شما به عنوان کلینت به آن دسترسی پیدا میکنید. این روش بسیار موثری است و در محاسبات کامپیوتری یک مدل سنتی است.
همتا به همتا
در مدلهای همتا به همتا، شبکه بیشتر مانند یک شبکه شایعه پراکنی عمل می کند که هر همتایی صد در صد داده ها را در اختیار دارد (یا تا حد ممکن نزدیک به صد در صد) و داده های بروز شده بین تمامی اعضا به اشتراک گذاشته میشود. شبکه همتا به همتا از برخی لحاظ کارایی کمتری نسبت به شبکه کلینت/سرور دارد، زیرا دادهها بارها تکثیر می شوند، یعنی برای هر ماشین یکبار و با هر تغییر یا افزایش دادهها، نویز زیادی در شبکه ایجاد میشود. با وجود این، همتاها مستقل تر هستند و اگر اتصالشان به شبکه از دست برود، تا حدی می توانند به کار خود ادامه دهند. همچنین شبکههای همتا به همتا استحکام بیشتری دارند، زیرا هیچ سرور مرکزی نیست که بتوان آنرا کنترل کرد و بنابراین از بین بردن و بستن شبکه های همتا به همتا سختتر است.
مشکلات شبکه همتا به همتا
در مدل شبکه همتا به همتا، حتی اگر همه همتایان معتمد باشند، مشکل توافق یا اجماع وجود دارد. اگر هر همتایی با سرعتهای متفاوت دادهها را بروزرسانی کند و وضعیتهای نسبتا مختلفی بوجود آید، پس چطور وضیت واقعی یا صحیح اطلاعات و دادهها را تعیین میکنید؟
بدتر اینکه در یک شبکه همتا به همتای غیرقابل اعتماد، ضرورتا نمیتوانید به هر همتایی اعتماد داشته باشد، پس چگونه اطمینان حاصل میکنید که سیستم به آسانی توسط همتایان بدخواه از بین نمیرود؟
توافق: چگونه تضادها حل میشود؟
یک تضاد رایج وقتی است که استخراجکنندگان تقریبا همزمان چندین بلاک متفاوت ایجاد میکنند. چون به اشتراک گذاری بلاکها در سراسر شبکه زمان میبرد، پس کدام بلاک باید به عنوان بلاک معتبر به حساب بیاید؟
مثال: بیایید فرض کنیم که نودها در شبکه بلاکچین خود را همزمان کرده و همگی در بلاک هشتاد هستند.
اگر سه استخراج کننده در سراسر جهان بلاک ۸۱ را تقریبا همزمان ایجاد کنند، کدام بلاک باید به عنوان بلاک ۸۱ معتبر شناخته شود؟ به یاد داشته باشید که هرکدام از این سه بلاک ۸۱ کمی متفاوت هستند. آنها مشخصا شامل یک آدرس پرداخت متفاوت برای پاداش ۲۵ بیت کوینی هستند و ممکن است شامل مجموعه پرداخت های متفاوتی باشند. بگذارید آنها را ۸۱a و ۸۱b و ۸۱c بنامیم.
چگونه این تضاد را حل میکنید؟
قاعده طولانیترین زنجیر: در بیت کوین، این تضاد با قاعده ای به نام «قاعده طولانیترین زنجیر» حل میشود.
در مثال فوق، شما میتوانستید اولین بلاک یعنی ۸۱a را معتبر فرض کنید، یعنی اول بلاک ۸۱a را دیدید. میتوانید شروع به ساختن بلاک بعدی برای ایجاد ۸۲a کنید.
اما در چند ثانیه بعد ممکن است ۸۱b را ببینید. اگر اینرا دیدید به عنوان بلاک بعدی منظور می کنید. اما اگر بعدا دیدید، قاعده طولانی ترین زنجیر می گوید که شما باید زنجیر طولانی b را به عنوان بلاک معتبر در نظر بگیرید (۸۰,۸۱b,82b ) و زنجیر کوتاه تر را نادیده بگیرید (۸۰,۸۱a). پس شما سعی می کنید ایجاد زنجیره ۸۲a را متوقف کرده و شروع به ایجاد زنجیره ۸۳b نمایید.
قاعده طولانیترین زنجیره قاعده ای است که سیستم بلاک چین بیت کوین استفاده می کند تا این تضادهای رایج در یک شبکه توزیعی را حل کند.
اما، با یک شبکه بلاک چین قابل اعتماد و متمرکز، شما می توانید با یک اعتبار سنج برتر و معتمد تصمیم گیری کنید.
بروزرسانیها: چگونه قواعد را تغییر میدهید؟
به عنوان یک شبکه در کل، شما باید به این توافق برسید که چه نوع دادههایی برای تصویب معتبر هستند و کدام یک خیر. در بیت کوین، قواعد فنی برای نقل و انتقالات وجود دارد (برای مثال آیا شما فیلد داده های مورد نیاز را پر کرده اید؟ آیا این در فرمت درستی است و غیره) و چند قاعده بیزینسی نیز وجود دارد (آیا سعی می کنید بیت کوین بیشتری از آنچه دارید خرج کنید؟ آیا سعی می کنید یک بیت کوین را دوبار خرج کنید؟)
همانطور که قواعد به مرور زمان تغییر میکنند، چگونه مشارکین در شبکه روی این تغییرات توافق حاصل میکنند؟ آیا موقعیتی خواهد بود که نیمی از شبکه فکر کند که یک نقل و انتقال معتبر است و نیمی دیگر این طور فکر نکنند؟
در یک شبکه تحت کنترل و خصوصی، کسی وجود دارد که بروزرسانیها را کنترل میکند، حل این مشکل ساده است: مثلا«همه باید منطق و قاعده جدید را تا ۳۱ جولای به روز رسانی کنند.»
اما در یک شبکه عمومی و بدون کنترل، مشکل چالش برانگیزتر است. در بیت کوین دو بخش برای بروز رسانی وجود دارد.
- پیشنهاد تغییر (BIP ها). ابتدا، یک مرحله پیشنهادی وجود دارد که اصلاحیهها پیشنهاد می شود، به بحث گذاشته شده و بعد مکتوب می شوند. یک پیشنهاد را BIP می نامند یعنی یک Bitcoin Improvement Proposal.
اگر این اصلاحیه روی نرم افزار هسته ای بیت کوین در Github نوشته شود، پس بخشی از یک بروزرسانی است. نسخه بعدی هسته بیت کوین رایج ترین نوع به کار گیری این پروتوکل است.
- تطبیق با تغییر (استخراج کنندگان). بروزرسانی می تواند توسط نودها و استخراج کنندگان دانلود شده و اجرا شود، اما فقط اگر بخواهند (می توانید تغییری را تصور کنید که پاداش استخراج از ۲۵ به ۰ در ازای هر بلاک کاهش می دهد). خواهیم دید که چند استخراج کننده با اجرای این برنامه موافق خواهند بود!
اگر اکثریت شبکه (در بیت کوین اکثریت با قدرت محاسباتی کامپیوترهایشان تعیین می شود) اجرای یک نسخه جدید نرم افزار را انتخاب کنند، پس یک بلاک با نسخه جدید سریعتر از اقلیت اجرا خواهد شد و اقلیت مجبور خواهند بود که این نسخه جدید را پذیرفته یا به یک شاخه (fork) از بلاک چین تبدیل شوند. پس استخراج کنندگان با قدرت محاسباتی زیاد، به خوبی می توانند بگویند که چه چیزی باید پیاده شود.
دسترسی به نوشتن: چگونه کنترل میکنید که چه کسی میتواند دادهها را بنویسد؟
به لحاظ نظری، در شبکه بیت کوین هر کسی می تواند چند نرم افزار را دانلود کرده و روی آن بنویسد و شروع کند به اعتبار دادن به نقل و انتقالات و ایجاد بلاکها. کافی است به http://bitcoin.org/en/download بروید و نرم افزار هسته بیت کوین را اجرا کنید.
کامپیوتر شما مانند یک نود کامل عمل خواهد کرد یعنی:
- به شبکه بیت کوین متصل میشود.
- بلاک چین را دانلود میکند.
- بلاک چین را ذخیره می کند.
- منتظر نقل و انتقالات می ماند.
- نقل و انتقالات را معتبر میسازد.
- نقل و انتقالات معتبر را به تصویب برساند.
- منتظر بلاک ها می ماند.
- بلاک های را معتبر میسازد.
- بلاکهای معتبر را به تصویب برساند.
- بلاکها را ایجاد میکند.
- بلاکها را استخراج میکند.
کد مرجع در این نرم افزار هسته بیت کوین روی Githup به آدرس http://github.com/bitcoinbitcoin منتشر شده است. اگر تمایل داشته باشید می توانید کد را چک کرده و به جای دانلود کردن نرم افزار از پیش بسته بندی شده در سایت bitcoin.org، کد را کامپایل و اجرا کنید. همچنین میتوانید حتی کد را خودتان بنویسید البته تا جایی که مطابق پروتوکول باشد.
بدون مجوز
توجه کنید که نیازی به ثبت نام، داخل شدن یا درخواست پیوستن به شبکه را ندارید. کافی است جلو بیایید و بپیوندید. این را با شبکه SWIFT مقایسه کنید که در آن شما نمیتوانید فقط نرم افزار دانلود کنید و شروع به شنیدن پیامهای SWIFT کنید. به این ترتیب، برخی بیت کوین را بدون مجوز یا permissionless می خوانند در مقابل SWIFT که نیازمند مجوز است.
بدون مجوز بودن تنها راه نیست
ممکن است بخواهید فن آوری بلاک چین را در یک شبکه خصوصی و قابل اعتماد به کار ببرید. ممکن است نخواهید تمامی قواعد آنچه یک نقل و انتقال یا بلاک را معتبر می سازد، منتشر کنید. ممکن است بخواهید خودتان روی نحوه تغییر قواعد کنترل داشته باشید. کنترل یک شبکه خصوصی قابل اعتماد آسان تر از یک شبکه عمومی و بی نیاز به اعتماد مانند بیت کوین است.
دفاع: چگونه کار را برای افراد شرور دشوار میسازید؟
یک مشکل شبکههای باز یا بی نیاز به مجوز این است که میتوانند توسط هر کسی مورد حمله قرار گیرند. پس روشی لازم است تا شبکه را به عنوان یک کل قابل اعتماد بسازید حتی اگر هیچ عضو خاصی قابل اعتماد نباشد.
افراد شرور چه کاری می توانند و نمی توانند انجام دهند؟
یک استخراج کننده نامعتمد میتواند:
- از رله کردن نقل و انتقالات معتبر به نودهای دیگر خودداری کند.
- تلاش کند تا بلاکهایی ایجاد کند که شامل یا فاقد نقل و انتقالات خاصی باشد که او شخصا انتخاب کرده است.
- تلاش کند که یک زنجیره طولانی تری از بلاکها را ایجاد کند طوری که بلاکهای قبلا پذیرفته شده یتیم بمانند و بخشی از زنجیره اصلی نباشند.
اما وی نمیتواند:
- بیت کوین را از روی هوا ایجاد کند.
- از حساب شما بیت کوین بدزدد
- از طرف شما پرداخت انجام دهد یا وانمود کن شما هستید که پرداخت میکنید.
همین خیال را راحت میکند.
«خوب، وی میتواند، اما فقط این نسخه از دفترحساب وی شامل این نقل و انتقالات است. دیگر نودها این را رد خواهند کرد، چون مهم است که یک نقل و انتقال توسط شماری از نودها تایید شود.»
در مورد نقل و انتقالات، تاثیری یک استخراج کننده ناصادق میتواند خیلی محدود باشد. اگر باقی شبکه قابل اعتماد باشند، آنها نقل و انتقالات غیرمعتبر را از سوی این فرد رد خواهند کرد، و نقل و انتقالات معتبر را از نودهای صادق خواهند شنید، حتی اگر این فرد از تصویب آنها خودداری کند.
در مورد بلاکها، اگر فرد شرور قدرت ایجاد بلاک کافی داشته باشد (و این چیزی است که همه چی روی این میچرخد)، وی میتواند نقل و انتقال شما را با سرپیچی از قرارداده شدن در بلاکش، به تاخیر بیاندازد. با وجود این، نقل و انتقال شما همچنان توسط دیگر نودها به عنوان یک «نقل و انتقال تایید نشده» شناخته شده و در بلاکشان قرار گیرد.
با این حال، اگر فرد رور بتواند زنجیره بلاک طولانی تری از بقیه شبکه ایجاد کند و با استفاده از قاعده طولانی ترین زنجیره، زنجیرهای کوتاه تر را از دور خارج کند، این به وی اجازه میدهد که یک نقل و انتقال دروغین ایجاد کند.
در این مقاله به این موضوع خواهیم پرداخت که، تکنولوژی بلاکچین چیست؟ یک بلاکچین ترکیبی از سه تکنولوژی اصلی است. در واقع هیچ کدام از این تکنولوژی ها جدید نبوده و تنها برنامه ریزی و کاربرد آنها متفاوت است.
این تکنولوژی ها عبارت اند از:
- رمز نگاری کلید خصوصی
- یک شبکه توزیع با یک دفتر کل مشترک
- انگیزه به منظور ارائه خدمات، ثبت و ضبط و همچنین ایجاد امنیت در مبادلات بین شبکه
در ادامه توضیحاتی در ارتباط با نحوه همکاری این قسمت ها با یکدیگر برای تامین امنیت شبکه ارائه می شود.
کلید های رمزنگاری شده
دو فرد خواهان انجام مبادله در فضای اینترنت هستند و هر کدام از آنها مالک یک کلید خصوصی و یک کلید عمومی
است. هدف اصلی این اجزای فن آوری بلاکچین، ایجاد مرجعی جهت تعیین هویت امن دیجیتال است و این هویت مبتنی بر داشتن ترکیبی از کلیدهای عمومی و خصوصی می باشد.
استفاده ترکیبی از این کلیدها که توانایی انجام توافقات را دارا ست، که امضاء دیجیتالی مفیدی را به وجود می آورد. از سوی دیگر این امضاء دیجیتالی تسلط کاملی را برای مالک آن فراهم می کند.
هویت
کنترل کامل مالکیت، برای ایجاد ارتباطات امن دیجیتالی کافی نیست. بعد از حل مسئله تایید هویت، این ابزار باید جهت تأیید معاملات و مجوز ادغام شوند. این موضوع برای بلاکچین، با یک شبکه توزیع شروع می شود.
یک شبکه توزیع شده
برای درک ضرورت یک شبکه توزیع، نیاز به درک یک تجربه مشترک، مثل افتادن یک درخت در جنگل خواهد بود. هنگامی که یک درخت در یک جنگل از بین برود و ما این فرآیند را با دوربین ثبت کنیم، از نحوه مرگ این درخت می توانیم مطمئن شویم. یعنی حتی اگر جزییات چگونگی و زمان این اتفاق واضح نباشد، ما دارای مدارک و شواهد بصری می باشیم.
عمده ترین ارزش بیتکوین این است که در این شبکه بسیار بزرگ، افراد تایید کننده همانند دوربین ها، شاهد یک اتفاقمشابه در زمان مشترک می باشند. در واقع آن ها به جای دوربین، از اثبات کننده های ریاضیاتی استفاده می کنند.
به طور خلاصه، اندازه شبکه برای تامین امنیت شبکه مسئله مهمی به شمار می آید.
یکی از جذاب ترین ویژگی های بلاکچین بیتکوین، بزرگ بودن و دارا بودن قدرت محاسبات کامپیوتری بسیار بالا می باشد. هنگام نوشته شدن، بیتکوین با قدرت پردازش ۳.۵۰۰.۰۰۰ TH/s (ترا هش بر ثانیه – واحد قدرت پردازش دیتا) اطلاعات، امنیت آنها را تضمین می کند. این مقدار از اطلاعات، از بین مجموع اطلاعات ۱۰.۰۰۰ بانک از بزرگ ترین بانک های دنیا نیز بیشتر می باشد. اتریوم که هنوز شبکه ای نوپا به حساب می آید، امنیت اطلاعات خود را بیشتر ازگوگل و با قدرت پردازشی معادل ۱۲.۵ TH/sتامین کرده است. این در حالی است که تنها دو سال از عمر اتریوم گذشته و به صورت کلی تا کنون، در وضعیت آزمایشی قرار داشته است.
سیستم ثبت وقایع
هنگامی که کلیدهای رمزنگاری شده با این شبکه ترکیب شود، شکل فوق العاده مفیدی از تعاملات دیجیتالی پدیدار میشود. فرآیند مبادله با در دست داشتن کلید خصوصی برای فرد A، به نوعی آغاز شده و با انتشار و اعلام این مسئله به فرد B، از طریق شبکه در بستر عمومی بلاکچین بیتکوین ادامه می یابد. (منظور تراکنش بیتکوینی که در مجموع به عنوان رمزارز ارسال می کنید) اتصال آن به کلید عمومی فردB آغاز می شود) یک بلاک حاوی امضای دیجیتالی، برچسب ثبت زمان و اطلاعات مربوطه است. سپس اطلاعات به تمام گره ها در شبکه مخابره می شود.
پروتکل خدمات شبکه
یک فرد واقع نگر ممکن است فرضیه «سقوط یک درخت در جنگل» را به این صورت به چالش بکشد: چرا بایستی میلیون ها دوربین و کامپیوتر برای ثبت از بین رفتن یک درخت وجود داشته باشند؟ به زبان دیگر، چگونه توانایی محاسبات را برای سرویس دهی شبکه به منظور ایمن سازی آن به کار می گیرید؟
انجام این مورد در بلاکچین های عمومی، به طور گسترده ای، نیاز به عمل استخراج دارد. عمل استخراج، از یک رویکرد منحصر به فرد نسبت به یک سوال قدیمی درباره اقتصاد به وجود آمده است.
در قبال ارائه کامپیوتر خود به منظور سرویس دهی به شبکه، توسط بلاکچین یک پاداش برای یکی از کامپیوتر ها در نظر گرفته می شود. علاقه شخصی برای استفاده از خدمات عمومی مورد استفاده قرار می گیرد. هدف از اجرای پروتکل در بیتکوین، از بین بردن احتمال استفاده بیتکوین مشابه در معاملات جداگانه در یک زمان می باشد، که به همین دلیل کار شناسایی به سختی صورت می گیرد.
این، نحوه تلاش بیتکوین برای داشتن ویژگی مشابه عملکرد طلا می باشد. بیتکوین و واحد آن (ساتوشی)، باید منحصر به فرد باشند تا ارزشمند شده و خواهان داشته باشد. برای رسیدن به این هدف، گره های زیادی به شبکه خدمت رسانی می کنند، و یک تاریخچه را برای معاملات هر بیتکوین را با حل مشکلات محاسباتی در شبکه خلق و نگهداری می کنند.
آنها اساسا با قدرت CPU خود رای می دهند، موافقت خود را در مورد بلوک های جدید و یا رد بلوک های نامعتبر بیان می کنند. هنگامی که اکثریت استخراج کنندگان به همان راه حل می رسند، یک بلاک جدید را به زنجیره اضافه می کنند. این بلاک زمان بندی شده و همچنین می تواند شامل داده یا پیام باشد.
اینجا یک زنجیره از بلاک ها را مشاهده می کنید:
نوع، مقدار و پروسه تایید در هر بلاکچین می تواند متفاوت باشد. قواعدی که غیر مجاز بودن یک معامله و یا مجاز بودن تولید یک بلاک جدید را تعیین می کند، از موضوعات یک پروتکل بلاکچین به حساب می آید. روند تایید می تواند متناسب با هر بلاکچین باشد. قواعد مورد نیاز در جهت ایجاد انگیزه، زمانی ایجاد می شود که گره ها به اندازه کافی در موردنحوه بررسی معاملات به توافق برسند.
این یک موقعیت انتخابی ظریف است و برای انجام آزمایش، تنها باید شروع کرد.
ما در حال حاضر در دوره توسعه بلاکچین هستیم که بسیاری از این آزمایش ها اجرا می شود. تنها نتیجه گرفته شده تا کنون این است که ما هنوز به طور کامل مهارت های پروتکل را درک نکرده ایم.
سلام ممنونم مطلب فوق العاده مفیدی بود با تشکر
مقاله مفیدی بود
بدون شک این بلاک چین توی امور مالی و حسابداری تغیرات زیادی میتونه ایجاد کنه