تراکنشهای بیت کوین بیت کوین چگونه انجام می شود؟
تراکنشهای بیت کوین / تراکنشهای بیتکوین چگونه عمل میکنند؟ / تراکنشهای بیت کوین چگونه تایید می شود؟ / تأییدیه های بیت کوین
تراکنشهای بیت کوین
در این مقاله با نحوه ی انجام دادن تراکنش های بیت کوین آشنا می شوید و اهمیت تأییدیه های شبکه را درک می نمایید.
مفهوم تراکنش بیت کوین بسیار ساده تر از آن است که بتوان بر اساس آن مقاله ای را آغاز کرد.
نخست این که تراکنش بیت کوین انتقال مالکیت مجازی مقدار مشخص بیت کوین در شبکه بیت کوین است. برای مثال، اگر صاحب ۵ بیت کوین باشید و ۲ بیت کوین را به کاربری به نام پژمان ارسال کنید، مالکیت دیجیتال بیت کوین را به کیف پول پژمان منتقل کرده اید. ۳ بیت کوین دیگر در کیف بولتان باقی می ماند، زیرا شما همچنان مالک مجازی آن مقدار هستید.
در این مقاله به اصول تراکنش ها و پاسخ به سؤالاتی که معمولا در مورد بازار مبادلات بیت کوین مطرح می شود، می پردازیم.
آشنایی با نحوه ی کارکرد تراکنشهای بیت کوین
در ساده ترین شکل، تراکنش به معنی انتقال مالکیت مقداری بیت کوین به دیگری است.
به منظور معتبر شدن یک تراکنش بیت کوین، حداقل یک درون داد (Input) باید وجود داشته باشد، هر چند وجود درون دادهای متعدد نیز امکان پذیر است. یک درون داد منبع یک مرجع به برون داد (Output) یک تراکنش پیشین است. توجه داشته باشید که هر درون داد مرتبط با یک تراکنش بیت کوینی باید برون داد خرج نشده ای از تراکنش قبلی باشد. به علاوه، هر درون داد در تراکنش بیت کوین باید به صورت دیجیتالی امضا شود که اغلب از طریق کلید خصوصی مرتبط با آدرس بیت کوینی انتقال دهنده ی بیت کوین انجام می گیرد.
اگر درون دادهای متعدد با یک تراکنش بیت کوین در ارتباط باشند، بدان معنی خواهد بود که مقدار ارسال شده از آدرس های متعدد کیف پول بیت کوین آمده است. همان طور که در مقاله های اشاره شد، هر کاربر بیت کوین می تواند تقریبا مقدار نامحدودی آدرس با هر مقدار بیت کوین ایجاد کند.
برای مثال اگر شما ۲ بیت کوین را به علی بدهید، ۱ بیت کوین از آدرس کیف پول 2#، 0/33 بیت کوین از آدرس کیف پول 7# و بقیه از آدرس کیف پول 8# آمده است. در این مثال آدرس های ۱، ۳، ۴، ۵ و ۶ هیچ موجودی بیت کوینی ندارند، بنا بر این نمی توانند به عنوان درون داد استفاده شوند، زیرا هیچ برون داد خرج نشده ای مرتبط با این آدرس ها وجود ندارد.
با این حال تراکنش بیت کوین ممکن است برون داد چندگانه یا درون داد چندگانه نداشته باشد. همان طور که انتظار می رود، برون دادهای چندگانه نشان می دهند که تراکنش بیت کوین به آدرس های متعدد ارسال شده است. برای مثال، از موجودی ۵ بیت کوینی شما اکنون به على ۲ بیت کوین و نازنین 1 بیت کوین ارسال خواهد شد و بقیه ۲ بیت کوین به آدرس دیگری تحت کنترل شما منتقل می شود. در زنجیره بلوکی این تراکنش سه برون داد مختلف خواهد داشت که یکی به علی، یکی به نازنین و سومی به آدرس دیگری می رسد.
ارسال یک پرداخت بیت کوین می تواند در بر گیرنده ی تعداد زیادی ساتوشی باشد؛ کوچکترین مقدار تراکنش های بیت کوین (یک بیت کوین با ۱۰۰ میلیون قطعه تقسیم می شود و به عبارتی ۸ رقم اعشار). از آن جا که بیت کوین در مقایسه با پول های بدون پشتیبان سنتی قابلیت تقسیم پذیری زیادی دارد، یک ساتوشی می تواند ارزش زیادی داشته باشد. در حالی که 1 ساتوشی تقریبا ارزشی ناچیز دارد، می تواند به چندین سنت یا حتی یک دلار در آینده تبدیل شود، زیرا پیش بینی می شود که آهسته آهسته بیت کوین مورد توجه عموم قرار خواهد گرفت.
از منظر تراکنش بین پرداخت با بیت کوین و پرداخت نقدی تفاوت زیادی دیده نمی شود. مقدار بیت کوین با تمامی درون دادهای تراکنش ترکیب می شود و می تواند بیشتر از میزان مبلغ خرج شده باشد که در سیستم بیت کوین – مبلغ به میزان تراکنش مورد نظر خرد می شود. در پول های رایج کنونی، خرد کردن (اسکناس) توسط خود مشتری در قالب اسکناس یا سکه صورت می گیرد. در بیت کوین خرد کردن در شکل مالکیت دیجیتالی بیت کوین مرتبط با آدرس کیف پولتان انجام می شود. اگر مقدار درون داد بیشتر از مقدار برون دادهای تراکنش باشد، در این صورت یک برون داد مازاد برای آدرس انتقال دهنده (بیت کوین) به میزان مبلغ باقیمانده ی آن ایجاد می شود.
روش های مختلفی برای ارسال تراکنش بیت کوین به کاربر دیگر بیت کوین وجود دارد. اول از همه می توانید آدرس بیت کوین دریافت کننده را بپرسید از طریق نرم افزار بیت کوین بر روی رایانه یا تلفن همراهتان پول را ارسال کنید. برای کاربران موبایل روش آسان تری وجود دارد که اسکن کردن کد کیوآر دریافت کننده است. تمامی نرم افزارهای بیت کوین به کاربران امکان ایجاد کدهای کیوار را می دهند که خود شامل آدرس کیف پول برای ارسال پول و کل مقدار قابل پرداخت خواهد بود.
اگر رایانه ام خاموش باشد و بیت کوینی را دریافت کنم، چه می شود؟
معمولا از بیت کوین به عنوان پول اینترنتی یاد می شود، نه تنها به دلیل این که بیشتر بر روی اینترنت استفاده می شود، بلکه بدین خاطر که شما به اتصال اینترنتی فعال نیاز دارید تا بتوانید به درستی از نرم افزار استفاده کنید. اما دلیلی برای اتصال به اینترنت طبق اصل 24/7 حتی برای دریافت تراکنش ها وجود ندارد.
وقتی آدرس کیف پول بیت کوین ایجاد شد، در زنجیره ی بلوکی فعال باقی می ماند یا حداقل تا زمانی که زنجیره ی بلوکی در وضعیت کنونی اش باشد، آدرس نیز وجود خواهد داشت. داشتن کلاینت نرم افزار بیت کوین به روزشده چه بر روی رایانه و چه موبایل اهمیتی ندارد، زیرا در روش دریافت تراکنشهای بیت کوین شما تاثیری نخواهد داشت.
بدیهی است وقتی موضوع خرج کردن بیت کوین مطرح می شود، اتصال اینترنتی برای کاربران رایانه و موبایل لازم است، زیرا تراکنش باید در شبکه منتشر شود. بدین منظور می توانید از طریق وای فای یا دیتای موبایل به اینترنت متصل شوید. البته لازم نیست که اتصال سریعی داشته باشید؛ تنها کافی است بتوانید تراکنش را به گره های بیت کوین موجود در شبکه ارسال نمایید. این روند معمولا کمتر از یک ثانیه به طول می انجامد.
فرض کنید که در حال دریافت بیت کوین هستید، اما به اینترنت متصل نیستید. پول ها از ارسال کننده به آدرس کیف پول بیت کوین شما منتقل خواهند شد، زیرا آدرس بیت کوینتان در زنجیره ی بلوکی همیشه فعال است. با این حال تا زمانی که نرم افزار بیت کوین خود را به اینترنت متصل نکنید، از این انتقال آگاه نخواهید شد.
هر تراکنش بیت کوین ابتدا توسط شبکه بررسی می شود و از طریق گره های متعدد منتشر می گردد تا صحت یا عدم صحتش تأیید شود. حتی اگر رایانه یا موبایلتان در زمان تراکنش به اینترنت متصل نباشد، انتقال در زنجیره ی بلوکی ثبت می شود. به محض اتصال به اینترنت میزان هر انتقال در کیف پولتان نمایان خواهد شد.
می توان شرایط دریافت آفلاین بیت کوین را با دریافت ایمیل در حالی که شما به رایانه دسترسی ندارید، مقایسه کرد. تا زمانی که به اینترنت متصل نشوید، از دریافت ایمیل آگاه نخواهید شد و وقتی که صفحه ی ایمیل یا کلاینت بیت کوین را باز کنید، تمامی اطلاعات از سرور یا زنجیره ی بلوکی دریافت می گردند و پس از چند لحظه نمایش داده می شوند.
مثال: آدرس کیف پول بیت کوین شما در یک دوره ی زمانی مشخص ۵ بیت کوین دریافت کرده و شما هم اکنون در حال ارسال ۲ بیت کوین به علی هستید. تراکنش بیت کوین یک درون داد خواهد داشت (درون دادهای خرج نشده ی تراکنش بیت کوین که از طریق آنها شما این ۵ بیت کوین را دریافت کرده اید) و دو برون داد مختلف را وقتی که به علی پول می فرستید، ایجاد می کند. برون داد اول، تراکنش به علی برای مقدار 2 بیت کوین خواهد بود. برون داد دوم، تراکنش تغییر خواهد بود که ۳ بیت کوین خرج نشده را به آدرس کیف پولتان باز می گرداند.
دریافت تاییدیه ها
تأییدیه های بیت کوین توسط معدن کاوان پس از تایید تراکنش ارسال می شوند. هر بلوک موجود در شبکه شامل مقدار مشخصی تراکنش بیت کوینی می شود که قبلا انجام شده اند. سپس این تراکنش ها به تمامی گره های بیت کوین مخابره می شوند تا اعتبارشان بررسی گردد.
وی که در شبکه ی بیت کوین پس از انتشار تراکنش یافت می شود، فرض را بر معتبر دانستن تراکنش می گیرد و یک تأیید شبکه را به همراه دارد. همان طور که اشاره شد، حداقل شش تاییدیه شبکه لازم است تا بتوان بیت کوین را خرج کرد.
یک تأییدیه در دنیای بیت کوین بدین معنی است که تراکنش توسط شبکه معتبر شناخته شده است. بدون تاییدیه ها تراکنش همچنان میان کاربران معلق خواهد بود و تا زمانی که در زنجیره ی بلوکی تأیید امنیتی ظاهر نشود، این تراکنش تنها ریسک امنیتی برای دو طرف خواهد بود. البته تأیید تراکنش ها زمان می برد، اما ایمنی اش بیشتر است.
بیشتر کیف های پول بیت کوین تراکنش بیت کوین را به عنوان خرج شده، فارغ از تأییدیه های شبکه نشان می دهند. کاربران رایانه ممکن است آن را به صورت 0/n تأیید نشده ببینند که در این جا n بر تعداد تأییدیه های دریافتی برای تراکنش دلالت دارد. رسیدن به مجموع شش تراکنش تا یک ساعت به طول می انجامد البته استثناهایی نیز وجود دارد.
هیچ راهی برای یک کلاینت بیت کوین وجود ندارد که شبکه را مجبور به نمایش تأییدیه های شبکه نماید، زیرا این موضوع تماماً به خود شبکه ی بیت کوین بستگی خواهد داشت. زمان انتشار هر بلوک بیت کوین ۱۰ دقیقه طول می کشد و هیچ راهی برای تأثیرگذاری بر روی سرعت تأیید یک بلوک وجود ندارد. گفته می شود یکی از عوامل تأثیرگذاری بر زمان انجام دادن تراکنش این است که تراکنش شما توسط یک بلوک شبکه برداشته می شود.
فرض کنید که تراکنش بیت کوینتان قبل از یافتن بلوک جدید در شبکه منتشر شده، در این صورت، تأیید اول شما ممکن است سریع تر رخ دهد. با این حال قرار گرفتن تراکنش بیت کوینتان در بلوک بعد کاملا تصادفی است و ارسال تاییدیه ممکن است کمی بیشتر از اولین تأیید به طول بینجامد.
قانون کلی درباره ی تراکنش ها بدین قرار است: تراکنش بیت کوینی که هیچ تاییدیه ای نداشته باشد، همیشه دارای ریسک بالای خرج دوباره ی بیت کوین است. دو بار خرج کردن بدین معنی است که کاربر بیت کوین می تواند مقداری از پول هایش را در یک کیف پول دو بار خرج کند. در واقع، تراکنشی که کمتر از شش تأیید داشته باشد نیز همین ریسک را به دنبال دارد. با این حال پردازنده های پرداخت و فروشندگان برای تنظیم تعداد تأییدیه های لازم صاحب اختیارند. این قانون برای کاربرانی که از نرم افزار بیت کوین موجود بر روی رایانه شان استفاده می کنند، عملی نیست، زیرا نرم افزار تا زمان دریافت شش تأییدیه ی شبکه، تراکنش را تأیید نشده نشان می دهد. کاربران موبایل با توجه به نوع انتخاب کیف پولشان می توانند پول ها را سریع تر خرج کنند.
شش تأییدیه ی معمول در تراکنشهای بیت کوین
به خاطر داشته باشید که تأییدیه ی تراکنش زمانی رخ می دهد که بلوکی تازه بر روی شبکه ی بیت کوین ایجاد شود که هر ده دقیقه این اتفاق رخ می دهد، دریافت شش تأییدیه نیز حدود یک ساعت به طول می انجامد. با دریافت شش تاییدیه برای تراکنش، کوین ها قابل خرج کردن خواهند شد. در زمان مورد نیاز به طور متوسط می تواند کم و زیاد باشد. باید در نظر داشت که این انتظار برای شش تأییدیه از حملات ممكن جلوگیری خواهد کرد. به هر حال تراکنشهای بیت کوین قابل بازپرداخت نیستند و انجام دادن تراکنش بدون تاییدیه های لازم ضرر بزرگ مالی را به دنبال خواهد داشت.
گزارش هایی مبنی بر چند ساعت انتظار برای دریافت تأییدیه از شبکه وجود دارد. با این حال تأییدیه های همراه با تأخیر نیز کم و بیش رخ می دهند، زیرا به ترافیک شبکه بیت کوین بستگی دارد.
با وجود این که پس از دریافت شش تأییدیه تراکنش تأیید می شود، اما این امر به معنی معتبر بودنش برای پروتکل بیت کوین نیست. در زمان پیدایش بیت کوین، کدی در پروتکل آن زده شد و اعلام داشت که تنها پس از دریافت ۱۰۰ تأییدیه است که خلق کوین های جدید معتبر خوانده می شود. در واقع بیشتر بسترهای معدن کاوی بیت کوین تا زمان دریافت ۱۲۰ تأییدیه ی شبکه پاداش بلوک به معدن کاوان را تأیید نخواهند کرد.
دو بار خرج کردن
شبکه ی بیت کوین به خودی خود بسیار امن است، اما همیشه ریسک دو بار خرج کردن وجود دارد. منظور از این اصطلاح آن است که صاحب بیت کوین می تواند پولش را دو بار در دو جای مختلف خرج کند. برای جلوگیری از این ریسک، شبکه ی بیت کوین، اعتبار تک تک تراکنش ها را از طریق تأییدیه ها بررسی می کند.
به طور کلی بیشترین احتمال دو بار خرج کردن زمانی رخ می دهد که تاجران یا فروشندگان با مشاهده ی تراکنشی در شبکه سریعا واکنش نشان می دهند و معامله را قطعی می نمایند. این تراکنش های تایید نشده که به آنها تراکنش های صفر تاییدیه می گویند، ریسک بالایی دارند. در نتیجه تمامی کاربران بیت کوین بهتر است که حداقل به منظور دریافت شش تاییدیه قبل از تلاش برای جابه جایی وجوہ خود منتظر بمانند. هرچه تاییدیه های تراکنش بیشتر باشد، جنبه ی قانونی بودنش بیشتر و ریسک دو بار خرج کردن آن کمتر خواهد بود.
فرصت دو بار خرج کردن بیت کوین بسیار کم است. هیچ سیستمی وجود ندارد که از نظر امنیتی کامل باشد، اما پروتکل بیت کوین فناوری مجزایی است که تمام تلاش خود را برای ایمنی حداکثری به کار می گیرد. در واقع پنج نوع حمله ی مرتبط با خرج کردن دوباره وجود دارد که در ادامه به آن ها می پردازیم.
- حمله ی رقیب / ریس
تاجران و بازرگانانی که سریعا تراکنش های تایید نشده / صفر را می پذیرند، در معرض ریسک دو بار خرج کردن قرار دارند و باید در نظر داشته باشند که احتمال دارد کلاهبردار موفق شده باشد به تراکنش آنها متصل شده باشد و علاوه بر خرج کوین در تراکنش کنونی، در جای دیگر نیز در زنجیره ی بلوکی آن را خرج نماید.
- حمله ی فینی
حمله ی فینی کلاهبرداری دو بار خرج کردن است که نیازمند مشارکت معدن کاوان پس از معدن کاوی یک بلوک است. ریسک این حمله را نمی توان کاهش داد، اما مشارکت معدن کاو لازمه ی آن است و یک سلسله رویدادها باید رخ دهد. پس این حمله نه اهمیت دارد و نه ارزان است و تنها زمانی انجام دادن آن منطقی به نظر می رسد که مهاجم بخواهد منفعت قابل توجهی از این حمله کسب نماید.
- حمله ی وکتور ۷۶
به این حمله، حمله ی یک تأییدیه نیز می گویند. این حمله ترکیبی از حمله ی رقیب و فینی است؛ به نحوی که تراکنش دارای یک تأیید است، اما می تواند کلاهبرداری از نوع خرج کردن دوباره باشد. همان اقدامات محافظتی برای حمله ی رقیب ریسک این حمله را نیز کاهش می دهد.
- حمله ی بروت فورس
اگر به مباحث هک علاقه مند باشید حتما حملات بروت فورس (که بعضی ها به آن بروث فورس هم می گویند) برایتان آشناست. بروت فورس (Brute Force) نوعی از حملات کرکینگ است که هکر در آن از ابزاری استفاده می کند تا با بررسی همه ی احتمالات موجود، موفق به یافتن مقدار پیش از رمز گذاری شدن یا مقادیر حساسی مانند رمز عبور یک سایت شود.
بروت فورس در شبکه ی بیت کوین بدین گونه است که مهاجم در شبکه تراکنشی را ثبت می کند که به تاجر مبلغ بیت کوینی را می پردازد، در حالی که به صورت محرمانه به معدن کاوی یک انشعاب زنجیره ی بلوکی که در آن دو بار خرج کردن یک تراکنش امکان پذیر است، می پردازد. بعد از انتظار برای n تعداد تأییدیه، بازرگان محصول را ارسال می کند. اگر مهاجم در این نقطه بیش از n بلوک را بیابد، انشعاب خود را رو می کند و مجددا کوین هایش را به دست می آورد، در غیر این صورت می تواند به تلاش خود برای گسترش انشعابش ادامه دهد تا بتواند بر شبکه تأثیر بگذارد و کلاهبرداری خود را عملی نماید.
- حمله ی بیش از ۵۰ درصد
به این حمله، حمله ی ۵۱ درصد نیز می گویند. اگر مهاجم پیش از نیمی از هش ریت (Hashrate) شبکه را کنترل کند، دو بار خرج کردن بیت کوین ۱۰۰ درصد احتمال موفقیت خواهد داشت. از آن جا که مهاجم می تواند بلوک ها را سریع تر از سایر معدن کاوان شبکه ایجاد کند، احتمال نفوذش در شبکه افزایش می یابد.
تأییدیه های صفر
در دنیای بیت کوین گرایشی وجود دارد که در آن فروشندگان منتظر شش تاییدیه ی کامل برای تکمیل پرداخت بیت کوین نمی مانند. عدم انتظار برای حداقل میزان تأییدیه ی تراکنش امکان قربانی شدن فروشنده را در مقابل حملات افزایش می دهد. معمولا تا زمانی که شبکه ی بیت کوین در تراکنش هیچ تأییدیه ای را نشان ندهد، پرداخت با ریسک کامل مواجه است.
البته فروشندگان و پردازندگان پرداخت گزینه ی بررسی میزان تاییدیه ی لازم برای ارزیابی تراکنشهای بیت کوین را در اختیار دارند. در حالی که بیشتر خدمات تعداد تأییدیه را سه تا شش معرفی کرده اند، خدمات دیگری نیز وجود دارند که پس از انتشار تراکنش در شبکه اقدام می نمایند. نه تنها امکان تکمیل خرید سریع تر در وب سایت فراهم می شود، بلکه سریع تر می توان سفارش را تحویل داد.
بیشتر فروشندگانی که تراکنش را بر اساس تاییدیه های صفر انجام می دهند، محصولات ارزان یا دیجیتال را به فروش می رسانند. برای مثال، بیشتر کافه ها و رستوران ها تراکنش با تاییدیه های صفر را کامل می دانند، زیرا آنها از پردازنده های پرداختی برخوردارند که در مقابل کلاهبرداری دو بار خرج کردن محافظت شده اند. پردازنده های پرداخت مانند بیت پی (Bitpay)، بیت کاساو (Bitkassa) و کوین بیس (Coinbase) همگی راهکارهای حفاظتی را در مقابل حملات دو بار خرج کردن به فروشندگان می دهند، حتی وقتی که تأیید پرداخت ها برای تعداد تأییدیه ها صفر تنظیم شده باشد.
تراکنشهای بیت کوین دارای تاییدیه ی صفر روشی عالی برای شرکتها و افراد است تا پرداخت های بیت کوینی خود را سریع تر و امن تر انجام دهند. با این حال تا زمانی که دریافت کننده از یک تکمیل کننده ی پرداخت برای جلوگیری از آسیب های مالی استفاده می کند، دلیلی برای دریافت تعداد تأییدیه های شبکه بیشتر از صفر وجود نخواهد داشت.
منبع: کتاب نحوه خرید و کسب درآمد بیت کوین (سکه طلای دیجیتال) نوشته دکتر جواد عباسی
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.