زنجیره بلوک یا بلاکچین (Blockchain) نامی است که برای آخرین فناوری تحولآفرین رونماییشده در قرن بیست و یکم انتخاب شده است. چرایی این انتخاب و رویکردی که منجر به آن شده است، موضوع جذابی است که در این نوشتار با بررسی مبحث زمان در سامانههای مبتنی بر این فناوری از نظر میگذرانیم.
اگر نوشتارهای قبلی را مطالعه کرده باشید، میدانید که زنجیره بلوک یا بلاک چین بهترین روش پیادهسازی فناوری دفترکل توزیعشده و درنتیجه سامانههای غیرمتمرکز است که در آن میتوانید ارزش را بدون واسطه به فرد دیگری منتقل کنید و همچنین با مبانی این فناوری آشنا شدهاید. در ادامه این مبحث و در این نوشتار قصد داریم موضوع زمان در سامانههای مبتنی بر زنجیره بلوک را بررسی کنیم تا به دلیل اسمگذاری این فناوری برسیم.
بلوک در زنجیره بلوک!
تراکنشها در زنجیره بلوک بهصورت منفرد ثبت نمیشوند. بلکه چندین تراکنش در کنار یکدیگر قرار میگیرند و در قالبی به نام بلوک ثبت میشوند. هر بلوک یک شماره دارد و به بلوک قبلی متصل است. دلایل زیادی برای انتخاب این رویکرد وجود دارد که یکی از مهمترین آنها توافق بر سر زمان است. هر تراکنش در شبکههای زنجیره بلوکی توسط یکی از اعضا وارد و سپس دستبهدست میشود. بدین ترتیب اعضا با تاخیرهای متغیر تراکنش را دریافت میکنند. اما همانطور که میدانید تقدم و تاخر تراکنشها باید مشخص شود. چراکه ممکن است از این تاخیرها سوءاستفاده شود.
برای مثال فرض کنید شخصی یک توکن در شبکه داشته باشد. او میخواهد در دو تراکنش مجزا آن را به دو نفر انتقال دهد. واضح است که یکی از تراکنشها نباید انجام شود. چراکه اگر یک تراکنش انجام بگیرد، حساب ایجادکننده تراکنش خالی میشود و برای تراکنش دوم توکنی باقی نمیماند. حال اگر عدهای از اعضا در ساعت ۱۸:۰۰ تراکنش X و در ۱۸:۰۵ تراکنش Y را دریافت کنند، درحالیکه مابقی اعضا Y را در ساعت ۱۸:۰۰ و X را در ساعت ۱۸:۰۵، چه اتفاقی میفتد؟ آیا یک کلاهبردار میتواند از این موضوع سوءاستفاده و یک توکن را دو بار خرج کند؟
در زنجیره بلوک این چالش رفع شده است.
مهر زمانی
به همین منظور در سامانههای مبتنی بر زنجیره بلوک ساعت را واحد زمان نمیدانیم. بلکه شماره بلوک بهعنوان مهر زمانی (Timestamp) در نظر گرفته میشود. برای مثال، اگر از کسی سوال شود که «چه زمانی توکن را ارسال کردی؟» در پاسخ باید بگوید: «این تراکنش را میتوانی در بلوک شماره ۱۲۳۴ ببینی». بدین ترتیب چالشی که در بالا به آن اشاره شد، مشکلی به وجود نخواهد آورد. در مثال بالا، ابتدا اعضا با روشهای مختلف اجماع که در نوشتارهای بعدی به آن خواهیم پرداخت، بر سر اینکه کدام تراکنش (X یا Y) زودتر ثبت شود (مسلما این دو تراکنش نمیتواند همزمان ثبت شود)، به توافق میرسند و آن را در آخرین بلوک ثبت میکنند. پسازآن، بهصورت خودکار تراکنش دیگر نامعتبر تلقی و حذف میشود.
همانطور که اشاره شد، تراکنشها به دلایل مختلف ازجمله توافق بر سر زمان در کنار یکدیگر و در قالب یک بلوک ثبت میشوند. همچنین این بلوکها با روابط ریاضی و زنجیروار به یکدیگر متصل هستند تا نتوان تغییری در آنها ایجاد کرد. به همین دلیل به این فناوری، زنجیره بلوک میگویند. به معنی بلوکهایی که زنجیروار به یکدیگر متصل هستند.
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.