آخرین بهروزرسانی: ۱ بهمن ۱۳۹۹
در دنیای مالی سنتی کلیه تراکنشهای بانکیِ شما، از قبیل ارسال و دریافت پول و… در بایگانی بانکها ذخیره میشوند و فقط بانکها هستند که به این اطلاعات دسترسی دارند. علاوه بر این اگر شما توسط عابربانک خود برای کسی پول ارسال کنید، با گرفتنِ گردش حسابِ کارت خود میتوانید تاریخچه تراکنشهای خود را دریافت کنید؛ در واقع اطلاعات تراکنشهای مالی که با کارت یا حسابتان انجام دادهاید، فقط در اختیار خود شما و بانکتان قرار دارد.
در این صورت دستکاری این اطلاعات و کلاهبرداریهای مالی کار چندان سختی به نظر نمیرسد.
درباره ارزهای دیجیتال شرایط فرق دارد. کلیه امور مالی و تراکنشهای ارزهای دیجیتال مانند بیت کوین، روی یک شبکه به نام بلاک چین ثبت میشوند. از همین رو بلاک چین را میتوان مانند یک پایگاه مشترک ذخیره اطلاعات در نظر گرفت.
به مثال بانک برمیگردیم؛ اگر فرض کنیم که کلیه اطلاعات مالی یک کشور در یک دفتر کلی ثبت میشوند و فقط افراد خاص و روسای بانکها به این دفتر کل دسترسی داشته باشند، برای ارزهای دیجیتال، بلاکچین حکم این دفتر کل را دارد. تفاوت بلاک چین با دفتر کلی که در بانکها اطلاعات مالی را ذخیره میکند، این است که اینجا همه افراد عضو شبکه میتوانند به اطلاعات ثبت شده در این دفتر دسترسی داشته باشند و آنها را مشاهده کنند؛ از همین رو بلاک چین را میتوان نوعی «دفتر کل توزیع شده» یا DLT در نظر گرفت که مخفف عبارت distributed ledger technology است.
همین توزیع شده بودنِ اطلاعات شبکه بلاکچین و یا دسترسی همه افراد عضو شبکه به اطلاعات ذخیره شده در آن، موضوعی است که امنیت این شبکه را فراهم میکند. در پلتفرمی که همهی اعضا و نه فقط افراد خاصی به اطلاعات موجود در آن دسترسی داشته باشند، دستکاری کردن و تغییر اطلاعات کار بسیار دشواری خواهد بود.
بلاک چین مجموعهای از هزاران بلاک متصل به یکدیگر است که همگی حجم مشخصی از تراکنشهای تایید شده را در خود جا میدهند. هر بلاک در این مجموعه، به بلاکهای قبل از خود و بلاکهای بعد از خود متصل است.
فهرست
امنیت شبکه بلاک چین چگونه فراهم میشود؟
کلیه معاملات صورت گرفته با بیتکوین، در شبکه بلاک چین بیت کوین ذخیره میشوند. از آنجایی که بیت کوین غیرمتمرکز است، وظیفه تایید این تراکنشها در شبکه، به عهده یک سازمان مرکزی نیست. بنابراین فرآیند تایید معاملات، توسط افراد داوطلبی به نام ماینر (miner) که به صورت مداوم، اطلاعات موجود در بلاکچین را ردیابی، بررسی و بهروزرسانی میکنند، به انجام میرسد.
این افراد تراکنشهای ثبت شده را بررسی (verify) میکنند و پس از به حد نصاب رسیدن تعداد تراکنشهای وریفای شده، یک بلاک جدید به زنجیره اضافه میشود.
کلیه افرادی که عضو شبکه بلاکچین هستند، وظیفه بررسی اطلاعات ورودی و اعتبار تراکنشها را بر عهده دارند؛ به این افراد نود یا گره میگویند. وقتی فردی در بلاک چین بیتکوین تراکنشی انجام میدهد، تاریخچه آن وارد شبکه میشود و برای اینکه این تراکنش در شبکه ثبت شود باید توسط نودها یا گرهها مورد بررسی و تایید قرار بگیرد. هر تراکنش با توجه به کارمزد آن، توسط یک ماینر انتخاب شده و در یک بلاک قرار میگیرد.
وقتی که تعداد تراکنشهای انجام شده به حجم خاصی برسند تشکیل یک بلاک جدید میدهند و برای اینکه این بلاک جدید به بلاکهای قبلی در شبکه بلاک چین متصل شود، باید توسط همه فول نودها مورد تایید قرار بگیرد. پس از تاییدِ فول نودها، این بلاکِ جدید به کل شبکه اضافه میشود.
به صورت کلی امنیت شبکه بلاک چین از دو طریق فراهم میشود:
- هدر اختصاصی هر بلاک
- پروتکل اجماع
هدر اختصاصی هر بلاک
همانطور که گفته شد کلیه بلاکها در شبکه بلاک چین به یکدیگر متصل هستند؛ این اتصال توسط یک رشته رمزنگاری شده به نام هش صورت میگیرد که در ادامه بیشتر به معرفی این مفهوم میپردازیم.
تاریخچه هر تراکنشی که به یک بلاک اضافه میشود، در یک رشته از اعداد و حروف به نام هش خلاصه میشود. پس از اضافه شدن همه تراکنشهای بلاک، هشهای آنها با یکدیگر ادغام میشود و تشکیل یک هش کلی به نام «هش ریشه» میدهند.
پس از آن، هش ریشه (ریشه مرکل)، یک عدد تصادفی به نام نانس و هش بلاک قبلی، با هم ادغام شده و هدر بلاک را تشکیل میدهند؛ به همین دلیل است که میگویند بلاکها با یک عبارت رمزی به هم متصل هستند (این عبارت درواقع هدر بلاکها است).
اکنون تصور کنید فردی بخواهد تاریخچه یک تراکنش را دستکاری کند. با کوچکترین تغییری که فرد در تراکنش ایجاد کند، به ترتیب هش آن تراکنش، هش ریشهی بلاک فعلی، هدر بلاک فعلی و هش بلاکهای قبلی متصل به بلاک فعلی تغییر میکنند و کلیه اعضای شبکه از این تغییر مطلع میشوند.
استفاده از عملیات رمزنگاری هشینگ موجب میشود که ایجاد کوچکترین تغییری در یک رشته از اطلاعات، هش خروجی آنها را به میزان چشمگیری تغییر دهد. از آنجا که کلیه بلاکها به هم متصلاند، این موضوع به سادگی برای سایر اعضای شبکه قابل مشاهده خواهد بود.
به عنوان مثال در شکل زیر در ردیف دوم، حرف اول جملهی «This is test» تغییر کرده و حرف t در ردیف دوم جدول با حروف بزرگ نوشته شده است؛ اما میبینید که دو هش خروجی با وجود داشتن طولهای یکسان، به هیچ وجه مشابه یکدیگر نیستند:
اگر این جمله را تاریخچهی یک تراکنش در نظر بگیریم، میبینید که با کوچکترین تغییر در این تاریخچه، هش خروجیِ آن به میزان زیادی تغییر کرده است و همه اعضای شبکه نیز این تغییر را مشاهده میکنند و به همین دلیل بلاک چین تا حد بسیار زیادی یک شبکه امن است.
پروتکل اجماع
دومین عاملی که امنیت شبکه بلاک چین را تا حد زیادی تامین میکند، استفاده از پروتکل اجماع برای تایید اضافه شدن بلاکِ جدید است.
برای اضافه شدن یک بلاک جدید به کل شبکه بلاک چین، باید مجموعهای از اعضای شبکه، به نام فول نودها (full nodes)، راجع به آن به توافق برسند.
فول نودها، نودهایی در شبکه هستند که یک کپی از تاریخچهی کامل همهی بلاکهای بلاکچین را در اختیار دارند.
اگر بلاک جدید حاوی اطلاعات غلط باشد، این فولنودها اجازه نمیدهند که بلاک جدید به شبکه اضافه شود و امنیت شبکه تامین میشود. در واقع بلاکِ جدید وقتی به شبکه اضافه میشود که فولنودها تایید کنند، ماینر برنده معادله را به درستی حل کرده و نانسی که پیدا کرده در معادله جایگذاری میشود.
با این حال هیچ چیزی به صورت صددرصدی امن نیست و بلاکچین نیز از این قاعده مستثنی نیست. گاهی ممکن است افرادی به قصد دستکاری ورودی یک تراکنش به نفع خودشان، به شبکه بلاکچین حمله کنند. اما نکتهای که وجود این است که آنها برای موفق شدن در این حمله باید بتوانند هش بلاک فعلی و هش کلیهی بلاکهای قبلی را تغییر دهند (زیرا همهی بلاکها به هم متصلاند) و برای این کار باید بتوانند از توان سختافزاری ماینرهای زیادی پیشی بگیرند. اینجاست که باید با مفهومی به نام حمله ۵۱ درصدی آشنا شوید.
حمله ۵۱ درصدی چیست؟
همانطور که میدانید یکی از ویژگیهای بارز اکثر شبکههای بلاک چینی، مانند بلاک چین بیت کوین، غیر متمرکز بودن آنها است. این عدم تمرکز بدین معناست که یک نفر وظیفه تایید تراکنشها را بر عهده ندارد و این وظیفه بین اعضای شبکه تقسیم میشود؛ به عبارتی قدرت استخراج رمزارز در شبکه بین نودهای مختلف در سراسر جهان توزیع شده است.
ماینرها برای استخراج باید از توان محاسباتی زیادی استفاده کنند که توسط مفهومی به نام هشریت (HashRate) اندازهگیری میشود. هش ریت یا سرعت هش، در واقع نشان میدهد که هر ماینر بسته به میزان سختی استخراج رمزارز، با چه سرعتی میتواند کوینهای جدید را تولید کند و چه مقدار توان محاسباتی باید مصرف کند.
برای اینکه ماینری بتواند اطلاعات بلاکها را دستکاری کند باید آنقدر توان خود را افزایش دهد، تا بتواند بر توان سختافزاری حداقل ۵۱ درصد از اعضای شبکه غلبه کند، در این حالت میتواند تاریخچه تراکنشها را به نفع خودش دستکاری کند.
نگران نباشید، در شبکه بلاک چین بیت کوین این کار تقریبا غیر ممکن است!
همانطور که گفته شد فرآیند استخراج رمزارز به توان سختافزاری زیاد نیاز دارد تا فرد بتواند معادلهی اضافه شدن بلاک را حل کند و پاداش آن را دریافت کند. این توان آنقدر زیاد است که با دستگاههای رایانه معمولی به راحتی قابل انجام نیست.
حالا تصور کنید که فردی برای حمله ۵۱ درصدی باید بتواند توان سختافزاری ۵۱ درصد از نودهای شبکه را به دست آورد. بدیهی است که انجام چنین کاری برای بلاک چین بیت کوین با تعداد ماینرهای بسیار زیاد، کار سختی است.
سخن پایانی
پذیرش جهانی فناوری بلاک چین، پس از گذشت چند سال از پیدایش آن رفته رفته افزایش مییابد و نوید دنیایی تازه را میدهد؛ دولتها و قانونگذاران همواره به دنبال بهره بردن از مزایای این فناوری هستند. بنابراین توسعهدهندگان نیز برای برآورده کردن نیاز کاربران بهتر است که همواره برای ارتقای امنیت شبکههای بلاک چینی تلاش کنند.