یکی از مشکلاتی که از زمان بوجود آمدن ارزهای دیجیتال یا بهتره بگیم رمز ارز (Cryptocurrency) مطرح شد مشکل Double-spending یا ترجمه خیلی بیخود فارسیش 😐 هزینه های دوگانه !! بود.

میخوام تو این پست این مشکل رو بررسی کنم ببینیم قضیه ازچه قراره! ممکنه یکم پیچ تو پیچ بشه که اصلا مهم نیست 🙂 مهم همون نیته :)) همچنین میتونین ترجمه double spending رو که توی ویکی پدیا گذاشتم رو بخونین، عنوان این قضیه به فارسی زیاد جالب نمیشه دیگه ببخشین خودتون 🙂

اصلا این دابل اسپندینگ چی هست ؟!

این مشکل از زمان درست شدن ارز دیجیتال بوجود اومد یه باگ بود که کسی حلش نکرد.همونطور که از اسمش پیداس double spending اشاره داره به دوبار خرج کردن پول مثلا من دوتا لایتکوین دارم باهاش بستنی میخرم بعد این دوباره از همین دوتا لایتکوین میتونم یه چیز دیگه هم بخرم !‌ چه باگ مسخره ایی نه ؟‌ولی حل کردنش یکم پیچیده بوده

پولای دیجیتال مثل اسکانس و ارز های فیزیکی نیستند(نه خدایی؟‌اینو که مام میدونستیم :)))) ) یعنی هر ارز دیجیتال یه فایل دیجیتالی داره که میتونین تکثیرش کنین و دست توش ببرین .

کلا بیش از نصفی از حمله هایی که به رمز ارزها میشه بخاطر وجود چنین مشکلی هست.

حالا واسه حلش اومدن چکار کردن ؟ اون اقا / خانم / گروه یا مستر مایند یعنی ساتوشی ناکاموتو اومد مقاله ای به اسم Bitcoin: A peer-to-peer Electronic Cash system رو داد بیرون و هم ارز بیتکوین رو ارا‍‍یه کرد هم مشکل دابل اسپندینگ رو با بلاک چین حل کرد.

حالا این مشکل دابل اسپندینگ چطوری حل میشه ؟

کلا دوتا روش داره : یکی متمرکز و یکی هم غیر متمرکز

قبلنا میومدن چکار میکردن ؟‌از روش متمرکز استفاده میکردن یعنی از یه شخص ثالثی این وسط استفاده میکردن یه واسط که بهش میگن third party

که این third party یا شخص ثالث مثلا pay pal یا بانک مشخص میکنه که اون توکن یا رمز دیجیتال پول دیجیتالتون مصرف شده یا نه ولی خب اینم یه واسطه و کاملا قابل نفوذه و حتی هزینه تراکنش هارو هم افزایش میده پس در نتیجه زیاد جالب نیست . دربارش یه مقاله نوشتم همه چیو توضیح دادم خواستین بخونینش.

۰

اگه نمیدونید ThirdParty چیه توصیه میکنم مقاله مربوط به ThirdParty رو بخونین تا کاملا متوجه بشین.

بطور خلاصه ThirdParty چیه ؟ یه نفر سومی هست که مثلا وقتی نقل و انتقال (بین شما و سیستم) داره صورت میگیره حواسش هست که این وسط تقلبی نکنین ! مثلا مثل داور فوتبال (ولی خب داور فوتبال هم مثل مارادونا که توپو با دست مینداز تو دروازه و گل حسابش میکنه ممکنه اشتباه کنه!) ولی بیخیال !

یه مثال ساده که معروفم هست اینه که فرض کنین من یه دوست مجازی دارم و میخوام باهاش ارتباط امن برقرار کنم واسه اینکار باید یه کلیدی درست کنم که فقط اون بتونه باهاش قفل پیامارو باز کنه و منم که این دوستمو ندیدم تا حالا ، پس کلیدو میدم به یکی از آشناهاش که اونو هروز خدا میبینه و منم بهش اعتماد دارم تا کلیدو بدستش برسونه. حالا اون دوستمم به این طرف اعتماد میکنه و کلیدو ازش میگیره و ارتباط برقرار میشه . فک کنم فهمیدین شخص سوم کیه تو این قضیه ^__^

روش دوم : غیر متمرکز :

این روش همون روشیه که ساتوشی ناکاموتو توی بیتکوین بکار گرفت و باید گفت که دمش گرم !

تا قبل از اون واسه روش غیر متمرکز از الگوریتم های Distributed computing استفاده میکردن (اینجا درموردش بخونین چون نیازی نیس توضیحش بدم اصلا)

ساتوشی ناکاموتو اومد گفت نه دست بانک باید از وسط معاملات کامل قطع شه 🙂 و بجای اینکه از شخص ثالث قابل اعتماد (که نامردن همشون) باید از بلاک چین استفاده بشه و تمام تراکنش توی ی دفتر کل که بهش میگن ledger ثبت عمومی بشه .

مقاله کاملی درمورد بلاک چین نوشتم که کاملا متوجه میشین چه سیستم خفنیه حتما بخونینش

که بلاک چین میاد از پروتکل رمزنگاری به اسم proof of work استفاده میکنه که باعث جلوگیری از قضیه دوبار خرج کردن توکن های رمز ارز ها میشود.

ترجمه مقاله سیستم اثبات گواه کار رو توی ویکی پدیا گذاشتم که میتونین بخونینش ولی بزارین یه خلاصه از سیستمش بگم .

گواه اثبات کار یا به اختصار (PoW) یا همان (Proof of Work ) یک سیستم (تابع یا پروتکل) اندازه گیری است تا در برابر حملات محروم‌سازی از سرویس یا به اختصار (DoS) و دیگر سیستم هایی که قصد اذیت کردن را دارند مانند اسپم های شبکه از طریق مستلزم دانستن کاری از طرف درخواست کننده سرویس جلوگیری کند ، معمولاً این قضیه به معنی زمان پردازش شدن عملیاتی توسط یک کامپیوتر است.این طرح و یا مفهوم توسط Cynthia Dwork و Moni Naor در سال ۱۹۹۳ در قالب مقاله ژورنال کشف شد. اصطلاح “Proof of work” یا به اختصار PoW اولین بار در مقاله ای در سال ۱۹۹۹ توسط Markus Jakobsson و Ari Juels ابداع و بکار گرفته شد. [۱]

یکی از ویژگی های کلیدی این طرح ها، عدم تقارن آنها است: کار باید برای درخواست کننده نسبتاً سخت(اما قابل حل) باشد ولی چک کردن آن برای تامین کننده سرویس(سرور) میبایست آسان باشد.

همچنین این قضیه به عنوان ، تابع هزینه CPU ،پازل مشتری، پازل محاسباتی یا تابع ارزش گذاری CPU نیز شناخته میشود.

این قضیه با کپچا فرق میکند به این صورت که کپچا برای حل سریع توسط انسان درنظرگرفته شده است نه یک کامپیوتر.

حالا یه مقاله کامل قراره برای پروف آف ورک یا pow درست میکنم که تصویری توضیح بدم ببینیم چیه ولی کلا با سیستم proof of work جلوی دوبار خرج کردن رمز ارزها رو گرفت بیتکوین و بعد هم دیگر رمز ارز ها از بلاکچین و این پرتکل استفاده کردن .

سوالی داشتین من هستم همینجا :))) کامنت کنین 🙂

دیدم مردیو که پول بی زبون زبون درازی میکرد بهش 🙂 (صفیر)