ساده ترین نوع تراکنش، حالتی است که یک فرد مقداری بیت کوین دارد و بخشی از آن را به آدرس دیگری انتقال میدهد. در این حالت، یک ورودی و دو خروجی دارد که یکی از آن خروجی ها آدرس فرد انتقال دهنده است تا مبلغ باقی مانده (change) به حساب او باز گردانده شود.
حالت دوم وقتی است که چندین ورودی داریم؛ این حالت مشابه زمانی است که تعدادی اسکناس با ارزش کمتر را جمع میکنیم تا یک اسکناس با ارزش بیشتر به دست آوریم. بعضی از کیف پول های دیجیتال، برای یکپارچه سازی دارایی های موجود در کیف، با تجمیع مقادیر اندک از چندین ارز دیجیتال، آن ها را به یک حجم بزرگتر از یک ارز تبدیل میکنند.
حالت سوم تقریبا عکس حالت قبل است که یک ورودی و چنین خروجی داریم؛ مانند زمان پرداخت حقوق کارکنان از حساب شرکت.
معمولا اپلیکیشن های کیف پول دیجیتال (wallet) به صورت مداوم آماری از خروجی های خرج نشده تراکنش های انجام شده روی بلاکچین را دارند و به همین علت هنگامی که کاربر قصد انجام تراکنش جدیدی را دارد، میتوانند این خروجی ها را تجیمع کرده و به عنوان ورودی تراکنش جدید قرار بدهند. اگر یک اپلیکیشن آماری از تمام خروجی های مصرف نشده نداشته باشد (مثلا full node client نباشد)، میتواند از API های فراهم شده در سرویس های مختلف استفاده کند که آنها با کوئری زدن روی زنجیره بلاکچین، مشخص کنند که این آدرس مورد نظر چه تعداد خروجی تراکنش دارد که هنوز خرج نشده اند.
ایجاد خروجی ها یکی تراکنش بدین نحو انجام میشود که در قابل یک اسکریپت (script)، این خروجی ها ساخته میشوند که تنها برای کسی قابل آزاد شدن و استفاده شدن است که امضای (signature) متناظر با آدرس عمومی مقصد این تراکنش را داشته باشد و چون تنها صاحب آدرس مقصد این تراکنش دارای چنین امضایی است، فقط او میتواند این مبلغ را آزاد کرده و خرج کند.
هر تراکنش بعد از ایجاد شدن، برای نهایی شدن نیاز به تایید شبکه بیت کوین دارد. به طور کلی هر سیستمی اعم از سرور یا یک اپلیکیشن کیف پول دیجیتال که در شبکه بیت کوین حضور دارد و به وسیله پروتکل بیت کوین با بقیه اجزای شبکه ارتباط برقرار میکند، یک نود بیت کوین (bitcoin node) نامیده میشود.
حال هر کدام از node های موجود در شبکه به تعداد node دیگری متصل است (که میتواند از طریق WiFi، سیم یا هر چیز دیگری باشد). هر node به محض دریافت یک تراکنش، آن را به node هایی که به آنها متصل است ارسال میکند؛ به کمک این شیوه که flooding نام دارد، در زمان چند ثانیه در شبکه نظیر به نظیر (peer-to-peer) بیت کوین منتشر (propagate) میشود و درصد بالایی از node های حاضر، از آن خبردار میشوند. از جمله این node ها، همان مقصد تراکنش است. بدین معنا که خود node مقصد پس از مطلع شدن از این تراکنش، در ابتدا با بررسی امضای روی تراکنش متوجه میشود که این به مقصد خود اوست؛ سپس میتواند درصورت عدم وجود مشکل در اطلاعات تراکنش، آن را تایید کند تا در یک بلوک قرار گرفته و به بلاکچین افزوده شود.
برای نهایی شدن یک تراکنش، به اضافه شدن آن در یک بلوک و سپس افزوده شدن آن بلوک به زنجیره اصلی بلاکچین نیاز است که این پروسه را ماینینگ می نامیم. به طور کلی این روند دو مزیت اصلی دارد؛
پروسه ی ماینینگ با مصرف برق جهت حل یک مسئله ریاضی انجام میشود. یک ماینر (miner) در صورتی که بتواند تمام تراکنشهای یک بلوک را با موفقیت صحت سنجی (validate) کند، علاوه بر transaction fee، یک میزان جایزه (reward) در قالب بیت کوین دریافت میکند.
به طور کلی مسئله ریاضی رمزنگاری موجود در شبکه بیت کوین، مشابه یک جدول سودوکو می باشد که در عین سخت بودن حل آن، به آسانی میتوان اعتبار آن را تایید (verify) کرد و همینطور اینکه میزان سختی آن قابل تغییر است. (همان طور که در یک جدول سودوکو با افزایش یا کاهش تعداد ستون ها و ردیف ها میتوان در شدت سختی حل آن تغییر ایجاد نمود.)
حل مسئله در واقع یافتن یک عدد است که از هش کردن (hashing) هدر بلوک مدنظر و یک عدد رندوم به کمک الگوریتم رمزنگاری SHA256 به دست می آید که باید شرایط مشخصی را داشته باشد؛ یافتن چنین عددی نیاز به میلیاردها میلیارد عملیات hashing در ثانیه دارد تا در رقابت بین ماینر های سراسر جهان، هر که زودتر به این عدد رسید بتواند به جایزه دست یافته و بلوک را به زنجیره بلاکچین اضافه کند. این مکانیزم اجماع را Proof-of-Work (PoW) می نامند. برای هر مرتبه این عملیات یافتن پاسخ حدود ۱۰ دقیقه زمان میبرد و با ایجاد نوعی تعادل بین توان محاسباتی موجود در شبکه بیت کوین و سختی مسئله، به صورت مداوم این زمان تقریبا ثابت میماند. به همین علت، هم اکنون با توجه به توان عظیم محاسباتی موجود در شبکه بیت کوین، نیاز به زیرساخت سخت افزاری قوی برای انجام ماینینگ می باشد که از نظر اقتصادی بتوان آن را به صرفه دانست.