روش های کسب درآمد از ارز دیجیتال
1 – خریداری ارز دیجیتال در یک سرمایه گذاری طولانی مدت : نیاز به دانش و تخصص زیادی نداشته می توان از تجربه یک مشاور در این عرصه بهره جست. صبر در این روش درآمدزایی حرف نخست را خواهد زد.
2 – استخراج ارزهای دیجیتال (Mining) : در این روش سیستم پردازش گر سخت افزارِ دستگاه / کامپیوتر خود را در اختیار یک شبکه نظیر بیت کوین قرار می دهید و در قبال میزان مشارکت ، بیت کوین / ارز دیجیتال به عنوان جایزه دریافت می کنید ؛ در این خصوص در ادامه بیشتر صحبت خواهیم کرد.
3 – معامله گری (Trading) : دقیقا همانند هر بازار مالی ، ارزی خریداری کرده در زمان مناسب (پس از انجام تحلیل تکنیکال / بنیادی و محاسبات لازم) آن را خواهید فروخت.
4- عرضه خدمات جانبی نظیر صرافی ها ، تامین / نصب و راه اندازی دستگاه های استخراج (farms)
جهت اشنایی با بیت کوین و عملکرد ماینرها و مفهوم استخراج بیت کوین ، باید با زنجیره بلاک چین بیشتر آشنا شد ؛ از نظر ساختاری بلوک چین از تعدادی بلاک که به صورت زنجیره ای پشت سر هم قرار گرفته اند تشکیل می شود. هر بلاک واجد اطلاعات کلیه بلاک های قبلی خود می باشد. بیت کوین یکی از اولین محصولات بلوک چین بود که عرضه شد. جهت درک بهتر مفهوم گسترده بلوک چین از بهترین نمونه آن یعنی بیت کوین استفاده می کنیم . همان طور که قبلا هم گفته شده شبکه بیت کوین یک شبکه مبادلات همتا به همتا (P2P) یعنی بدون واسطه ( به طوریکه همه افراد حاضر در شبکه / نود ها می توانند فعالیت مشابهی انجام دهند ) و بدون وجه نقد ( cashless ) است.
هدف از ایجاد این سیستم ، خروج قدرت از اختیار سیستم های متمرکز است . شفافیت جزو اصلی فعالیت شبکه بیت کوین می باشد حال آنکه در سیستم بانکی ، میزان تراکنش ها ، میزان دارایی بانک ، چگونگی استفاده بانک از سرمایه شما ، هزاران اطلاعات ریز و درشت دیگر محرمانه بوده ، کارمزدها ، تفاوت سود سپرده ها و وام ها ، عدم انجام فعالیت در روزهای تعطیل یا مناسبت های خاص و … از جمله نقاط ضعف سیستم مذکور می باشند.
امروزه سیستم های آنلاین جایگزین کارگزارهای سنتی شده اند به طوریکه موارد مشابه چون اسنپ / تپسی جایگزین مناسبی برای آژانس ها / تاکسی تلفنی ها و خدمات دریافت بلیط آنلاین کم کم جایگزین دفاتر هواپیمایی ها شده اند . کسب و کارهای واسطه ای رو به زوالند و سیستم های ارتباطی مستقیم جایگزین مناسبی برای این پیشه های سنتی خواهند بود. ( کافیست میزان موفقیت فروشگاه های انلاین را با فروشگاه های دستی مقایسه کنید )
شبکه بیت کوین یک شبکه غیر متمرکز عمومی ( هر کسی با هر ویژگی و ملیتی می تواند در این شبکه به فعالیت بپردازد ) مبتنی بر ساختارِ دادهِ توزیع شده است ( داده های موجود در یک بستر عمومی و مشترک برای هر یک از کاربران / نود ها به صورت یکسانی قابل دسترسی است و کلیه افراد به همه تراکنش ها ، اطلاعات قدیمی ثبت شده در بلوک ها و .. دسترسی دارند ).نظارت گسترده و ازاد موجود در ذات سیستم بلوک چین سبب شفافیت خدمات محصولاتی چون بیت کوین می گردد.
نود ها چه کسانی هستند ؟ نود ها / گره ها افرادی هستد که وظیفه ثبت ، نظارت و تایید تراکنش ها را در شبکه بیت کوین بر عهده دارند. به طور کلی، به هر مشارکت کننده در شبکه یک کوین نود گفته می شود. نود انواع متفاوتی دارد اما هر کدام از آنها دارای ویژگی یکسانی هستند؛ برای میزبانی کردن یک نود و یا اتصال ساده به آن، سخت افزار خاصی مورد نیاز است.
از آنجا که همه این موارد برای امنیت و بی عیبی شبکه حیاتی هستند، عضو شدن در یک جامعه ارز دیجیتال معین، نه تنها مهیج بلکه دارای مسئولیت نیز می باشد.
به عنوان مثال در بیت کوین دو نوع نود وجود دارد. نود کامل (full node) که کپی بلاک چین را ذخیره می کند و امنیت و صحت داده ها را بر روی بلاک چین با اعتبارسنجی داده ها تضمین می کند. نوع دوم نود سبک (lightweight node) می باشد که به هر کاربر مشارکت کننده گفته می شود. این کاربران به منظور همزمان شدن با وضعیت فعلی شبکه باید به یک نود کامل متصل شوند تا قادر به مشارکت باشند.
https://mihanblockchain.com/what-is-a-node-in-a-blockchain-network/
در سایت bitnodes.earn.com می توان پراکندگی نودهای مختلف (بیت کوین) را در نقاط مختلف جهان مشاهده کرد.
در این لحظه 9495 نود وجود دارد که بیش از 25 درصد آنها در آمریکا هستند. با دانلود bitcoincore و رعایت شرایط آن شما هم می توانید به یک نود تبدیل شوید.
منظور از بلوک چیست ؟ هر بلوک مجموعه ای از تراکنش هاست که توسط یک نود ثبت و بررسی شده متعاقب حل یک معمای هش / هش پازل بلاک تکمیل شده و به بلوک های فعلی اضافه می شود . هر بلوک ، کلیه اطلاعات بلوک های قبل را در خود دارد.
هر بلاک را میتوان به صفحه ای از دفترکل تشبیه کرد، به طوری که بلاک ها با یکدیگر تشکیل زنجیره میدهند تا دفترکل غیرمتمرکزی را دربرگیرند که شبکه بیت کوین را میسازند.
تراکنش های موجود در بلاک ها قبل از آنکه به عنوان بلاک جدید به بلاک چین بیت کوین اضافه شوند، توسط ماینرها تایید میشوند. اندازه بلاک باعث ایجاد محدودیت در تعداد تراکنش هایی میشود که میتوانند در هر بلاک تایید شوند. بدین ترتیب، بلاک های بزرگتر به توان محاسباتی بیشتری نیاز دارند و استخراج آنها نیز بیشتر طول خواهد کشید. بلاک هایی که شامل تعداد تراکنش های بیش از حجم خود میباشند توسط شبکه تایید نخواهد شد.
در روزهای اول پیدایش بیت کوین، اندازه بلاک ها برای ذخیره تراکنش ها محدودیت ۳۶ مگابایتی داشت. هرچند در تاریخ ۱۴ جولای ۲۰۱۰ به منظور مقابله با تهدیدات تراکنش های اسپم که منجر به کند شدن شبکه میشوند و هم چنین مقابله با حملات DDoS، اندازه بلاک ها به یک مگابایت کاهش یافت. در تاریخ ۲۲ ژوئن ۲۰۱۵، اندرسن پروپوزال بهبود بیت کوین ۱۰۱ BIP101)) را منتشر کرد که جایگزینی بلاک هایی با حداکثر حجم ثابت یک مگابایتی با بلاک هایی را پیشنهاد میکرد که حجم آنها با نرخ مشخصی به تدریج افزایش مییابد. پروپوزال بهبود بیت کوین ۱۰۱ عنوان میکرد که حداکثر اندازه بلاک ها تا تاریخ ۱۱ ژانویه ۲۰۱۶ به ۸ مگابایت افزایش یابد و تا ژانویه ۲۰۳۶، هر ۷۳۰ روز اندازه بلاک ها دوبرابر شود. محدودیت ۸ مگابایتی برای تسهیل پردازش ۲۴ تراکنش در ثانیه پیش بینی شده بود.
https://mihanblockchain.com/bitcoin-block-size-explained/
درشبکه بیت کوین به طور میانگین در هر ده دقیقه یک بلوک به مجموعه بلاک های قبلی افزوده می شود از این رو میزان بیت کوین های موجود ، محدود و 21 میلیون عدد ( بلوک ) خواهد بود ( تا این زمان حدود 18 میلیون از این بیت کوین ها استخراج شده اند؛ اخرین بیت کوین در سال 2140 استخراج خواهد شد )
از سال 2032 – 2030 به بعد به جای استخراج بیت کوین ، ساتوشی ( یک صد میلیونیوم بیت کوین ) استخراج خواهد شد.
ماینرها با حل هش پازل ها از شبکه جایزه دریافت خواهند کرد. در واقع وظیفه اصلی میانرها ، ثبت تراکنش ها در شبکه بلوک چین ( جهت اجتناب از تقلب ، ورود اسپم و .. ) می باشد.
یک «تابع هش» یا Hash Function (به فارسی به آن تابع درهمسازی گفته میشود)، تابعی است که مقدار ورودی را دریافت کرده و با استفاده از آن ورودی، مقدار خروجی قطعی (کاملا قطعی و حساس) مقدار ورودی را به دست میدهد. (توابع هش مختلفی چون MD5 یا SHA1 یا SHA256 “ Secure Hash Algorithms, also known as SHA” جهت رسیدن به این هدف وجود دارد / قطعا با قوی تر شدن قدرت پردازش کامپیوترهای دراختیار بشر، توابع پیچیده تری نیز شکل خواهند گرفت). هنگام اجرای تابع هش، برای یک ورودی x، همواره یک مقدار y مشابه دریافت میشود. بدین شکل، هر ورودی دارای یک خروجی قطعی است. یک تابع اساسا چیزی است که یک ورودی را دریافت کرده و بر اساس آن خروجی را به دست میدهد.
بنابراین، یک تابع هش چیزی است که ورودی را دریافت کرده (که میتواند هر نوع دادهای شامل عدد، فایل و دیگر موارد باشد) و یک هش را به عنوان خروجی میدهد. یک هش معمولا به صورت یک عدد «مبنای شانزده» یا Hexadecimal نمایش داده میشود.
تابع قابل مشاهده در تصویر بالا، تابع هش md5 است ( از توابع هش معروف در دنیا ) که از هر داده ورودی یک خروجی ۳۲ کاراکتری در مبنای ۱۶ میسازد. تابع هش معمولا برگشتناپذیر (یک طرفه) است بدین معنا که نمیتوان از روی خروجی به ورودی رسید و در واقع ورودی را فهمید (همانند چرخ گوشت که گوشت تازه را به گوشت چرخی تبدیل می کند ولی نمی توان مسیر برعکس را پیش گرفت ) مگر آنکه کاربر هر ورودی ممکنی را امتحان کند (به این کار حمله جست وجوی فراگیر یا brute-force attack گفته میشود). توابع هش معمولا برای مشخص کردن آنکه چیزی مشابه چیز دیگری است، بدون آشکارسازی اطلاعات پیشین، بر پایه چهار ویژگی قطعیت ، یک طرفه بودن ، تصادفی و بسیارسریع بودن ، مورد استفاده قرار میگیرند. در ادامه یک مثال برای این توضیح آورده شده است. «آلیس» به«باب» می گوید که پاسخ مساله ریاضی مطرح شده در کلاس را میداند. باب از آلیس میخواهد که این موضوع را بدون گفتن پاسخ نهایی مساله به او اثبات کند. بنابراین آلیس هش پاسخ خود را به باب میدهد (فرض میشود که پاسخ عدد ۴۲ است):
آلیس هش را به باب میدهد. بدین ترتیب باب با استفاده از هش نمیتواند بفهمد که پاسخ صحیح چیست اما هنگامی که خودش به پاسخ صحیح دست یافت میتواند پاسخ خود را هش کند و اگر نتیجه مشابهی دریافت کرد متوجه میشود که آلیس به او حقیقت را گفته و پاسخ مساله را به درستی به دست آورده است. هشها معمولا در زمینه «تایید اطلاعات» verifying information بدون آشکارسازی آنچه در حال تایید است مورد استفاده قرار میگیرند.
https://blog.faradars.org/hash-function/
انواع رمزنگاری ( هش کردن )
— هش کردن ساده ( مستقل ): با استفاده از ورود داده به تابع هش.
— هش مکرر: پس از ورود داده به تابع هش نتیجه ای به دست می آید حال دوباره نتیجه به تابع هش داده رمز جدید بدست می آوریم. ( هش کردن دیتای هش شده )
— هش ترکیبی: دو دیتا با هم ترکیب و از طریق تابع هش مورد هشینگ قرار می گیرد.
— هشینگ مستمر: فرض کنید تمایل به رمزنگاری دو دیتا دارید. نخست دیتای اول را از طریق تابع بلوک چین ، هش کرده نتیجه ای را بدست می آورید. نتیجه حاصله را بعد از ترکیب با دیتای دوم ، از طریق تابع هش ، رمزگذاری خواهید کرد.
— هشینگ سلسه مراتبی: نتیجه هشینگ دو دیتا را با هم ترکیب مجدداً از طریق تابع هش رمزگذاری می کنیم.
از فواید توابع هش ، راستی آزمایی دیتاها از لحاظ وجود دستکاری ها و تخلفات می باشد . فرض کنید شما یک متن طویل را رمزگذاری کرده اید. چنانچه فقط یک نقطه در این دیتا جابجا شود ، نتیجه هش گذاری چیزی متفاوت از هش دیتای اصلی خواهد بود. قطعاً یافتن اختلاف از طریق تابع هش جهت راستی سنجی اسناد و مدارک (خاصه در مدارک مفصل) می تواند کمک بزرگی در درستی آزمایی مدارک ( مقایسه بسیار سریع ) باشد.
توابع هش پرکاربرد
— خلاصه پیام Message Digest / MD)) ؛ الگوریتم 5MD تا چندین سال محبوب ترین و پر استفاده ترین تابع هش بود. خانواده MD شامل توابع هش 2MD، 4MD ، 5MD و 6MD می باشد که به تصویب استاندارد اینترنت 1321RFC رسیدند. این توابع هش از سری توابع با طول ۱۲۸ بیت می باشند. تابع 5MD به طور گسترده در نرم افزارها استفاده می شد تا یکپارچگی فایل منتقل شده را تضمین کند. برای مثال، سرورها معمولا یک عدد با نام checksum قبل از ارسال فایل محاسبه می کنند. کاربر فایل را از سرور دریافت کرده و checksum ها را مقایسه می کند، اگر مطابقت داشتند، صحت فایل تضمین شده است. در سال ۲۰۰۴، در 5MD نواقصی پیدا شد. این گزارش در مورد آنالیز یک حمله بود که توانست در مدت زمان یک ساعت از این نواقص استفاده کند. همین امر باعث شد که استفاده از این تابع هش توصیه نشود.
تابع هش ایمن (SHA) ؛ خانواده SHA شامل چهار الگوریتم می باشد که عبارتند از : SHA-3 , SHA-0 , SHA-1 , SHA-2. اگرچه این چهار الگوریتم از یکخانواده می باشند ، اما از نظر ساختاری متفاوت می باشند.
نسخه اصلی، SHA-0 می باشد که یک تابع هش ۱۶۰ بیت است و توسط موسسه ملی استانداردها و تکنولوژیNIST) ) در سال ۱۹۹۳ منتشر شد. این الگوریتم ضعف هایی داشت و نتوانست محبوبیت زیادی کسب کند. در سال ۱۹۹۵، SHA-1 برای اصلاح ضعف های SHA-0 طراحی شد.
الگوریتم SHA-1 پرکاربردترین تابع هش SHA می باشد. از این الگوریتم در برنامه ها و پروتکل های بسیار زیادی نظیر SSL مورد استفاده قرار گرفت. در سال ۲۰۰۵ ، روشی برای نشان دادن نواقص SHA-1 در دوره های زمان یافت شد و باعث شد استفاده بلند مدت از SHA با شک و ابهام رو به رو شود.
خانواده SHA-2 بر اساس تعداد بیت در مقدار هش آن ها به چهار عضو تقسیم می شود که عبارتند از عبارتند از : SHA-224, SHA-256 , SHA-384 , SHA-512 . تاکنون حمله موفقیت آمیزی به تابع هش 2SHA گزارش نشده است.
اگرچه SHA-2 یک تابع هش قوی است و تفاوت چشمگیری با SHA-1 دارد، با این حال طرح اصلی آن هم چنان مشابه SHA-1 می باشد. بنابراین NIST در صدد طراحی تابع هش رقابتی جدیدی برآمد.
در اکتبر ۲۰۱۲، NIST الگوریتم Keccak را به عنوان استاندارد SHA-3 انتخاب کرد. Keccak دارای مزایای بسیاری نظیر عملکرد موثر و مقاوم خوب در برابر حمله ها می باشد.
ریپمد (RIPEMD) ؛ ریپمد مخفف RACE Integrity Primitives Evaluation Message Digest می باشد. این مجموعه توابع هش توسط جامعه تحقیقاتی آزاد طراحی شده است و عموما به اسم خانواده توابع هش اروپایی شناخته می شود.
این مجموعه شامل RIPEMD، 128RIPMED- و 160RIPMED- می باشد. هم چنین نسخه های ۲۵۶ و ۳۲۰ بیت این الگوریتم نیز موجود می باشد.
ریپمد اصلی که ۱۲۸ بیت است بر اساس اصول 4MD می باشد و برای ارائه امنیت موارد مشکوک ایجاد شده است. ریپمد ۱۲۸ بیت به عنوان یک جایگزین برای از بین بردن آسیب پذیری های ریپمد اصلی منتشر شده است.
ریپمد- 160نسخه بهبود یافته و پر استفاده این خانواده می باشد. در نسخه های ۲۵۶ و ۳۲۰ بیت ، احتمال وجود اختلال کاهش یافته است اما در مقایسه با ریپمد- ۱۶۰ و ۱۲۸ بیت از سطح امنیت بالاتری برخوردار نمی باشد.
ویرلپول (Whirlpool) ؛ ویرلپول یه تابع هش ۵۱۲ بیت می باشد. این تابع از تغییر در نسخه استاندارد رمزنگاری پیشرفته AES) ) ایجاد شده است. یکی از طراحان این تابع وینسنت ریمن است که از موسسان AES می باشد. سه نسخه از ویرلپول منتشر شده است که عبارتند از: WHIRLPOOL 0, WHIRLPOOL-T, WHIRLPOOL
در سایت blockchain-basics.com می توان اطلاعات مختلفی از زنجیره بلاک چین به دست آورد.
یکی از بحث های جالب این سایت آشنایی با پروسه هشینگ است.
با وارد ساختن نام خود ، آنرا براساس معروف ترین توابع هشینگ موجود در سایت رمز گذاری کردم ؛
همانطور که می بینید شکستن (کراک کردن) رمز حاصل از تابع SH512 سخت تراز MD5 خواهد بود.نکته جالب آنکه صرف نظر از طول داده ( بیشتر یا کمتر ) طول رشته مجموعه حروف و اعداد بدست آمده به عنوان هش (در هر یک از توابع) یکسان خواهد بود.
کوچکترین تغیر در داده اولیه ( حتی تغییر حروف بزرگ به کوچک و بالعکس ) می تواند به نتیجه متفاوتی در رشته رمز نگاری شده بیانجامد . از همین ویژگی جهت راستی آزمایی داده ها و اسناد موجود استفاده می شود.
مرجع هش ( Hash reference )
نتیجه کلیه داده های رمزگذاری شده اصطلاحاً مرجع هش نامیده می شود. هر نوع تغییر در داده ها سبب تغییر مرجع هش خواهد شد لذا از این رفرانس جهت مقابله با دستکاری / تغییر داده ها استفاده شود.
برای استفاده از توابع هش ، دو الگوی کلاسیک وجود دارد :
الگوی زنجیره ای : زمانی استفاده می شود که داده ها در طول زمان رمزگذاری می شوند . اولین دیتا بعد از هشینگ ، Z1 را بوجود آورد . Z1 با دیتای دوم ترکیب شده بعد ازرمزگذاری Z2 را بوجود می آورند. این روند ادامه می یابد به طوریکه هر نوع تغییر ولو جزئی در دیتاها می تواند سبب تغییر کلی رفرانس هشِ بدست آمده شود.
الگوی درختی مرکل : فرض کنید Z1 و Z2 نتیجه رمزگذاری شدۀ دو دیتای اولیه متعاقب به کارگیری تابع هش باشند .از ترکیب Z1 و Z2 ، Z3 به دست خواهد آمد. داده های سوم و چهارم نیز متعاقب هشینگ ، Z4 و Z5 و از ترکیب آنها Z6 حاصل می گردد. در واقع در این درخت، هر معامله به صورت برگی وجود دارد که هر برگی به صورت اطلاعات هش یا کد شده در می آید. باید توجه داشت که هیچگاه تعداد برگ ها یا شاخه ها فرد نخواهند بود و همیشه به صورت زوج هستند تا سیستم بتواند ریشه Root) ) را به راحتی شناسایی کند.
پس با این روش، وقتی عمل رمزنگاری کامل می شود که به گره فرد یا همان ریشه برسد و آن گره نیز به صورت کد هش درآید. پس از اینکه اطلاعات هر برگ که شامل یک انتقال مالی یا داوستد است به صورت کد هش در آمد، آنگاه همراه با کد هش برگ مزدوج به گره بالا تر انتقال یافته، جمع شده و باز به صورت کد هش در می آید. این کار تا رسیدن کامل اطلاعات به ریشه ادامه می یابد تا اینکه اطلاعات جمع شده در ریشه نیز به صورت کد هش در آید.
اگر بنا به دلایلی احتیاج به بازیابی معامله ای یا انتقال پولی شد آنگاه سیستم دیگر احتیاج به بازیابی کل درخت را ندارد و فقط مسیری که به برگ مورد نظر برسد را احتیاج دارد و با استفاده از کلیدهای مربوطه ،اطلاعات مربوط به معامله یا انتقال داخل آن برگ رمزگشایی می گردد.
https://digitbourse.com/blockchain
در مثال بالا TA بیانگر یک تراکنش معمولی است که به طور مجزا هش شده. TD نیز از تابع هش عبور میکند تا مقدار هش HD متناظر با آن مشخص شود. در ادامه مقدار هش جدید با هش تابع همجوار ترکیب می شود و در صورت ترکیب این دو تابع، هش جدید متفاوتی تولید می شود. برای مثال، مقادیر هش HC و HD ترکیب و هش میشوند تا هش HCD تولید شود. در مثال فوق، ۸ تراکنش با مقادیر هش مختص به خود وجود دارد. هرچند اگر تعداد تراکنش ها فرد باشد، برای مثال ۷ تراکنش وجود داشته باشد، هش هفتم با خود جفت میشود تا مقدار هش جدید تولید شود و در این صورت، HH با HH ترکیب میشود تا HHH ایجاد شود. این فرآیند تا زمانی تکرار میشود که آخرین مقدار هش به دست آید. به این مقدار، ریشه مرکل میگویند. در مثال فوق، ریشه مرکل HABCDEFGH است. اندازه ریشه مرکل ۳۲ بایت است و در هدر بلاک قرار میگیرد که بیانگر خلاصه ای از اطلاعات تمام تراکنش ها است. یکی از مزایای ساماندهی کردن تراکنش ها در ساختار درخت مرکل این است که بسیار راحت و آسان می توان تایید کرد در هیچ کدام از تراکنش های داخل بلاک، مداخله ای صورت نگرفته باشد. برای مثال اگر تراکنش TH به تراکنش TXYZ تغییر کرده باشد، مقدار هش آن نیز متفاوت خواهد بود. بنابراین، هنگامی که هش به دست آمده با هش مجاور خود ترکیب شود، هش نهایی نیز متفاوت خواهد شد. این امر منجر به ریشه مرکل کاملا متفاوتی میشود، بنابراین میتوان نتیجه گرفت که هرگاه ریشه مرکل تغییر کند، در یک یا بیش از یک تراکنش مداخله و تغییر ایجاد شده است. از سوی دیگردرخت مرکل به کاربران امکان میدهد تا بدون دانلود کردن کل بلاک چین، بتوانند بررسی کنند یک تراکنش مشخص در بلاک حضور دارد یا خیر. اگرچه با استفاده از کلاینت های سبک تر نظیر پروتکل SPV، کاربران میتوانند بررسی کنند که تراکنش مورد نظرشان در بلاک چین حضور دارد یا خیر. برای مثال اگر کاربر بخواهد بررسی کند که آیا تراکنش HD در بلاک حضور دارد، به جای دانلود کل بلاک چین و بررسی آن، تنها چیزی که وی نیاز دارد ریشه مرکل، HAHEFGH، HAB و HC می باشد. اگرچه هم چنان برای تایید حضور تراکنش در بلاک به اطلاعات مربوطه نیاز است، اما به طور چشمگیری بهتر از دانلود کل بلاک چین است.
توضیحاتی پیرامون درخت مرکل (Merkle Tree) و ریشه مرکل (Merkle Root)
هش پازل چیست ؟ فرض کنید موبایل شما واجد رمزی 6 رقمی است. انتخاب تصادفی اعداد به جای هر 6 رقم این رمز می تواند شما را به آن گذرواژه برساند. هش پازل چیزی مشابه رمز نامبرده است که توسط ماینرها حل خواهد شد. هر چه تعداد کارکترهای رمز ما افزایش یابد ، درجه سختی (difficulty) بیشتر خواهد شد.
برای درک بهتر این موضوع باید نخست با اجزای هر بلوک اشنا شوید ؛ در شبکه بیت کوین هر بلاک دارای دوبخش اصلی است؛ بدنه بلاک که شامل تعدادی تراکنش است و هدر بلاک Block Header)) یا سربرگ که شامل یک سری اطلاعات خلاصه در خصوص آن بلاک است. اطلاعاتی که در هدر بلاک وجود دارند عبارتند از:
— ورژن : این عدد ورژن بلاک یا نسخهای از قوانینی است که این بلاک بر اساس آن قابل تایید میباشد
— هش هدر بلاک قبلی : بلاک قبل از این بلاک در بلاکچین هم دارای یک هدر مخصوص به خود است که هش آن در هدر بلاک بعدی ثبت میشود
— هش ریشه مرکل Merkle Root Hash) ) تراکنشها: به صورت خلاصه وساده میشود هش مجموع تراکنشهای موجود در این بلاک
— زمان : این عدد نشاندهنده دقیق زمانی است که در آن ماینر شروع به پیدا کردن هش بلاک کرده است
— nBits : نشان دهنده تارگت یا هدفی است که توسط شبکه مشخص شده و در صورتی که هشی که ماینر برای این بلاک پیدا میکند از این عدد کوچکتر باشد، بلاک استخراج شده تلقی میشود و ماینر به پاداشش میرسد.
نانس nonce)) : یک عدد دلخواه است که توسط ماینر مدام عوض می شود و با عوض شدن آن هش هدر بلاک هم تغییر میکند تا زمانی که این هش از Target یا هدف تعیین شده توسط شبکه مقدار کوچکتری داشته باشد و بلاک به اصطلاح استخراج شود.
از بین این ۶ ایتم / عددی که در هدر هر بلاک وجود دارد و در بالا هم به آنها اشاره شد، ۵ مورد مربوط به اطلاعات بلاک و شبکه بلاکچین هستند و ماینر قادر به تغییر آنها نیست و تنها چیزی که ماینر قادر به تغییر آن است همین عدد نانس است. در واقع نانس یک عددی است که تنها کاربردی که دارد آن است که ماینر با تغییر آن، قادر به تغییر اطلاعات هدر بلاک است (چون نانس یکی از اطلاعات موجود در هدر بلاک است) و بدین ترتیب با تغییر هدر بلاک، هش آن هم کاملا تغییر خواهد کرد. ماینرها با استفاده از کامپیوترهای خود، با سعی و خطا آنقدر این عدد را تغییر میدهند تا هش هدر بلاک از تارگت تعیین شده توسط شبکه بیت کوین کوچکتر باشد. اولین ماینری که موفق به پیدا کردن عدد نانس با شرایط گفته شده شود، برندهی پاداش استخراج بلاک جدید می شود و بلاکی که آن ماینر موفق به استخراج آن شده است به زنجیره بلاکها یا بلاکچین اضافه میگردد. در فرایند استخراج هر ماینر ابتدا تعدادی از تراکنشهای تایید نشده موجود در شبکه (این تراکنشها در فضای MemPool قرار دارند) را برای خود انتخاب میکند (معمولا تراکنشهایی را انتخاب میکنند که کارمزد بیشتری دارند) و آنها را در قالب یک بلاک طبق بندی میکند، یعنی بدنه بلاک پیشنهادی این ماینر، از همین تراکنشهای انتخابی او تشکیل شده است و اما هدر یا سربرگ این بلاک.
در قسمت سربرگ، ورژن یک عدد است که به واسطه آن ماینر به شبکه اعلام میکند که تابع کدام نسخه از قوانین شبکه است. هش هدر بلاک قبلی هم که بر اساس آخرین بلاک موجود در بلاکچین تعیین میشود. هش ریشه مرکل هم که در واقع هش تمام تراکنش های موجود در این بلاک پیشنهادی است و براساس تراکنشهای انتخاب شده تعیین میشود. زمان هم که مشخص است و nBits هم که به نوعی نشان دهنده تارگت است و توسط شبکه بیت کوین تعیین شده و معیاری برای سخت و آسان کردن رقابت (سختی شبکه) است. هرچه تارگت کوچکتر باشد شرایط سخت تر می شود.
بعد از آنکه تمام این اطلاعات مشخص شد تنها چیزی که باقی میماند عدد نانس است که ماینر باید آن را خودش پیدا کند. ماینر ابتدا یک عدد رندم را به جای نانس قرار میدهد، اما فرض کنید مثلا ابتدا عدد ۱ را به عنوان نانس قرار میدهد. حال تمام اطلاعات هدر مشخص شده و می توان هش آن را محاسبه کرد. اگر این هش مقدارش از عدد تارگت تعیین شده توسط شبکه کوچکتر باشد که ماینر موفق به استخراج بلاک پیشنهادی خودش شده و میتواند بلاکش را به زنجیره بلاکچین اضافه کند و برنده ۱۲.۵ بیت کوین شود. اما احتمال اینکه ماینر در اولین حدس خود برای عدد نانس موفق شود نزدیک به صفر است واحتمالا آن عدد نانس منجر به پیدا شدن هش هدری بزرگتر از تارگت میشود که قابل قبول شبکه نیست. در گام بعدی ماینر حدس خود برای نانس را عوض میکند به فرض عدد ۲ را قرار میدهد و هش بلاک را محاسبه میکند و میبیند که هش هدر از تارگت کوچکتر میشود یا خیر و مجدد در صورت بزرگتر بودن هش، باز هم حدس خود برای عدد نانس را تغییر میدهد و با سعی و خطا این کار را ادامه میدهد. حال در آخر بعد از کلی حدس یا موفق میشود که بلاک خود را به عنوان اولین نفر استخراج کند یا یکنفر دیگر در جایی دیگر از دنیا زودتر از او موفق میشود بلاک پیشنهادیش را استخراج کند، در این صورت ماینر از ادامه دادن به حدس زدن ناننس برای بلاک خودش دست میکشد، چون حالا دیگر آخرین بلاک موجود در بلاکچین (بلاک قبلی) و هش آن تغییر کرده و ماینر باید این اطلاعات را هم به روز رسانی کند و دوباره مشغول به حدس زدن عدد نانس شود. حتما شنیدهاید که میگویند مثلا فلان دستگاه ماینر، ۱۴ ترا هش بر ثانیه (Th/s) قدرت دارد. جالب است بدانید که این عدد یعنی آن دستگاه قادر است در هر ثانیه ۱۴ تریلیون حدس مختلف برای عدد نانس بزند، یعنی این دستگاه میتواند در یک ثانیه، کل فرآیند توضیح داده شده را ۱۴ تریلیون بار تکرار نماید! با این توان خارقالعاده در حدس زدن پیاپی، اگر یک چنین دستگاهی بخواهد در حال حاضر (با فرض هش ریت کلی ۷۰ میلیون تراهش بر ثانیه) ، به تنهایی در این رقابت جهانی شرکت کند، شانسش برای برنده شدن، در هر ده دقیقه که یک بلاک جدید به شبکه اضافه میشود، تقریبا یک در ۵ میلیون است! یعنی شاید سالها طول بکشد که این دستگاه بتواند به تنهایی موفق به استخراج یک بلاک جدید شود.
https://mihanblockchain.com/what-is-nonce/
برای درک بهتر در دنیای واقعی یک کانتینر را در نظر بگیرید که تعدادی جعبه را از نقطه A به نقطه B می برد. حال در دنیای ارزهای رمزنگاری کانتینر همان بلاک است و هر جعبه به عنوان یک تراکنش در نظر گرفته می شود. یعنی: کانتینر= بلاک / جعبه ها = تراکنش ها ( “کانتینر چند جعبه حمل می کند= بلاک چین حامل تعدادی تراکنش است.” ).
در مثال کانتینر در دنیای واقعی، همانطور که مشخص است کانتینر می تواند تنها تعداد محدودی جعبه را حمل کند. در فضای رمزنگاری نیز تنها تعداد محدودی تراکنش در یک بلاک جای می گیرد که با عنوان حداکثر اندازه بلاک مشخص می شود.(بر حسب مگابایت). در بلاک چین بیت کوین، هر بلاک قادر به نگهداری 1 مگابایت اطلاعات است. این مقدار برای بیت کوین کش 8 مگابایت خواهد بود. هر چه اندازه وظرفیت بلاک بیشتر باشد، تراکنش های بیشتری را می تواند در خود جای دهد.تصور کنید که کانتینر به مقصد اول خود رسیده است. در دنیای رمزنگاری این بدان معنی است که بلاک تایید شده و حالا در دفتر حساب عمومی برای همه قابل مشاهده است. برای این که یک بلاک از تراکنش ها در شبکه بیت کوین تایید(کانفرم) شود، 10 دقیقه طول می کشد. حال کانتینر آماده است که محل را برای رفتن به مقصد بعدی خود ترک کند. هر جعبه (تراکنش) قدیم یا جدید که در کانتینر(بلاک) حمل می شود، بر روی بلاک چین عمومی قابل دسترس خواهد بود. این روند برای هر تراکنش یکسان است. به محض تایید اطلاعات، تراکنش برای همه قابل مشاهده است. این دلیل “زنجیره ای” بودن تراکنش ها است. هنگامی که بلاک چین و جامعه داوطلبان آن بتوانند معمای الگوریتمی را حل کنند، طبق قوانین رمزنگاری، تراکنش معتبر و صحیح است. با این حال بلاک چین های مختلف از روش های متفاوتی برای حل مسئله یا معما استفاده می کنند که به عنوان “مکانیسم اجماع یا مورد توافق” شناخته می شود. همانطور که قبلا گفته شد ، بلاک چین بیت کوین از مکانیسم اجماعی به نام اثبات کارPOW)) استفاده می کند. مسئله یا معمای مطرح شده بسیار دشوار است به نحوی که هیچ انسانی به تنهایی نمی تواند آن را حل کند به همین دلیل نیاز است تا از قدرت های محاسباتی بالا استفاده شود. هر رایانه ای که به شبکه متصل است (که گره یا نود نامیده می شود) تلاش می کند تا معما را با سرعت بیشتری حل کند. هر کسی که سریعتر معما را حل کند، بیت کوین جدید را پاداش می گیرد اما این پاداش رایگان نیست زیرا کاربر برای استفاده از قدرت محاسباتی خود، هزینه زیادی مانند هزینه برق پرداخت می کند. POW فقط یک نمونه از چگونگی رسیدن به اجماع یا توافق است. مثال های بسیار دیگری از این نوع توافق نیز وجود دارند که به بعضی از آنها در زیر اشاره می شود:
PoS — (اثبات سهام)
DPoS — (اثبات سهام رای گیری شده)
PBFT — (تحمل خطای بیزانس به صورت عملی)
DAG — (گراف جهت دار غیر مدور)
دیدگاهتان را بنویسید