SHA256-এ কয়েন। বিটকয়েন এনক্রিপশন অ্যালগরিদম কি? বিটকয়েন হ্যাশিং অ্যালগরিদমের দুর্বলতা এবং শক্তি

SHA 256 হ্যাশিং ফাংশনটি বিশ্বের প্রথম ক্রিপ্টোকারেন্সির ভিত্তি তৈরি করেছে - বিটকয়েন এবং অনেকগুলি অল্টকয়েন। আপনি কি জানেন যে এটি ক্রিপ্টোকারেন্সির আবির্ভাবের অনেক আগে তৈরি করা হয়েছিল এবং সম্পূর্ণ ভিন্ন উদ্দেশ্যে তৈরি করা হয়েছিল? আজ আমরা অ্যালগরিদমের ইতিহাস, এর পরিচালনার নীতি, বর্তমান সমস্যা এবং কোন ক্রিপ্টোকারেন্সি SHA256 ব্যবহার করে তা দেখব।

গল্প

অ্যালগরিদমের নাম SHA 256 সিকিউর হ্যাশিং অ্যালগরিদমের সংক্ষিপ্ত রূপ। ডেভেলপার এটিকে বলেছে - মার্কিন জাতীয় নিরাপত্তা সংস্থা। অ্যালগরিদম একটি হ্যাশিং ফাংশন। এর মানে হল যে এর ইনপুট হল নির্বিচারে দৈর্ঘ্যের ডেটার একটি ভলিউম, এবং আউটপুট হল একটি নির্দিষ্ট দৈর্ঘ্যের অক্ষরগুলির একটি সেট, যাকে হ্যাশ বলা হয়।

হ্যাশ হ্যাশিং ফাংশনের মূল বৈশিষ্ট্যগুলির মধ্যে একটি হল অপরিবর্তনীয়তা। আমরা ফাংশনের মাধ্যমে আসল ডেটা পাস করে হ্যাশ পেতে পারি, তবে হ্যাশ জেনেও আমরা আসল ডেটা পেতে সক্ষম হব না। এই সম্পত্তির জন্য ধন্যবাদ, ফাংশনটি বিভিন্ন পরিষেবা এবং অ্যাপ্লিকেশনগুলিতে ব্যাপক হয়ে উঠেছে যেখানে ডেটা সুরক্ষা প্রয়োজন। ইন্টারনেটে সাইট দেখার সময় আমরা প্রতিদিন SHA 256 অ্যালগরিদম ব্যবহার করি। এটিতে একটি SSL নিরাপত্তা শংসাপত্র রয়েছে, যা সাইটে একটি সুরক্ষিত সংযোগ স্থাপনের জন্য প্রয়োজন৷


অ্যালগরিদমটি SHA-2 পরিবারের অংশ, SHA-1 এর ভিত্তিতে তৈরি করা হয়েছে, যা 1995 সালে আবির্ভূত হয়েছিল। এর সূচনা থেকে, sha256 ক্রিপ্টানালাইসিস ব্যবহার করে এর শক্তির জন্য ব্যাপকভাবে পরীক্ষা করা হয়েছে। Cryptanalysis দুটি প্রধান ধরনের আক্রমণের জন্য হ্যাশ ফাংশনের প্রতিরোধের পরীক্ষা করে:
  • সংঘর্ষের সন্ধান করা - বিভিন্ন ইনপুট পরামিতি সহ অভিন্ন হ্যাশ সনাক্ত করা। এই আক্রমণের সাফল্যের হার বর্তমান অ্যালগরিদম ব্যবহার করে ডিজিটাল স্বাক্ষরের নিরাপত্তার সাথে আপস করে।
  • একটি প্রিমেজ খোঁজা হল মূল বার্তাটিকে হ্যাশ ব্যবহার করে ডিক্রিপ্ট করার ক্ষমতা। এই আক্রমণটি প্রমাণীকরণ পাসওয়ার্ড হ্যাশ সংরক্ষণের নিরাপত্তার সাথে আপস করে।

বিশ্লেষণটি প্রথম 2003 সালে পরীক্ষা করা হয়েছিল, কিন্তু তখন কোন দুর্বলতা পাওয়া যায়নি। সময়ের সাথে সাথে কম্পিউটিং শক্তি বিকশিত হয়েছে। 2008 সালে, SHA-512 এবং SHA-256 পুনরাবৃত্তির জন্য সংঘর্ষ পাওয়া গেছে। একই বছরের সেপ্টেম্বরে, SHA256-এর 31টি পুনরাবৃত্তি এবং SHA-512-এর 27টি পুনরাবৃত্তির জন্য সংঘর্ষ তৈরির একটি পদ্ধতি তৈরি করা হয়েছিল।

স্পষ্টতই, একটি নতুন ক্রিপ্টো-প্রতিরোধী ফাংশন বিকাশ করার সময় এসেছে। 2012 সালে, NSA SHA-3 আবিষ্কার করেছিল। ধীরে ধীরে, আপডেট করা অ্যালগরিদম তার কম ক্রিপ্টো-প্রতিরোধী পূর্বসূরীদের স্থানচ্যুত করবে।

SHA 256-এ মাইনিং

মার্কিন আইন কিছু ফেডারেল অ-গোপন তথ্য সুরক্ষা অ্যাপ্লিকেশনগুলিতে অন্যান্য প্রোটোকল এবং অ্যালগরিদমের অংশ হিসাবে SHA এবং অনুরূপ হ্যাশ ফাংশন ব্যবহারের অনুমতি দেয়। SHA-2 ব্যক্তিগত এবং বাণিজ্যিক প্রতিষ্ঠান দ্বারা ব্যবহার করা যেতে পারে।

এটা কোন আশ্চর্যের বিষয় নয় যে এটি ক্রিপ্টোকারেন্সিতে ব্যবহার করা হয়েছিল। খনি শ্রমিকরা একটি ব্লকে সমস্ত লেনদেন সংগ্রহ করে এবং তারপরে এটি হ্যাশ করা শুরু করে। যখন সিস্টেমের নিয়মের সাথে মেলে এমন একটি হ্যাশ মান পাওয়া যায়, তখন ব্লকটিকে ব্লকচেইনের শেষে সংযুক্ত করার জন্য প্রস্তুত বলে মনে করা হয়। নতুন ব্লক এমন কেউ খুঁজে পাবে যে খুব দ্রুত হ্যাশ মান গণনা করতে পারে। গণনার গতি সরঞ্জামের শক্তির উপর নির্ভর করে। বিটকয়েন খনির জন্য তিন ধরনের সরঞ্জাম ব্যবহার করা যেতে পারে:

  • CPU (কেন্দ্রীয় প্রক্রিয়াকরণ ইউনিট);
  • GPU (ভিডিও কার্ড);
  • ASIC (অ্যাপ্লিকেশন স্পেসিফিক ডিভাইস)।

বিটকয়েন নেটওয়ার্ক এমনভাবে ডিজাইন করা হয়েছে যে প্রতিটি নতুন ব্লক অবশ্যই প্রতি 10 মিনিটে একবার পাওয়া যাবে। নেটওয়ার্ক অংশগ্রহণকারীদের সংখ্যা ক্রমাগত পরিবর্তিত হচ্ছে, কিন্তু সময় অবশ্যই স্থির থাকতে হবে। সমান বসবাসের সময় নিশ্চিত করতে, সিস্টেমটি খনির সংখ্যার উপর নির্ভর করে গণনাগত অসুবিধা সামঞ্জস্য করে। ক্রিপ্টোকারেন্সিগুলি সম্প্রতি জনপ্রিয়তা পেয়েছে, এবং খনি শ্রমিকের সংখ্যা ব্যাপকভাবে বৃদ্ধি পেয়েছে। ব্লকগুলি যাতে খুব দ্রুত খুঁজে পাওয়া না যায়, সেজন্য গণনার জটিলতাও বেড়ে যায়।


প্রসেসরগুলিতে বিটকয়েন খনন করা শুরু হয়েছিল। তারপরে, যখন তাদের শক্তি অপর্যাপ্ত হয়ে ওঠে, তখন তারা ভিডিও কার্ডে স্যুইচ করে। শীঘ্রই ভিডিও কার্ডগুলি আর মানিয়ে নিতে পারেনি। তারপরে ASIC আবিষ্কার করা হয়েছিল - sha 256 অ্যালগরিদম ব্যবহার করে গণনার জন্য ডিজাইন করা বিশেষ ডিভাইস। একটি ASIC বেশ কয়েকটি ভিডিও কার্ডের চেয়ে অনেক বেশি শক্তিশালী এবং শক্তি সাশ্রয়ী।

উদ্যোগী খনি শ্রমিকরা ASICs থেকে বিশাল খামার তৈরি করছে। সরঞ্জামের উচ্চ খরচ ছাড়াও, এই জাতীয় খামার প্রতি মাসে কয়েক হাজার ডলারের বিদ্যুৎ বিল পায়। এখন বিটকয়েন মাইনিং শুধুমাত্র এই ধরনের শিল্প খামারগুলিতেই বোধগম্য হয়; একটি হোম কম্পিউটার বা এমনকি বেশ কয়েকটি ভিডিও কার্ড সহ একটি খামার তাদের সাথে প্রতিদ্বন্দ্বিতা করতে সক্ষম হবে না, এমনকি বিদ্যুৎ পুনরুদ্ধার করতে পারবে না।

যাইহোক, এটি গণনা করা সহজ। sha256 এ খনির লাভের হিসাব করার জন্য ক্যালকুলেটর আছে। উদাহরণস্বরূপ, https://www.coinwarz.com/miningprofitability/sha-256। আপনার সরঞ্জামের হ্যাশরেট (কম্পিউটিং শক্তি), শক্তি খরচ এবং এর ব্যয় ফর্মটিতে লিখুন, পরিষেবাটি আপনার লাভ গণনা করবে।

Altcoins SHA-256

চলুন ক্রিপ্টোকারেন্সির তালিকা এবং তালিকা দেখি যা sha 256 এ কাজ করে।

বিটকয়েন ক্যাশ (BCH)

1 আগস্ট, 2017 এ এটি থেকে বিচ্ছিন্ন। ক্লাসিক বিটকয়েনে ব্লকের আকার হল 1 এমবি। নেটওয়ার্ক এতটাই বেড়েছে যে সমস্ত লেনদেন আর ব্লকের মধ্যে মাপসই করা যায় না। এর ফলে লেনদেনের সারি তৈরি হয় এবং অর্থপ্রদানের জন্য ফি বৃদ্ধি পায়। সম্প্রদায়টি একটি নতুন প্রোটোকল চালু করার সিদ্ধান্ত নিয়েছে, যার অনুসারে ব্লকটি 2 এমবি করা হয়েছিল, কিছু তথ্য ব্লকচেইনের বাইরে সংরক্ষণ করা শুরু হয়েছিল এবং জটিলতা পুনঃগণনা করার সময়সীমা দুই সপ্তাহ থেকে এক দিনে হ্রাস করা হয়েছিল।

Namecoin (NMC)

এটি বিটকয়েন প্রযুক্তির উপর ভিত্তি করে নাম-মানের সংমিশ্রণ সংরক্ষণ এবং প্রেরণের জন্য একটি সিস্টেম। এর সবচেয়ে বিখ্যাত অ্যাপ্লিকেশন হল ডোমেইন নাম বন্টন ব্যবস্থা, যা ICANN থেকে স্বাধীন এবং তাই ডোমেন পুনরুদ্ধার করা অসম্ভব করে তোলে। নেমকয়েন 2011 সালে চালু করা হয়েছিল, এটি বিটকয়েন মাইনিং সফ্টওয়্যারে চলে যা সার্ভারে ফরওয়ার্ড করা হয় যেখানে Namecoin চলে।

DigiByte (DGB)

বিটকয়েন এবং লাইটকয়েনের কর্মক্ষমতা উন্নত করার লক্ষ্যে 2013 সালে একটি ক্রিপ্টোকারেন্সি চালু হয়েছিল৷ DigiByte পার্থক্য:

  • বিপুল সংখ্যক জারি করা কয়েনের (21 বিলিয়ন পর্যন্ত) কারণে কম অস্থিরতা অর্জিত হয়, যা তাদের স্বল্প খরচ এবং গণনায় ব্যবহারের সহজতা নিশ্চিত করে;
  • প্রতি দুই বছরে ব্লকের আকার দ্বিগুণ করে দ্রুত লেনদেন;
  • কম কমিশন বা কোন কমিশন নেই;
  • খনির প্রক্রিয়াটি পাঁচটি অ্যালগরিদমে বিভক্ত যা আপনাকে একে অপরের থেকে স্বাধীনভাবে কয়েন খনন করতে দেয়। আপনি SHA-256 এবং স্ক্রিপ্টের জন্য ASICs, Groestl এবং Skein-এর জন্য ভিডিও কার্ড এবং Qubit-এর জন্য একটি প্রসেসর ব্যবহার করতে পারেন।

SHA 256 অ্যালগরিদম ক্রিপ্টোকারেন্সির মধ্যে সবচেয়ে সাধারণ। এটি বিটকয়েনের জনপ্রিয়তা এবং সাফল্য এবং একই ধরনের কয়েন তৈরি করার জন্য altcoin বিকাশকারীদের আকাঙ্ক্ষার কারণে ঘটেছিল। কম্পিউটেশনাল জটিলতা বৃদ্ধির ফলে খনি শ্রমিকদের আরও দক্ষতার সাথে খননের উপায় খুঁজতে অনুপ্রাণিত করে, যার ফলে ASIC-এর আবির্ভাব ঘটে।


বিটকয়েন এনক্রিপশন SHA-256-এর উপর ভিত্তি করে, একটি বিশেষ অ্যালগরিদম যা প্রোগ্রাম কোডের অংশ। এর কাজ হল ইনপুট ডেটাকে অক্ষরের একটি নির্দিষ্ট সেটে রূপান্তর করা (বর্ণানুক্রমিক এবং সংখ্যাসূচক উপস্থাপনা) এবং তথ্য রক্ষা করা। এই ধরনের কর্মকে হ্যাশিং বলা হয়। এই অ্যালগরিদম এর subtleties কি কি? কেন এটি প্রয়োজন এবং এটি কিভাবে কাজ করে? সুবিধা এবং অসুবিধা সমূহ কি কি? আমরা এগুলি এবং অন্যান্য কয়েকটি পয়েন্ট বিশদে বিবেচনা করব।

বিটকয়েনের কোন এনক্রিপশন অ্যালগরিদম আছে এবং এটি কোথায় ব্যবহার করা হয়?

ক্রিপ্টোকারেন্সি নিয়ে আলোচনা করার সময়, এর ক্রিয়াকলাপ এবং খনির বৈশিষ্ট্যগুলি, ক্রিপ্টো নেটওয়ার্কে অংশগ্রহণকারীরা অনিবার্যভাবে বিটকয়েন এনক্রিপশন অ্যালগরিদমের মতো একটি বিস্তৃত সংজ্ঞা জুড়ে আসে। BTC যেদিন থেকে বিকশিত হয়েছিল সেদিন থেকে আজ পর্যন্ত (13 আগস্ট, 2018), SHA-256 ব্যবহার করা হয়েছে, যা বিটকয়েন নেটওয়ার্কে নিম্নলিখিত সমস্যাগুলি সমাধান করার জন্য প্রয়োজনীয়:

  1. BTC ঠিকানা গঠন (লেনদেনের জন্য ব্যবহৃত)।
  2. খনির (কাজের প্রমাণ)।
  3. নিরাপত্তা এবং বেনামী প্রয়োজনীয় ডিগ্রী অর্জন.
  4. ডিজিটাল স্বাক্ষর এবং এর স্বীকৃতির জন্য।
SHA-256 অ্যালগরিদম শুধুমাত্র বিটকয়েনের জন্যই নয়, বিটকয়েন ক্যাশ, মাজাকয়েন, পিয়ারকয়েন, নেমকয়েন এবং অন্যান্য ক্রিপ্টোকারেন্সির জন্যও প্রাসঙ্গিক। এছাড়াও, SHA-2 (SHA-256 এর ভিত্তি) ইন্টারনেটে ডেটা সুরক্ষিত করার জন্য ডিজাইন করা অনেক প্রোটোকল তৈরি করতে ব্যবহৃত হয়, যেমন SSL, TSL এবং অন্যান্য।

বিটকয়েন হ্যাশিং অ্যালগরিদম তথ্যের বিশ্লেষণ এবং সময়মতো ভুল সনাক্তকরণের মাধ্যমে নিয়ন্ত্রণ করার জন্য প্রয়োজনীয়। একবার ডেটা প্রক্রিয়াকরণ এবং হ্যাশে রূপান্তরিত হয়ে গেলে, তথ্য ফিরে পাওয়া অসম্ভব। আপনি যদি ইতিমধ্যে একটি এনক্রিপ্ট করা BTC ফাইল নেন, আবার গণনা করুন এবং নিশ্চিত করুন যে হ্যাশ প্যারামিটারগুলি অভিন্ন, আপনি নিশ্চিত হতে পারেন যে মূল তথ্যে কোনও পরিবর্তন নেই। ডেটা ভিন্ন হলে, এটি একটি সিস্টেম হ্যাক নির্দেশ করে।

বিটকয়েন এনক্রিপশন অ্যালগরিদম - এটি কীভাবে সহজ কথায় কাজ করে


SHA-2 মার্কেল এবং ড্যামগার্ড দ্বারা তৈরি কাঠামোর উপর ভিত্তি করে। ক্রিপ্টোগ্রাফিতে ব্যবহৃত হ্যাশ ফাংশনের বিশেষত্ব হল এর গঠনের জন্য অ-মানক পদ্ধতি। ইনকামিং ডেটাকে অভিন্ন আকারের ব্লকে ভাগ করা হয়, যার পরে তৈরি করা উপাদানগুলি হেক্সাডেসিমেল সংখ্যায় রূপান্তরিত হয়। তাদের সাথেই পরবর্তীতে গণনা করা হয়। একটি হ্যাশ ফাংশন ফলিত মানের উপর প্রয়োগ করা হয়, এবং প্রক্রিয়াকরণের ফলাফল হল হ্যাশ সমষ্টি যা আউটপুটে প্রদর্শিত হয়। এটি বর্ণানুক্রমিক এবং সংখ্যাসূচক প্রদর্শনে উপস্থাপিত অক্ষরের একটি সেট। মূলত, এটি একটি হ্যাশ.

পরবর্তী ব্লক উপরে বর্ণিত নীতি অনুযায়ী নির্মিত হয়। এই ক্ষেত্রে, পূর্ববর্তী উপাদান তৈরি করার পরে একটি নতুন প্রক্রিয়া চালু করা হয়। যদি মূল ডেটাতে পরিবর্তন করা হয়, হ্যাশ পরিবর্তন হয়। ক্ষেত্রে যখন অভিন্ন হ্যাশ ফাংশন পরামিতিগুলি হঠাৎ বিভিন্ন ব্লকে উপস্থিত হয়, তখন অ্যালগরিদমের অপারেশনে একটি দ্বন্দ্ব পরিস্থিতি দেখা দেয়। যখন এই ধরনের বৈপরীত্য ঘটে, তখন সমগ্র ব্লকচেইন চেইনকে প্রশ্ন করা হয়।

সুতরাং, একটি ডিজিটাল স্বাক্ষর তৈরি করতে একটি হ্যাশ ফাংশন ব্যবহার করা হয়। উপরে আলোচিত পরিস্থিতি যদি ঘটে, তাহলে স্বাক্ষর জালিয়াতির উচ্চ সম্ভাবনা রয়েছে। এই ধরনের ব্যর্থতা (সংঘর্ষ) গণনা করার জন্য, একটি বিশেষ কৌশল ব্যবহার করা হয় যা ডেটা গণনা করে, যা হ্যাশ ফাংশনের শক্তি বৃদ্ধি করে।

বিটকয়েন এনক্রিপশনের সঠিকতা চারটি প্রয়োজনীয়তা দ্বারা নিয়ন্ত্রিত হয়:

  1. আপনি যখন ইনকামিং ডেটাতে পরিবর্তন করেন, হ্যাশের পরিমাণ একই থাকে।
  2. হ্যাশিংয়ের সময়, একটি পৃথক হ্যাশ সমষ্টি প্রাপ্ত হয় (অক্ষর সেটটি অনন্য হতে হবে)।
  3. হ্যাশিং ব্যবহার করে কী তৈরি করা অত্যন্ত জটিল।
  4. হ্যাশগুলি অপরিবর্তনীয়। এর মানে হল যে বিপরীত ক্রিয়া সম্পাদনের সম্ভাবনা ছাড়াই ইনপুট ডেটা সহ কাজ অনুমোদিত৷

এটি বিটকয়েনে কীভাবে প্রযোজ্য?

ক্রিপ্টোকারেন্সি নেটওয়ার্কের নোডগুলির কাজ হল অসংখ্য লেনদেনের মধ্যে একটি খুঁজে পাওয়া যা এটি সব ক্ষেত্রে উপযুক্ত। বিকল্পগুলি মূল্যায়ন করার সময়, প্রাথমিক মনোযোগ কমিশনের আকারে দেওয়া হয় (যাইহোক, এই কারণে, একটি বড় কমিশনের সাথে লেনদেনগুলি দ্রুত সম্পন্ন হয়)। এরপরে, অপারেশনটি পরীক্ষা করা হয়, ইনপুট এবং আউটপুট ডেটা অধ্যয়ন করা হয় এবং ডিজিটাল স্বাক্ষরের মৌলিকতা স্পষ্ট করা হয়।

বিবেচিত কাজ শেষ হওয়ার সাথে সাথে, বিটকয়েন চেইনের পরবর্তী উপাদান (ব্লক) একটি নির্দিষ্ট আকারের সাথে তৈরি করা হয় (প্রশ্নযুক্ত ক্রিপ্টোকারেন্সির জন্য - 1 মেগাবাইট)। ফলস্বরূপ নোডগুলি সংস্করণ, গঠনের সময়, দুটি হ্যাশ (অতীত ব্লক এবং ইনকামিং লেনদেন) এবং সেইসাথে অতিরিক্ত প্যারামিটার যা স্বতন্ত্রতা (বিট এবং ননস) নিশ্চিত করে। কমপ্লেক্সে, তৈরি ব্লকটি অনেকবার হ্যাশ করা হয়, যার ফলে একটি হেড হ্যাশ তৈরি হয়, যা চেইনের "পুরানো" উপাদানের জন্য আউটপুট হিসাবে কাজ করে এবং নতুনটির জন্য একটি ইনপুট হিসাবে কাজ করে।

ধরা যাক যে হ্যাশ সেটে একটি নির্দিষ্ট সংখ্যা "0" রয়েছে (উদাহরণস্বরূপ, ননসটি 17)। শুধুমাত্র মানের গণনা ব্যবহার করে এই জাতীয় মান নির্বাচন করা অত্যন্ত কঠিন। এই দিকটিই ব্লকচেইন নেটওয়ার্কে তথ্যের নির্ভরযোগ্যতা এবং হ্যাকিং থেকে এর সুরক্ষা নিশ্চিত করে। একটি হ্যাশ তৈরি করতে, প্রচুর শক্তি প্রয়োজন, যা ছাড়া অক্ষরের প্রয়োজনীয় সেট খুঁজে পাওয়া অসম্ভব। একবার এই কাজটি সম্পূর্ণ হয়ে গেলে এবং প্যারামিটারটি পাওয়া গেলে, এটি ক্রিপ্টো নেটওয়ার্কের উপাদানগুলিতে নতুন তৈরি ব্লক এবং 17 "0s" সহ পাওয়া হ্যাশের সাথে পাঠানো হয়। এরপরে, বিটকয়েন নেটওয়ার্কের সমস্ত অংশগ্রহণকারীরা ব্লক থেকে তথ্যের সাথে অক্ষরের সেটকে একত্রিত করে হ্যাশ পরীক্ষা করে। কোন সংঘর্ষ না হলে, ব্লকচেইন চেইনে একটি নতুন উপাদান উপস্থিত হয়।

বিটকয়েন এনক্রিপশন অ্যালগরিদম কখন উপস্থিত হয়েছিল - একটি সংক্ষিপ্ত ইতিহাস


"SHA" শব্দটি তিনটি শব্দের সংক্ষিপ্ত রূপ: "সিকিউর হ্যাশিং অ্যালগরিদম"। বিটকয়েন SHA-256 ব্যবহার করে এবং উল্লিখিত হ্যাশ ফাংশনের "বেস" হল SHA-2, যার মধ্যে অনেক ক্রিপ্টো অ্যালগরিদম রয়েছে (256 সহ)।

SHA-2-এর নির্মাতারা হলেন মার্কিন যুক্তরাষ্ট্রের এনএসএ, একটি বিশেষ সংস্থা যা দেশের জাতীয় নিরাপত্তা সংক্রান্ত বিষয় নিয়ে কাজ করে। অ্যালগরিদমটি বিকাশ এবং পরীক্ষা করার পরে, এটি 2002 সালে জনসাধারণের কাছে প্রকাশ করা হয়েছিল। নতুন SHA-2-এ প্রথম হ্যাশ ফাংশন SHA-1 (7 বছর আগে তৈরি - 1995 সালে) অন্তর্ভুক্ত ছিল। SHA-2 প্রবর্তনের পর থেকে, অ্যালগরিদমের অনেকগুলি রূপ প্রকাশ করা হয়েছে, যার মধ্যে একটি 2009 সালে বিটকয়েন তৈরি করার সময় সাতোশি নাকামোটো ব্যবহার করেছিলেন।

বিকাশকারীদের লক্ষ্য ছিল একটি অ্যালগরিদম প্রকাশ করা যা অক্ষরের একটি এলোমেলো সেট থেকে একটি নির্দিষ্ট দৈর্ঘ্যের একটি নির্দিষ্ট মান গঠন নিশ্চিত করবে। তারা এটি করেছে. ভবিষ্যতে, ফলাফলের প্যারামিটারটি তথ্য সনাক্ত করতে (চেক) ব্যবহার করা হবে। SHA-2-এর মূল উদ্দেশ্য হল বিভিন্ন পরিষেবার ডেটা সুরক্ষিত করা, এবং আজ (2018 সালে) SHA-256 প্রাথমিকভাবে কয়েন মাইনিংয়ে ব্যবহৃত অ্যালগরিদম হিসেবে পরিচিত।

2012 সালে, সিস্টেমটি উন্নত হয়েছিল এবং হ্যাশ ফাংশনের একটি আপডেট সংস্করণ উপস্থিত হয়েছিল - SHA-3। এটা বিশ্বাস করা হয় যে সময়ের সাথে সাথে, নতুন উন্নয়ন পূর্ববর্তী অ্যালগরিদমগুলিকে স্থানচ্যুত করবে, যা ইতিমধ্যে উচ্চ মাত্রার নিরাপত্তা উন্নত করবে।

বিটকয়েন এনক্রিপশন অ্যালগরিদমের বৈশিষ্ট্য


SHA-256 এর সারমর্মটি সহজ। সংযোজন করার পরে প্রাথমিক বার্তাটি ব্লকগুলিতে বিভক্ত এবং তাদের প্রতিটি 16 শব্দ। ফলস্বরূপ উপাদানগুলি 64 বা 80টি পর্যায়ে জড়িত বিশেষ চক্রের মধ্য দিয়ে যায়। তাদের প্রতিটিতে, দুটি শব্দ রূপান্তরিত হয়, এবং রূপান্তর বিকল্পটি অবশিষ্ট শব্দ দ্বারা গঠিত হয়। একটি হ্যাশ গঠনের জন্য ফলাফলের পরামিতিগুলিকে সংক্ষিপ্ত করা হয়।

অ্যালগরিদমের অপারেশন চলাকালীন, 6 টি কমান্ড ব্যবহার করা হয়:

  • "xor" - "OR" সরিয়ে দেয়।
  • "shr" - একটি নির্দিষ্ট ফ্রিকোয়েন্সি সহ প্রয়োজনীয় সংখ্যক বিট দ্বারা সূচকটিকে ডানদিকে স্থানান্তরিত করে।
  • "রটস" - প্রয়োজনীয় সংখ্যক বিট দ্বারা সূচকটিকে ডানদিকে স্থানান্তরিত করে (একটি নির্দিষ্ট চক্র ব্যবহার না করে)।
  • "II" - উপাদানগুলির একটি সংযোগ যা প্রকৃতিতে রৈখিক।
  • "এবং" - "এবং"।
  • "+" - ট্র্যাকিং।
প্রোটোকল বৈশিষ্ট্য:
  1. বার্তা সময়কালের জন্য উচ্চ সীমা হল 33 বি।
  2. সর্বাধিক গতির প্যারামিটার হল 139 MiB/s।
  3. শব্দ আকার - 4 বি.
  4. একটি চক্রের পুনরাবৃত্তির সংখ্যা 64।
  5. ব্লক উপাদানের আকার 64 বি।
  6. মোট হ্যাশ কোড হল 32 বি।

খনির মধ্যে বিটকয়েন এনক্রিপশন অ্যালগরিদম


খনির মধ্যে গণনা সম্পাদন করার সময়, ফলাফল হ্যাশ কোডের সঠিকতা লাইনের শুরুতে শূন্যের সংখ্যা দ্বারা নির্ধারিত হয়। উদাহরণস্বরূপ, যদি এই প্যারামিটারটি 17 হয়, তাহলে এই ধরনের একটি সংখ্যা খুঁজে পাওয়ার সম্ভাবনা অত্যন্ত কম এবং কোথাও 1:1.4*10 থেকে 20 নম্বর পাওয়ারের কাছাকাছি। এটা বিস্ময়কর নয় যে বিটকয়েন খনির জন্য শক্তিশালী সরঞ্জাম এবং উচ্চ শক্তি খরচ প্রয়োজন। একই সময়ে, প্রয়োজনীয় হ্যাশের জন্য অনুসন্ধানটি অপ্টিমাইজ করা অসম্ভব, কারণ তথ্যের একটি ব্লক পাওয়ার পরে, আউটপুটে একটি র্যান্ডম সংখ্যা উপস্থিত হয়।

একটি ভার্চুয়াল মুদ্রা খনির অসুবিধা হল প্রয়োজনীয় হ্যাশ খুঁজে বের করা এবং পরবর্তী ব্লক তৈরি করা। এই লক্ষ্য অর্জনের জন্য, মানগুলির মান গণনা ব্যবহার করা হয়, যার জন্য উচ্চ-কার্যক্ষমতার সরঞ্জাম প্রয়োজন। উল্লিখিত হিসাবে, অনুসন্ধানটি একটি সাধারণ হ্যাশের জন্য নয়, এটির সামনে একটি বড় সংখ্যক "0s" সহ একটি মানের জন্য।

SHA-256 ব্যবহার করে ক্রিপ্টোকারেন্সি মাইনিং হল একটি নির্দিষ্ট ক্রিপ্টো সমস্যা সমাধানের লক্ষ্যে পদক্ষেপের একটি সেট। বিটকয়েনের ক্ষেত্রে, নিম্নলিখিত সরঞ্জামগুলি খনির জন্য ব্যবহৃত হয়:

  1. 2009 সালে BTC এর আবির্ভাবের পর থেকে, সেইসাথে 2010 সালের মাঝামাঝি পর্যন্ত, একটি কেন্দ্রীয় প্রক্রিয়াকরণ ইউনিট (CPU) ব্যবহার প্রাসঙ্গিক ছিল।
  2. 2011 সালের মাঝামাঝি পর্যন্ত, খনি শ্রমিকরা ভিডিও কার্ড (GPUs) সহ কম্পিউটার ব্যবহার করত।
  3. 2013 সালের প্রথম দিকে, FGPAs জনপ্রিয় ছিল, যেমন GPU খামার ছিল।
  4. 2014 সালে, ASIC উপস্থিত হয়েছিল। তারা কর্মক্ষমতা বিদ্যমান সরঞ্জাম eclipsed. এই সত্ত্বেও, 2017 এর শুরু পর্যন্ত, খনি শ্রমিকরা GPU খামার ব্যবহার করেছিল এবং পুলগুলিতে কাজ করেছিল, কিন্তু 2017 এর শেষের দিকে এবং আজ অবধি, শুধুমাত্র -মানিরা প্রাসঙ্গিক। অন্যান্য সরঞ্জাম ব্যবহার অলাভজনক।
উল্লিখিত ডিভাইসগুলি আগ্রহের হ্যাশ ফাংশন নির্বাচন করতে এবং একটি নতুন তৈরি করতে ব্যবহৃত হয়। ডিভাইসের হ্যাশরেট (কম্পিউটিং পাওয়ার) যত বেশি হবে, তত দ্রুত ডেটা বাছাই করা হবে এবং সমাধান খুঁজে পেতে কম সময় লাগবে।

ক্রমবর্ধমান প্রতিযোগিতা এবং আরও উত্পাদনশীল খনির মুক্তির সাথে, এবং বৃদ্ধি, যার পরামিতি প্রতি 2 সপ্তাহে পরিবর্তিত হয়।

বিটকয়েন হ্যাশিং অ্যালগরিদমের দুর্বলতা এবং শক্তি


উপরে আমরা বিটকয়েন হ্যাশিং অ্যালগরিদম কী এবং এর বৈশিষ্ট্যগুলি কী তা দেখেছি। এটি SHA-256, যা উচ্চ স্তরের নির্ভরযোগ্যতা এবং তুলনামূলকভাবে সহজ অপারেটিং নীতি সহ সবচেয়ে সাধারণ অ্যালগরিদম হিসাবে বিবেচিত হয়। এটি হ্যাকিংয়ের জন্য অত্যন্ত প্রতিরোধী এবং আপনাকে যেকোনো সরঞ্জামে কয়েন খনন করতে দেয় (অসুবিধা পরামিতির উপর নির্ভর করে)।

বেশ কিছু ইতিবাচক গুণ থাকা সত্ত্বেও, বিটকয়েন হ্যাশিং অ্যালগরিদমের বেশ কিছু দুর্বলতা রয়েছে:

  1. BTC খনির অংশগ্রহণকারীদের দ্বারা নিয়ন্ত্রণ। একই নীতি এখানে কাজ করে যেমন জয়েন্ট-স্টক কোম্পানি (JSC), যখন কোম্পানির অংশগ্রহণকারীদের একটি নির্দিষ্ট সংখ্যক শেয়ার থাকে। ক্রিপ্টো নেটওয়ার্ক মাইনারদের হাতে যত বেশি শক্তি কেন্দ্রীভূত হবে, সামগ্রিক সিস্টেমে তাদের প্রভাব তত বেশি শক্তিশালী হবে। উপরন্তু, 2018 সালে খনির ক্রমবর্ধমান জটিলতার কারণে, খনির ভার্চুয়াল কয়েন খনির জন্য সরঞ্জাম তৈরির সাথে জড়িত বৃহৎ সংস্থাগুলির নিয়ন্ত্রণে ব্যক্তিগত খনি শ্রমিকদের হাত থেকে সরে যাওয়ার লক্ষণীয় প্রবণতা রয়েছে। বিটকয়েন পেতে, একজন প্রাইভেট মাইনারকে অবশ্যই ASIC কেনার জন্য প্রচুর পরিমাণে খরচ করতে হবে, একটি পুলের সাথে সংযোগ করতে হবে এবং বিদ্যুতের জন্য অর্থ প্রদান করতে হবে। আপনি যদি সরঞ্জামের উপর তুচ্ছতাচ্ছিল্য করেন তবে উত্পাদন লাভজনকতা হারায়।
  2. উপরে আলোচিত পরিস্থিতির একটি পরিণতি হল যে বিটকয়েনের "সিংহের" শেয়ার বড় খনির কোম্পানির মালিকদের হাতে কেন্দ্রীভূত। আমরা যদি বিবেচনা করি যে প্রাপ্ত সমস্ত বিটকয়েন বিক্রি হয় না, এই ধরনের সংস্থাগুলি বিনিয়োগকারী এবং মুদ্রার রক্ষক হয়ে ওঠে। ফলস্বরূপ, প্রচলনে মুদ্রার সংখ্যা হ্রাস পায়। উপরন্তু, ক্রিপ্টোকারেন্সির সঞ্চয়ন আপনাকে বিকেন্দ্রীকরণ, সেইসাথে ট্রেডিং প্রক্রিয়া চলাকালীন BTC-এর বিনিময় হারকে প্রভাবিত করতে দেয়।
  3. বিদ্যমান ত্রুটিগুলির কারণে, SHA-256 অ্যালগরিদম ধীরে ধীরে অতীতের জিনিস হয়ে উঠছে এবং আরও উন্নত প্রকল্পগুলি তার জায়গা নিচ্ছে। উদাহরণস্বরূপ, Scrypt, Ethash, Blake-256, Equihash এবং অন্যান্য জনপ্রিয়তা অর্জন করছে। নতুন অ্যালগরিদমগুলির আরও ভাল সুরক্ষা এবং সুরক্ষা স্তর রয়েছে, যা অনেক ক্রিপ্টোকারেন্সির নির্মাতাদের আরও উন্নত প্রযুক্তির পক্ষে পুরানো SHA-256 ত্যাগ করতে বাধ্য করেছে।
  4. বিকাশকারীদের দ্বারা চিহ্নিত প্রধান ত্রুটিগুলি সংশোধন করা সত্ত্বেও, কিছু দুর্বলতাগুলি সরানো যায়নি (2008 সালে, 22টি পুনরাবৃত্তির জন্য সংঘর্ষ পাওয়া গেছে)। এই কারণেই SHA-এর বিকাশ অব্যাহত ছিল এবং দ্বিতীয় সংস্করণটি SHA-3 দ্বারা প্রতিস্থাপিত হয়েছিল।
2009 সালে, আমাকে SHA-256 ব্যবহার করতে বাধ্য করা হয়েছিল, কারণ ক্রিপ্টোকারেন্সি তৈরির সময়, রাজ্য সরকারগুলি এই প্রোটোকলটি গ্রহণ করেছিল। সেই সময়ে, এটি সক্রিয়ভাবে কিছু সরকারী প্রোগ্রামে ডেটা সুরক্ষার জন্য ব্যবহৃত হয়েছিল এবং বাণিজ্যিক খাতেও ব্যবহৃত হয়েছিল। দেখা গেল যে প্রোটোকলটি নির্দিষ্ট সমস্যা সমাধানের জন্য তৈরি করা হয়েছিল, তবে বাস্তবে এটি সম্পূর্ণ ভিন্ন উপায়ে চাহিদা রয়েছে।

স্পষ্টতার জন্য, আসুন বিটকয়েন এনক্রিপশন অ্যালগরিদমের ইতিবাচক এবং নেতিবাচক বৈশিষ্ট্যগুলিকে সারণী করি।

সুবিধাদিত্রুটি
ব্যাপক (ক্রিপ্টোকারেন্সি সেক্টর সহ)। SHA প্রোটোকল তথ্য সুরক্ষিত করার জন্য দৈনন্দিন জীবনে সক্রিয়ভাবে ব্যবহৃত হয়।বিকেন্দ্রীকরণের ক্ষতি। ক্ষমতা খনি কোম্পানির হাতে কেন্দ্রীভূত হয়।
নির্ভরযোগ্য চুরি সুরক্ষা.SHA পুনরাবৃত্তির একটি সাধারণ কাঠামো রয়েছে, যা সময়ের সাথে সাথে খনির জটিলতা বৃদ্ধির দিকে পরিচালিত করেছে। আগস্ট 2018 অনুযায়ী, শুধুমাত্র উচ্চ কার্যক্ষমতা সম্পন্ন ASICs বিটকয়েন খনির জন্য ব্যবহার করা যেতে পারে।
মুদ্রা খনির পরিপ্রেক্ষিতে সুবিধা, খনির সরঞ্জাম নির্বাচনের বহুমুখিতা।নতুন অ্যালগরিদম দেখা যাচ্ছে যেগুলির আরও উন্নত কাঠামো রয়েছে।
দ্বিতীয় সংস্করণে (SHA-2), নির্মাতারা সিস্টেমের নির্ভরযোগ্যতাকে নেতিবাচকভাবে প্রভাবিত করে এমন অনেকগুলি ত্রুটিগুলি দূর করতে সক্ষম হয়েছিল।বাগগুলিতে সক্রিয় কাজ সত্ত্বেও, অনেক ত্রুটিগুলি সরানো হয়নি। আশ্চর্যের বিষয় নয়, বিকাশকারীরা SHA-3 এর একটি নতুন সংস্করণ তৈরি করেছে।
প্রোটোকলটি মার্কিন যুক্তরাষ্ট্রে আইনসভা পর্যায়ে গৃহীত হয়েছে।

আজ এটি নতুন ক্রিপ্টোকারেন্সিগুলির বিকাশে প্রায় ব্যবহৃত হয় না। একটি মুদ্রার সবচেয়ে আকর্ষণীয় উদাহরণ যা এখনও SHA-256 ব্যবহার করে তা হল বিটকয়েন ক্যাশ, বিটকয়েনের একটি কাঁটা যা আগস্ট 2017 এ প্রকাশিত হয়েছিল। কিন্তু এই মুদ্রার পরিস্থিতিতে, SHA-এর ব্যবহার স্রষ্টাদের পছন্দের চেয়ে বেশি প্রয়োজনীয়। বিটকয়েনের ক্ষেত্রে, এই সিরিজ প্রোটোকলের ব্যবহার সাতোশি নাকামোটোর বিকল্পের অভাবের কারণে।

আজ, 2018 সালে, এই অ্যালগরিদমটি উন্নত করার এবং ক্রিপ্টোকারেন্সি নেটওয়ার্কে পরিবর্তন করার বিষয়ে অনেক কথা বলা হচ্ছে, কিন্তু এখনও পর্যন্ত এই ধরনের উদ্দেশ্যগুলি বাস্তবিক রূপায়ন খুঁজে পায়নি এবং শুধুমাত্র প্রস্তাবের আকারে রয়ে গেছে।

ক্রিপ্টোগ্রাফিক ফাংশন এবং অ্যালগরিদম সম্পর্কে ভিডিও:

বিগত 2017 ছিল ক্রিপ্টোকারেন্সির বিস্ফোরক জনপ্রিয়তার বছর এবং "প্রধান" ক্রিপ্টোকারেন্সি বিটকয়েনের হারে একই দ্রুত বৃদ্ধি। এই পরিস্থিতিগুলি কেবল অনুমান এবং খনির ক্ষেত্রেই নয়, ঘটনার মূলেও আগ্রহ বাড়িয়েছিল। আরো এবং আরো মানুষ এটা সব কিভাবে কাজ করে নীচে পেতে চান?

আমরা একটি সিরিজের উপকরণ খুলছি যেখানে আমরা সবচেয়ে অ্যাক্সেসযোগ্য আকারে ব্যাখ্যা করার চেষ্টা করব এই রহস্যময় সংক্ষিপ্ত শব্দগুলির পিছনে কী রয়েছে যেমন Scrypt, SHA-256, X11 এবং অন্যান্য। ক্রিপ্টোকারেন্সির জগতের জন্য সবচেয়ে গুরুত্বপূর্ণ (কিন্তু সেরা নয়) অ্যালগরিদম দিয়ে শুরু করা যাক - SHA-256। এটিই বিটকয়েনের বিকাশের ভিত্তি। তবে তার আগে, আসুন মূল পরিভাষাটি সংজ্ঞায়িত করি - "মাইনিং" এবং "হ্যাশ" শব্দগুলির অর্থ সংজ্ঞায়িত করুন।

মাইনিং কি?

জনপ্রিয় বিশ্বাসের বিপরীতে, খনন শুধুমাত্র ক্রিপ্টোগ্রাফিক ব্যাঙ্কনোটগুলি নিজেরাই উত্তোলনই নয়, বরং এই ক্রিপ্টোকারেন্সিটিকে প্রতারণামূলক কার্যকলাপ থেকে রক্ষা করার ব্যবস্থা। এটা শুধু জাল সম্পর্কে নয় - আরও গুরুত্বপূর্ণ হল সুরক্ষা, উদাহরণস্বরূপ, একই ব্যক্তির দ্বারা একই মুদ্রার বারবার ব্যবহার থেকে। নতুন ক্রিপ্টো কয়েনের উপার্জন তাদের নির্গমনের সাথে ঘনিষ্ঠভাবে সম্পর্কিত এবং খনির অ্যালগরিদমের শর্ত পূরণ করে এমন একটি নতুন ব্লক খুঁজে পাওয়ার পুরস্কার থেকে গঠিত হয়।

অর্থাৎ, পরবর্তী ক্রিপ্টো কয়েনটি "আবির্ভূত" হওয়ার জন্য, আপনাকে জটিল গণনার একটি সম্পূর্ণ জটিল কাজ করতে হবে এবং সেই খুব কাঙ্ক্ষিত "সঠিক" ব্লকটি খুঁজে বের করতে হবে। উত্সাহীরা তাদের সরঞ্জাম দিয়ে এটি করে। স্কিমটি নিজেই সমর্থন করে - ক্রিপ্টোকারেন্সির নিরাপত্তা বাড়ানোর জন্য এবং নতুন ইউনিট ইস্যু করার জন্য, খনন করা প্রয়োজন, এবং এটি করার জন্য এটিকে বোঝানোর জন্য, খনি শ্রমিকরা একটি পুরষ্কার পান।

সংক্ষেপে, মাইনিং সফ্টওয়্যার গোষ্ঠীগুলি পূর্বে একটি একক ব্লকে গণনামূলক ক্রিয়াকলাপ সম্পাদন করেছিল, যা পরে একটি বিশেষ ধরণের হ্যাশ কোড আবিষ্কার করতে অবিশ্বাস্য সংখ্যক বার রূপান্তরিত হয়। অ্যালগরিদমের প্রয়োজনীয়তা মেটাতে পারে এমন একটি হ্যাশ কোড খুঁজে বের করা আরও কঠিন হয়ে ওঠে যত বেশি অংশগ্রহণকারীরা প্রক্রিয়াটিতে জড়িত থাকে। "সঠিক" হ্যাশ অত্যন্ত বিরল, এবং একজনকে খুঁজে পাওয়া লটারি জেতার সমান।

একটি হ্যাশ কি?

"হ্যাশ" শব্দটি, যা সবার কাছে স্পষ্ট নয়, উপরে উল্লিখিত হয়েছিল। এটি সাধারণভাবে এনক্রিপশন এবং বিশেষ করে SHA-256 অ্যালগরিদমে মৌলিক ধারণাগুলির মধ্যে একটি। আসুন এর অর্থ কী তা ব্যাখ্যা করি এবং সবচেয়ে গুরুত্বপূর্ণ সম্পর্কিত পয়েন্টগুলিতে যান।

সুতরাং, হ্যাশিং হল একটি নির্বিচারে আকারের ডেটার একটি ইনকামিং সেটকে একটি বহির্গামী ডিজিটাল স্ট্রিংয়ে পরিণত করার প্রক্রিয়া। এই রূপান্তরটি একটি প্রাক-বিকশিত অ্যালগরিদম অনুযায়ী সঞ্চালিত হয়, এবং বহির্গামী স্ট্রিং সম্পূর্ণরূপে অনন্য, এবং আগত অ্যারের এক ধরনের "আঙ্গুলের ছাপ" হিসাবে কাজ করে। এই স্ট্রিংকে হ্যাশ যোগ, হ্যাশ কোড বা সহজভাবে হ্যাশ বলা হয়। এবং রূপান্তর অ্যালগরিদম একটি হ্যাশ ফাংশন.

একটা উদাহরণ দেওয়া যাক। আমরা হ্যাশ ফাংশন "ফিড" করতে পারি, বলুন, এ.এস. পুশকিন "ইউজিন ওয়ানগিন"-এর শ্লোকে উপন্যাসের পাঠ্য, এবং আউটপুটটি প্রায় এইরকম একটি হেক্সাডেসিমেল কোড হবে: অবশ্যই, এই কোডটি "উন্মোচন করা" এবং এটিকে "ইউজিন ওয়ানগিন" এ পরিণত করা অসম্ভব। কিন্তু যত তাড়াতাড়ি আপনি কবিতার একটি একক অক্ষর পরিবর্তন করবেন, এমনকি শুধুমাত্র একটি স্থান যোগ করুন, ফলস্বরূপ হ্যাশ স্বীকৃতির বাইরে রূপান্তরিত হবে। ভলিউম হ্যাশ কোডের দৈর্ঘ্যকেও প্রভাবিত করে না। সুতরাং, আপনি ফাংশনে একটি চিহ্ন "a" ইনপুট করতে পারেন, এবং আউটপুটটি ঠিক একই দৈর্ঘ্যের সিউডো-র্যান্ডম চিহ্নগুলির একই সেট হবে।

এখন কেন এটি প্রয়োজন এবং পথে কী কী অসুবিধা দেখা দেয় তা ঘনিষ্ঠভাবে দেখে নেওয়া যাক। এই বিষয়ে আগ্রহী যে কেউ জানেন যে SHA-256 প্রোটোকল ব্যবহার করে মাইনিং ক্রিপ্টোকারেন্সি একটি কেন্দ্রীয় প্রসেসর, একটি গ্রাফিক্স কার্ড বা একটি বিশেষ ASIC ডিভাইসের শক্তি ব্যবহার করে করা যেতে পারে। প্রকৃতপক্ষে, বিটকয়েনের প্রেক্ষাপটে, প্রথম পদ্ধতিটি আর মোটেও প্রাসঙ্গিক নয়, এবং ভিডিও কার্ডের মাধ্যমে খনির শেষ দিন যাপন করছে। গণনার জটিলতা খুব উল্লেখযোগ্যভাবে বেড়েছে, এবং অর্ধেক ব্যবস্থা আর উপযুক্ত নয়।

মাইনিং সফ্টওয়্যার ইন্টারফেসে, ব্লকগুলিকে হ্যাশ পরিমাণে রূপান্তর করার প্রক্রিয়াগুলি "স্বীকৃত 0aef59a3b" এর মতো একটি ল্যাকনিক লাইন হিসাবে প্রদর্শিত হয়। একটি ব্লক হাজার হাজার বা এমনকি কয়েক হাজার অনুরূপ লাইন নিয়ে গঠিত হতে পারে, তবে শুধুমাত্র একটি ব্লকের "স্বাক্ষর" হিসাবে কাজ করতে পারে, যার অনুসন্ধান হল খনির সারাংশ।

বিপুল সংখ্যক সমস্যা সমাধানের ফলাফলের মাধ্যমে অনুসন্ধান করে সঠিক হ্যাশের অনুসন্ধান করা হয়। SHA-256 অ্যালগরিদমে, হ্যাশের "সঠিকতা" হ্যাশ যোগফলের শুরুতে শূন্যের সংখ্যা দ্বারা নির্ধারিত হয়। অ্যালগরিদম দ্বারা নির্ধারিত গণনার মাধ্যমে এই জাতীয় হ্যাশ কোড খুঁজে পাওয়ার সম্ভাবনা নগণ্য - লক্ষ লক্ষ সমাধানের মধ্যে একটি সুযোগ। সঠিক সম্ভাব্যতা একটি নির্দিষ্ট ক্রিপ্টোকারেন্সির বিকেন্দ্রীভূত ব্যবস্থায় অসুবিধার বর্তমান স্তর দ্বারা নির্ধারিত হয়।

একটি উল্লেখযোগ্য ঘটনা। আমরা প্রত্যেকে বারবার SHA-256 অ্যালগরিদমের সাথে মোকাবিলা করেছি, এমনকি এটি না জেনে, এমনকি ক্রিপ্টোকারেন্সি মাইনিংকে বিবেচনা না করেও। আমরা SSL নিরাপত্তা শংসাপত্র সম্পর্কে কথা বলছি, যা অনেক ওয়েবসাইট রক্ষা করে। আপনি যখন এই ধরনের একটি সাইট পরিদর্শন করেন, তখন আপনি স্বয়ংক্রিয়ভাবে SHA-256-এর সাথে ইন্টারঅ্যাক্ট করেন, যা SSL-এর উপর নির্মিত।

SHA-256 প্রোটোকলের বৈশিষ্ট্য

প্রথমত, একটু ইতিহাস। প্রাথমিকভাবে, SHA-256 এনক্রিপশন অ্যালগরিদম, বা বরং এর প্রোটোটাইপ, এখন দূরবর্তী 2002 সালে "অশুভ" NSA (US National Security Agency) এর দেয়ালের মধ্যে উদ্ভাবিত হয়েছিল। কয়েক মাসের মধ্যে এটি সংশোধন করা হয় এবং ফেডারেল স্তরে জাতীয় মেট্রোলজিক্যাল ইউনিভার্সিটি দ্বারা আনুষ্ঠানিকভাবে উপস্থাপন করা হয়। দুই বছর পরে, এর দ্বিতীয়, উন্নত সংস্করণ প্রকাশিত হয়েছিল।

পরের তিন বছরে, এজেন্সি অ্যালগরিদম উন্নত করার জন্য কাজ করে এবং অবশেষে তার দ্বিতীয় সংস্করণের জন্য একটি পেটেন্ট জারি করে। এটি একটি রয়্যালটি-মুক্ত লাইসেন্সের অধীনে করা হয়েছিল, যা "শান্তিপূর্ণ" উদ্দেশ্যে সর্বশেষ প্রযুক্তি ব্যবহার করা সম্ভব করেছে।

শেষ পর্যন্ত, SHA-256 বিশ্বের প্রথম ক্রিপ্টোকারেন্সি - বিটকয়েন তৈরির ভিত্তি তৈরি করেছে। এই ক্ষেত্রে, নিরাপত্তা বাড়ানোর জন্য দুইবার প্রোটোকল ব্যবহার করা হয়।

বিটকয়েন সিস্টেমে খনির অংশ হিসাবে গণনা করার সময়, ফলাফলের হ্যাশ কোডের উপযুক্ততার একটি চিহ্ন হল লাইনের শুরুতে শূন্যের সংখ্যা। 17-এর শেষে, 18-এর শুরুতে, প্রয়োজনীয় অগ্রণী শূন্যের সংখ্যা হল 17 (+/-)। এই জাতীয় কোড সনাক্ত করার সম্ভাবনা 1.4*10 20 এর মধ্যে প্রায় 1। এটি একটি দানবীয়ভাবে ছোট সংখ্যা যা বোধগম্যতাকে অস্বীকার করে এবং আমাদের গ্রহের সমস্ত বালুকাময় সৈকতে একটি নির্দিষ্ট আকৃতির বালির দানা খুঁজে পাওয়ার সম্ভাবনার সাথে তুলনীয়। এই কারণেই বিটকয়েন খনির জন্য এত কম্পিউটিং শক্তি এবং এত বিদ্যুৎ প্রয়োজন।

"সঠিক" হ্যাশের জন্য অনুসন্ধানটি অপ্টিমাইজ করার কোন উপায় নেই। SHA-256 প্রোটোকলে, হ্যাশ ফাংশন, ডেটার একটি ব্লক গ্রহণ করে, একটি সম্পূর্ণ অপ্রত্যাশিত আউটপুট মান তৈরি করে। অতএব, একটি উপযুক্ত কোড পাওয়া না যাওয়া পর্যন্ত পুনরাবৃত্তির পরে পুনরাবৃত্তি (পুনরাবৃত্তি) প্রয়োজন, আমরা আবার জোর দিচ্ছি - সম্পূর্ণ এলোমেলো.

এখন আমরা জটিল প্রযুক্তিগত তথ্য সহ পাঠককে কিছুটা "লোড" করতে বাধ্য হচ্ছি, অন্যথায় SHA-256 সম্পর্কে আমাদের গল্পটি অসম্পূর্ণ থাকবে। যদি কিছুই পরিষ্কার না হয় তবে নিবন্ধের পরবর্তী বিভাগে যান।

প্রোটোকলের মধ্যে তথ্যকে 512 বিটের প্রতিটি (বা 64 বাইট, যেটি একই, যেহেতু 1 বাইট = 8 বিট) ভাগ করে ভাগ করা জড়িত। তারপরে ক্রিপ্টোগ্রাফিক "মিক্সিং" অ্যালগরিদমের অন্তর্নিহিত স্কিম অনুসারে ঘটে এবং আউটপুটটি 256 বিটের আকারের একটি হ্যাশ কোড। হ্যাশিং অপারেশনটি 64টি পুনরাবৃত্তিতে সঞ্চালিত হয়, যা তুলনামূলকভাবে সামান্য, বিশেষ করে নতুন ক্রিপ্টোগ্রাফিক অ্যালগরিদমের তুলনায় যা আবির্ভূত হয়েছে।

SHA-256 এর প্রধান প্রযুক্তিগত পরামিতিগুলি নিম্নরূপ:

  • ব্লক আকার: 64 বাইট;
  • সর্বাধিক বার্তা দৈর্ঘ্য: 33 বাইট;
  • ফলস্বরূপ হ্যাশ কোডের আকার: 32 বাইট;
  • এক রাউন্ডে পুনরাবৃত্তির সংখ্যা: 64;
  • সর্বোচ্চ গতি: প্রায় 140 MiB/s (মেবিবাইট প্রতি সেকেন্ড)।

এর কাজে, অ্যালগরিদমটি সুপরিচিত মার্কেল-ডামগার্ড কৌশল ব্যবহার করে, যা পরিবর্তন করার সাথে সাথেই প্রাথমিক সূচকটিকে ব্লকগুলিতে বিভক্ত করে। ব্লকগুলি, ঘুরে, প্রতিটি 16 টি শব্দে বিভক্ত।

ডেটা সেটটি 64 টি পুনরাবৃত্তির মাধ্যমে চালানো হয়। তাদের প্রত্যেকেই ব্লক তৈরি করা শব্দগুলিকে হ্যাশ করার প্রক্রিয়া শুরু করে। শব্দের জোড়া ফাংশন দ্বারা প্রক্রিয়া করা হয়, যার পরে ফলাফল যোগ করা হয়, এবং সঠিক হ্যাশ কোড প্রাপ্ত হয়। প্রতিটি পরবর্তী ব্লক আগেরটির মানের উপর ভিত্তি করে গণনা করা হয়। এটি একটি বিরামহীন প্রক্রিয়া - একে অপরের থেকে আলাদাভাবে ব্লক গণনা করা অসম্ভব।

SHA-256 এর বিবর্তন

এই অ্যালগরিদমের ক্রিপ্টোগ্রাফিক মান বোঝার জন্য, আসুন ইতিহাসের দিকে ফিরে তাকাই। তারা 2003 সালে এর সৃষ্টির প্রায় সাথে সাথেই এর শক্তিকে গুরুত্ব সহকারে পরীক্ষা করতে শুরু করে। বিষয়টি পেশাদারদের দ্বারা পরিচালিত হয়েছিল, কিন্তু কোন দুর্বলতা বা ত্রুটি পাওয়া যায়নি।

পুরো পাঁচ বছর কেটে গেছে যখন, 2008 সালে, ভারতীয় বিশেষজ্ঞরা এখনও 22টি পুনরাবৃত্তির জন্য সংঘর্ষ শনাক্ত করতে সক্ষম হয়েছিল। কয়েক মাস কঠোর পরিশ্রমের পর, সমস্যার একটি সফল সমাধান প্রস্তাব করা হয়েছিল।

অ্যালগরিদমের কার্যকরী অংশের ক্রিয়াকলাপ বিশ্লেষণ করার সময়, নিরাপত্তা ব্যর্থতার দুটি ধরণের সম্ভাব্য পদ্ধতির প্রতিরোধের পরীক্ষা করা হয়েছিল:

  • preimage এর মাধ্যমে: এর মানে হল শুধুমাত্র হ্যাশ স্ট্রিং এর উপর ভিত্তি করে আসল বার্তার বিপরীত ডিক্রিপশন;
  • সংঘর্ষ সনাক্তকরণের মাধ্যমে: এটি বহির্গামী ডেটার কাকতালীয়তাকে বোঝায়, যদি আগত বার্তাগুলি ভিন্ন হয়। অর্থাৎ, ইনকামিং ব্লকগুলি ভিন্ন, কিন্তু বহির্গামী হ্যাশ একই - এটি ঘটতে হবে না।

SHA-256-এর প্রথম সংস্করণ দ্বিতীয় মানদণ্ডে পরীক্ষায় ব্যর্থ হওয়ার পরে, বিকাশকারীরা আমূল ভিন্ন নীতির উপর ভিত্তি করে একটি নতুন এনক্রিপশন প্রক্রিয়া তৈরি করার সিদ্ধান্ত নিয়েছে। এটিই করা হয়েছিল - 2012 সালে, একটি নতুন প্রজন্মের প্রোটোকল চালু করা হয়েছিল, উপরে বর্ণিত ত্রুটিগুলি সম্পূর্ণরূপে বর্জিত।

অ্যালগরিদমের অসুবিধা

বিকাশকারীরা তাদের নিজস্ব ভুলগুলি সংশোধন করতে সক্ষম হওয়ার অর্থ এই নয় যে তারা SHA-256 কে পরিপূর্ণতায় আনতে পেরেছে। প্রোটোকলটি সুস্পষ্ট দুর্বলতা থেকে মুক্তি পেয়েছে, তবে এর "নেটিভ" ত্রুটিগুলি রয়ে গেছে।

বিটকয়েনের ভিত্তি হিসাবে SHA-256-এর ব্যবহার সম্ভব হয়েছে, অন্তত এই কারণে নয় যে মার্কিন আইন নিজেই এই প্রোটোকলের প্রতি অনুগত ছিল। এটি কিছু সরকারী প্রোগ্রামে ডেটা সুরক্ষার জন্য ব্যবহার করার অনুমতি দেওয়া হয়েছিল এবং বাণিজ্যিক ক্ষেত্রেও ব্যবহার করার অনুমতি দেওয়া হয়েছিল।

ভাগ্যের বিড়ম্বনা এখান থেকেই আসে - প্রোটোকলটি একটি উদ্দেশ্যে তৈরি করা হয়েছিল, তবে সম্পূর্ণ ভিন্নগুলির মধ্যে এর ব্যাপক প্রয়োগ পাওয়া গেছে। এবং সেই প্রথম উদ্দেশ্যগুলির জন্য এটি কার্যকর এবং উপযুক্ত ছিল না। কিন্তু ক্রিপ্টোকারেন্সির জন্য এটি খুব সহজ হয়ে উঠেছে। এটি কোন রসিকতা নয় যখন চীনে, উদাহরণস্বরূপ, এমনকি খামারও নেই, তবে পুরো "কারখানা" ASIC খনি শ্রমিক দিয়ে ভরা।

অ্যালগরিদমের প্রতিটি পুনরাবৃত্তি বেশ আদিম দেখায় - একটি মৌলিক বাইনারি অপারেশন এবং একটি 32-বিট সংযোজন। এই কারণেই SHA-256-এর উপর ভিত্তি করে ASICগুলি এত দ্রুত উপস্থিত হয়েছিল, শুধুমাত্র একটি প্রসেসর এবং কয়েকটি ভিডিও কার্ড সহ "হোম" খনি শ্রমিকদের সমস্ত আশা শূন্য দ্বারা গুণ করে৷

সময় এবং অবস্থার অনেক পরিবর্তন হচ্ছে, এবং SHA-256 প্রোটোকল আত্মবিশ্বাসের সাথে অন্যান্য, আরও উন্নত সমাধানগুলির হিল অনুসরণ করছে। একই স্ক্রিপ্ট, গণনার প্রক্রিয়ায়, প্রথমে 1024টি ভিন্ন হ্যাশ স্ট্রিং রেকর্ড করে, এবং শুধুমাত্র তার পরে এটি যোগ করে এবং চূড়ান্ত ফলাফল পায়। এটি ক্রিপ্টোকারেন্সি সুরক্ষা এবং সুরক্ষার সর্বোচ্চ স্তর সহ একটি অতুলনীয়ভাবে আরও জটিল স্কিম।

সারসংক্ষেপ

ক্রিপ্টোকারেন্সি বুম শুরু হওয়া পর্যন্ত SHA-256 এনক্রিপশন অ্যালগরিদম বেশ কার্যকর এবং নির্ভরযোগ্য বলে বিবেচিত হয়েছিল। আজ এটি স্পষ্ট হয়ে উঠেছে যে নতুন সমাধানগুলির পটভূমিতে এটি ইতিমধ্যেই বরং দুর্বল দেখাচ্ছে। এতটাই যে এটি বিশেষ ডিভাইস তৈরি করা সম্ভব করেছে "তীক্ষ্ণ" কঠোরভাবে এটি বাইপাস করার জন্য। এরা একই ASIC খনি শ্রমিক যারা কার্যত কেন্দ্রীয় প্রসেসরে খনির কাজ ধ্বংস করেছে এবং ইতিমধ্যেই ভিডিও কার্ডে খনির কাজ শেষ করছে।

দেখে মনে হবে এতে কোনও ভুল নেই - সুস্থ প্রতিযোগিতা, সর্বোপরি। কিন্তু প্রকৃতপক্ষে, ASIC-এর ব্যবহার উল্লেখযোগ্যভাবে ক্রিপ্টোকারেন্সিকে কেন্দ্রীভূত করে, যার ফলে এটির ধারণাকে নিরপেক্ষ করে। এই সত্যটি সাহায্য করতে পারেনি কিন্তু প্রতিভাবান উত্সাহীদের নতুন, আরও উন্নত হ্যাশিং অ্যালগরিদম তৈরি করতে বাধ্য করতে পারে। এবং তারা আসতে দীর্ঘ ছিল না.

SHA-256 প্রোটোকল বর্তমানে ক্রিপ্টোকারেন্সি মার্কেটের সিংহভাগ দখল করে আছে, কিন্তু নতুন বিকল্প ইতিমধ্যেই আত্মবিশ্বাসের সাথে একে দূরে সরিয়ে দিচ্ছে। উদাহরণস্বরূপ, দ্বিতীয় সর্বাধিক জনপ্রিয় এবং "ব্যয়বহুল" ক্রিপ্ট, Ethereum, Ethash প্রোটোকল ব্যবহার করে, যা আগে ডেগার নামে পরিচিত ছিল। প্রোটোকলটি এত ভাল যে ইথেরিয়াম এখনও পর্যন্ত সর্বাধিক বিকেন্দ্রীকরণ বজায় রাখে এবং এর খনির জন্য ASIC খনির এখনও প্রকৃতিতে বিদ্যমান নেই। সম্ভবত Ethash স্পষ্টভাবে অপ্রচলিত SHA-256 প্রতিস্থাপন করবে।

প্রথম বিকল্প অ্যালগরিদমগুলির মধ্যে একটি ছিল স্ক্রিপ্ট, যার উপর ভিত্তি করে সবচেয়ে জনপ্রিয় অ্যাল্টকয়েন, Litecoin। এটি একটি অনেক বেশি উন্নত সমাধান, যা আর এএসআইসিকে এমন অনস্বীকার্য সুবিধা দেয় না। যাইহোক, খনন থেকে অতি-লাভের কারণে চীনা বিশেষজ্ঞদের স্ক্রিপ্টের জন্য প্রযুক্তিগত সমাধানের বিকাশে প্রচুর প্রচেষ্টা বিনিয়োগ করতে বাধ্য করে, এবং এই প্রোটোকলের উপর ভিত্তি করে ASICs উপস্থিত হয়েছিল।

যদি আমরা একজন সাধারণ ব্যক্তির দৃষ্টিকোণ থেকে খননকে বিবেচনা করি যিনি প্রযুক্তিগত সূক্ষ্ম বিষয়ে অভিজ্ঞ নন, তবে তিনি স্ক্রিপ্ট এবং SHA-256 অ্যালগরিদমের মধ্যে কোনও পার্থক্য অনুভব করবেন না। উভয় প্রোটোকলের এএসআইসি দেখতে প্রায় একই রকম, প্রায় একই পরিমাণ বিদ্যুৎ খরচ করে এবং ঠিক একই ফ্যানের আওয়াজ করে। আরেকটি বিষয় হল ক্রিপ্টোকারেন্সি রেট যা এই একই ASICs খনি, কিন্তু এটি একটি সম্পূর্ণ ভিন্ন গল্প।

আমরা এই বিষয়ের কাঠামোর মধ্যে নিম্নলিখিত উপাদানগুলিকে উল্লিখিত বিকল্প এনক্রিপশন প্রোটোকল স্ক্রিপ্টে উত্সর্গ করব।

SHA 256 হল ক্রিপ্টোকারেন্সি খনির জন্য নির্দেশাবলীর একটি ক্রিপ্টোগ্রাফিক সেট৷ অন্য কথায়, এটি নেটওয়ার্কের সমস্ত লেনদেনকে নির্ভরযোগ্যভাবে রক্ষা করে এবং ইলেকট্রনিক কয়েন নিষ্কাশনকে জটিল করে তোলে। এই সংক্ষিপ্ত রূপটি সিকিউর হ্যাশিং অ্যালগরিদমকে বোঝায়, যার অর্থ একটি অত্যন্ত জনপ্রিয় এবং কার্যকর হ্যাশিং পদ্ধতি।

SHA 256 এর সারমর্ম হল তথ্যকে মান, সংখ্যায় রূপান্তর করা। এই চেইন একটি নির্দিষ্ট দৈর্ঘ্য আছে. এর মানে হল যে নেটওয়ার্কের মধ্যে আপনি যে কোনো তথ্য প্রেরণ করেন তা বিশেষ মান - সনাক্তকারী (আইডি) সহ এনক্রিপ্ট করা হবে।

লেনদেন করার সময়, SHA 256 অ্যালগরিদম আইডিটিকে মূল ডেটার সাথে তুলনা করে, যা পুনরুদ্ধার করা যায় না এবং তারপরে লেনদেনে অ্যাক্সেস প্রদান করে। এই প্রোটোকলটি এখন BTC এবং BCH এর মতো ক্রিপ্টোকারেন্সি খনির কাজে ব্যবহৃত হয়।

চেহারার ইতিহাস

এটা কিভাবে ঘটল যে বিটকয়েন SHA 256 ব্যবহার করা শুরু করেছে? এটি সবই অ্যালগরিদম SHA-2 পরিবারের সদস্য হওয়ার সাথে শুরু হয়েছিল, যার হ্যাশ চেইন আকার 224-512 বিট রয়েছে৷

তারা, ঘুরে, তাদের প্রপিতামহ - SHA-1-এর ভিত্তিতে তৈরি করা হয়েছিল, যার হ্যাশ 160 বিট দীর্ঘ ছিল। প্রযুক্তিটি 1995 সালে আবির্ভূত হয়েছিল, এবং এটি বেসামরিক উদ্দেশ্যে ব্যবহারের উদ্দেশ্যে ছিল - অর্থাৎ, সাধারণ, অ-রাষ্ট্রীয়-গুরুত্বপূর্ণ তথ্যের এনক্রিপশন।

SHA-2 পরিবার, যার SHA 256 অন্তর্গত, 16 বছর আগে ন্যাশনাল সিকিউরিটি এজেন্সি দ্বারা বিকশিত হয়েছিল - 2002 এর বসন্তে। এর উপর ভিত্তি করে, আমরা বলতে পারি যে অ্যালগরিদমটি নৈতিকভাবে পুরানো। যাইহোক, এটি এখনও নেটওয়ার্কে লেনদেন এনক্রিপ্ট করার জন্য সবচেয়ে শক্তিশালী অ্যালগরিদমগুলির মধ্যে একটি।

SHA 256 এর প্রযুক্তিগত পরামিতি

অ্যালগরিদমটি 64 বাইটের সমান অংশে বিভক্ত ডেটার জন্য ডিজাইন করা হয়েছে। SHA 256 নিশ্চিত করে যে সেগুলি সংগ্রহ করা হয়েছে এবং একটি একক 256-বিট চেইনে একত্রিত হয়েছে। এই পদ্ধতির প্রধান পদ্ধতি হল এনক্রিপশন অপারেশন, যা 64 বার লুপে সঞ্চালিত হয়।

SHA 256 অ্যালগরিদমিক নির্দেশাবলীর সংক্ষিপ্ত বৈশিষ্ট্য:

  • 64-বিট ব্লক - 32-বিট ব্লকের সাথে সবচেয়ে দ্রুত কাজ করে;
  • তথ্যের এনক্রিপ্ট করা চেইনের সর্বোচ্চ দৈর্ঘ্য হল 33 বাইট;
  • বার্তা ডাইজেস্ট আকার - 32 বাইট;
  • একটি শব্দের প্রমিত আকার হল 4 বাইট;
  • অপারেশনের এক রাউন্ডে এনক্রিপশন চক্র হল 64 বাইট;
  • অ্যালগরিদম যে গতিতে কাজ করে তা হল 140 Mbit/s.

এটা লক্ষণীয় যে SHA-2 পরিবারের এই সদস্যটি Merkle-Damgaard দ্বারা বর্ণিত কাঠামোর উপর ভিত্তি করে। এর মানে হলো তথ্যগুলোকে শব্দে ভাগ করার আগে তথ্যগুলোকে ব্লকে ভাগ করা হয়। প্রক্রিয়াটি ডেটা এলোমেলো করে এনক্রিপশনকে শক্তিশালী করে।

তথ্য সংগ্রহ নিজেই 64 থেকে 80 পুনরাবৃত্তির মধ্যে বাহিত হয়। প্রতিটি পরবর্তী লুপ তৈরি করা ব্লককে শব্দে রূপান্তরিত করে। চূড়ান্ত ফলাফল, যথা হ্যাশ, সমস্ত প্রাথমিক মান যোগ করে তৈরি করা হয়।

SHA 256 অ্যালগরিদম সহ ক্রিপ্টোকারেন্সি

পূর্বে উল্লিখিত হিসাবে, শুধুমাত্র বিটকয়েনের নির্দেশাবলীর একটি সেটই নয়, এছাড়াও:

  • পিয়ারকয়েন, যার বিশেষত্ব হল কোডটি কিউ বলের উপর ভিত্তি করে তৈরি করা হয়, তবে PoS পুরো নেটওয়ার্ককে রক্ষা করতে ব্যবহৃত হয় এবং PoW কয়েন বিতরণের জন্য দায়ী;
  • namecoin হল একটি ডিজিটাল মুদ্রা যা সুরক্ষা, গোপনীয়তা এবং বিকেন্দ্রীকরণের উপায় হিসাবে কাজ করে; unobtanium - অত্যন্ত কম মুদ্রাস্ফীতি আছে; সমস্ত মুদ্রা খনন করতে কমপক্ষে 300 বছর সময় লাগবে;
  • deutsche eMark হল একটি জার্মান মাইক্রোনেটওয়ার্ক যা সম্পদ এবং অর্থ বিনিময়ের জন্য ব্যবহৃত হয়। প্রক্রিয়া নিজেই মধ্যস্থতাকারী ছাড়া সঞ্চালিত হয়; betaCoin - বিশ্ব বিখ্যাত বিটকয়েনের মতো একই নীতিতে কাজ করে;
  • jouleCoin - এছাড়াও দাদা বিটকয়েনের উপর ভিত্তি করে, কিন্তু দ্রুত লেনদেন নিশ্চিতকরণ প্রদান করে;
  • steemit এমনকি একটি পৃথক ক্রিপ্ট নয়, কিন্তু ব্লকচেইনের একটি সম্পূর্ণ প্ল্যাটফর্ম। এর প্রধান কাজ আকর্ষণীয় প্রকাশনাকে পুরস্কৃত করা।

Litecoin এছাড়াও SHA 256 অ্যালগরিদম ব্যবহার করে, তবে পুরো সিস্টেম জুড়ে নয়, একটি সাবরুটিনে। Litecoin খনির জন্য, Scrypt নিরাপত্তা প্রোটোকল ব্যবহার করা হয়, যা খনির জটিলতা বাড়ায় এবং ASIC-এর পেব্যাক হ্রাস করে।

SHA 256 অ্যালগরিদমের উপর ভিত্তি করে ক্রিপ্টোকারেন্সি মাইনিং

SHA-2 পরিবারের উপর ভিত্তি করে ইলেকট্রনিক কয়েন খনির জন্য, বিশেষ সরঞ্জামগুলি ব্যবহার করার প্রয়োজন নেই - ASIC। সিপিইউ এবং জিপিইউ ভিত্তিক খামার উভয়ই খনিতে ভাল পারফর্ম করে। পরেরটি স্পষ্টতই পূর্বের তুলনায় গতিতে উচ্চতর।

এবং এখনও ASIC খনির ক্রিপ্টোকারেন্সিগুলির জন্য সর্বোত্তম সমাধান। এর সুবিধাগুলি কিছু পরিমাণে এর উল্লেখযোগ্য মূল্য দ্বারা অফসেট হয় - প্রায় 100 হাজার রুবেল, আরও শক্তিশালী মডেল এমনকি 500,000 ছাড়িয়ে যায়। জটিলতা বৃদ্ধির সাথে সাথে পেব্যাক হ্রাস পায়। অতএব, সরঞ্জামগুলি সর্বদা নিজেকে ন্যায্যতা দেয় না, যদিও এটি ভিডিও কার্ডের খামার এবং বিশেষত একটি সিপিইউর তুলনায় অনেক বেশি খনির গতি সরবরাহ করে।

জিপিইউ মাইনিং কমবেশি লাভজনক বলে মনে করা হয়। সাধারণভাবে, পুরো খামারের জন্য আনুমানিক $1000-2000 খরচ হবে, অতিরিক্ত সরঞ্জাম - বিশেষ করে, ভিডিও কার্ডের জন্য কুলিং সিস্টেম। এটি প্রাঙ্গনের ভাড়া, বিদ্যুতের অর্থ প্রদান এবং পরিষেবা কর্মীদের জন্য বেতন বিবেচনায় নেওয়াও মূল্যবান।

ভিডিও কার্ডগুলির মধ্যে, এনভিডিয়ার GTX 1080 Ti ভাল পারফর্ম করে৷ এটি প্রতি সেকেন্ডে 1400 সফল অপারেশনের গতি তৈরি করে। এএমডি তার ভেগা লাইন কার্ডগুলির সাথে কিছুটা পিছনে রয়েছে - 1200 MH/s৷ এছাড়াও Radeon 7970 এর মত সস্তা বিকল্প আছে, কিন্তু এর গতি 800 MH/s এর বেশি নয়।

SHA 256 অ্যালগরিদম, যদিও পুরানো, তবুও বিটকয়েনে ব্যবহৃত হয়, বিশ্বের এক নম্বর ক্রিপ্টোকারেন্সি। প্রোটোকল অন্যান্য প্রতিশ্রুতিশীল altcoins একটি সংখ্যা ব্যবহার করা হয়. SHA256 ধীরে ধীরে স্ক্রিপ্ট দ্বারা প্রতিস্থাপিত হচ্ছে, কিন্তু বিটকয়েনের এটিতে যাওয়ার কোন পরিকল্পনা নেই। খনির বিষয়ে, সবকিছুই সহজ - যদি আপনার কাছে টাকা থাকে তবে উচ্চ হ্যাশ রেট সহ ASICs নিন। একটি আরো অর্থনৈতিক সমাধান চান? তারপর AMD বা Nvidia ভিডিও কার্ড থেকে একটি খামার তৈরি করুন।

  • অনুবাদ

এক পর্যায়ে আমি বের করতে চেয়েছিলাম কত দ্রুত বিটকয়েন ম্যানুয়ালি মাইন করা সম্ভব। দেখা গেল যে SHA-256 হ্যাশিং খনির জন্য ব্যবহৃত হয় এবং এটি বেশ সহজ এবং কম্পিউটার ছাড়াই গণনা করা যেতে পারে। অবশ্যই, প্রক্রিয়াটি খুব ধীর এবং সম্পূর্ণরূপে অবাস্তব। কিন্তু কাগজে সমস্ত ধাপের মধ্য দিয়ে যাওয়ার পরে, আপনি কীভাবে অ্যালগরিদম কাজ করে তার বিশদ বিবরণ সম্পর্কে ভাল ধারণা পেতে পারেন।

এক ক্রিপ্টো রাউন্ড

খনির

সমগ্র বিটকয়েন নিরাপত্তা ব্যবস্থার একটি মূল অংশ হল মাইনিং। মূল ধারণা হল যে খনি শ্রমিকরা বিটকয়েন লেনদেনগুলিকে একটি ব্লকে গোষ্ঠীভুক্ত করে, যা তারা একটি অগণিত সংখ্যক হ্যাশ করে একটি খুব বিরল হ্যাশ মান খুঁজে পেতে যা বিশেষ অবস্থার অধীনে পড়ে। যখন এই ধরনের একটি মান পাওয়া যায়, ব্লকটি খনন করা বলে মনে করা হয় এবং ব্লক চেইনে প্রবেশ করে। হ্যাশিং নিজেই সঠিক ব্লক খুঁজে পাওয়ার অসুবিধা বাড়ানো ছাড়া অন্য কোন দরকারী উদ্দেশ্য পরিবেশন করে না। এইভাবে, এটি এমন একটি গ্যারান্টি যে কোনো বিদ্যমান সংস্থান সহ কেউ একা পুরো সিস্টেমের নিয়ন্ত্রণ নিতে সক্ষম হবে না। আপনি আমার শেষ নিবন্ধে খনির সম্পর্কে আরও পড়তে পারেন।

ক্রিপ্টোগ্রাফিক হ্যাশিং ফাংশন ইনপুট হিসাবে ডেটার একটি ব্লক গ্রহণ করে এবং একটি ছোট কিন্তু অপ্রত্যাশিত আউটপুট তৈরি করে। এটি এমনভাবে ডিজাইন করা হয়েছে যাতে আপনি যে আউটপুটটি চান তা পাওয়ার দ্রুত উপায় নেই এবং আপনি সঠিক মান খুঁজে না পাওয়া পর্যন্ত আপনাকে অনুসন্ধান চালিয়ে যেতে হবে। বিটকয়েন একটি ফাংশন হিসাবে SHA-256 ব্যবহার করে। অধিকন্তু, প্রতিরোধ বাড়াতে, SHA-256 ব্লকে দুইবার প্রয়োগ করা হয় এবং একে ডবল SHA-256 বলা হয়।

বিটকয়েনে, হ্যাশের বৈধ হওয়ার মাপকাঠি হল পর্যাপ্ত সংখ্যক অগ্রণী শূন্য থাকা। এই ধরনের একটি হ্যাশ খুঁজে পাওয়া যেমন কঠিন, উদাহরণস্বরূপ, একটি গাড়ি বা ফোন নম্বর খুঁজে পাওয়া যা বেশ কয়েকটি শূন্যে শেষ হয়। কিন্তু অবশ্যই একটি হ্যাশের জন্য এটা exponentially আরো কঠিন. বর্তমানে, একটি বৈধ হ্যাশে আনুমানিক 17টি অগ্রণী শূন্য থাকতে হবে, যা শুধুমাত্র 1.4x10 20-এর মধ্যে 1 দ্বারা সন্তুষ্ট। যদি আমরা একটি সাদৃশ্য আঁকি, তাহলে পৃথিবীর সমস্ত বালির মধ্যে একটি নির্দিষ্ট কণা খুঁজে পাওয়ার চেয়ে এই জাতীয় মান খুঁজে পাওয়া আরও কঠিন।

ক্রিপ্টোগ্রাফিক বিশ্লেষণকে আরও কঠিন করতে নীল নন-লিনিয়ারলি শাফেল বিটগুলিকে ব্লক করে। অধিকন্তু, আরও বেশি নির্ভরযোগ্যতার জন্য, বিভিন্ন মিক্সিং ফাংশন ব্যবহার করা হয় (যদি আপনি দ্রুত বৈধ হ্যাশ তৈরি করার জন্য একটি গাণিতিক ত্রুটি খুঁজে পান, আপনি পুরো বিটকয়েন মাইনিং প্রক্রিয়ার নিয়ন্ত্রণ নেবেন)।

সংখ্যাগরিষ্ঠ ফাংশন (Ma ব্লক) A, B, এবং C শব্দের উপর বিটওয়াইসে কাজ করে। প্রতিটি বিট পজিশনের জন্য, যদি সেই অবস্থানে ইনপুট বিটের সংখ্যাগরিষ্ঠ অংশ শূন্য হয় তবে এটি 0 প্রদান করে, অন্যথায় এটি 1 প্রদান করে।

ব্লক Σ0 A কে 2 বিট দ্বারা ঘোরায়, তারপর মূল শব্দ A কে 13 বিট দ্বারা এবং একইভাবে 22 বিট দ্বারা ঘোরানো হয়। ফলস্বরূপ A-এর তিনটি স্থানান্তরিত সংস্করণ যোগ করা হয়েছে বিটওয়াইজ মডুলো 2 ( স্বাভাবিক xor, (A ror 2) xor (A ror 13) xor (A ror 22)).

Ch নির্বাচন ফাংশন প্রয়োগ করে। প্রতিটি বিট অবস্থানে, E থেকে একটি বিট চেক করা হয়, যদি এটি একের সমান হয়, তবে এই অবস্থান থেকে F থেকে বিটটি আউটপুট, অন্যথায় G থেকে একটি বিট। এভাবে, F এবং G থেকে বিটগুলি মানের উপর ভিত্তি করে মিশ্রিত হয়। এর ই.

Σ1 গঠনে Σ0 এর অনুরূপ, কিন্তু E শব্দের সাথে কাজ করে এবং সংশ্লিষ্ট শিফটের ধ্রুবকগুলি হল 6, 11 এবং 25৷

লাল ব্লকগুলি একটি 32-বিট সংযোজন সঞ্চালন করে, আউটপুট শব্দ A এবং E এর জন্য নতুন মান তৈরি করে। Wt মানটি ইনপুট ডেটার উপর ভিত্তি করে তৈরি করা হয় (এটি অ্যালগরিদমের অংশে ঘটে যা হ্যাশ করা ডেটা গ্রহণ করে এবং প্রক্রিয়া করে। এটা আমাদের সুযোগের বাইরে)। K t প্রতিটি রাউন্ডের জন্য তার নিজস্ব ধ্রুবক।

উপরের চিত্রে, এটি লক্ষণীয় যে শুধুমাত্র একটি ক্রিপ্টোগ্রাফিক রাউন্ডে A এবং E পরিবর্তন হয়। অবশিষ্ট শব্দগুলি পরিবর্তিত হয় না, তবে আউটপুটে স্থানান্তরিত হয় - পুরানো A আউটপুট B এ পরিণত হয়, পুরানো B নতুন C এ পরিণত হয় এবং আরও অনেক কিছু। যদিও অ্যালগরিদমের একটি একক রাউন্ড ডেটা খুব বেশি পরিবর্তন করে না, 64 রাউন্ডের পরে, ইনপুট তথ্য সম্পূর্ণরূপে এনক্রিপ্ট করা হবে।

আমরা ম্যানুয়ালি খনি

ভিডিওতে আমি দেখাই কিভাবে আপনি একটি কলম এবং কাগজ দিয়ে বর্ণিত সমস্ত পদক্ষেপের মধ্য দিয়ে যেতে পারেন। আমি ব্লকটি মাইন করার জন্য হ্যাশিংয়ের প্রথম রাউন্ডটি সম্পাদন করেছি। এটি আমার 16 মিনিট, 45 সেকেন্ড সময় নিয়েছে।


আমাকে একটু ব্যাখ্যা করা যাক কি ঘটছে: আমি হেক্সাডেসিমেল আকারে A থেকে H পর্যন্ত শব্দগুলি লিখেছিলাম এবং প্রতিটির নীচে আমি বাইনারি আকারে অনুবাদ করেছি। ব্লক Ma এর ফলাফল C শব্দের নীচে, এবং শিফটের পরে A এর মান এবং আউটপুট Σ0 নিজেই A এর সাথে লাইনের উপরে উপস্থিত হয়। নির্বাচন ফাংশনটি G এর নীচে প্রদর্শিত হয় এবং অবশেষে E এবং এর সংশ্লিষ্ট স্থানান্তরিত সংস্করণগুলি ব্লকের পরে মান Σ1 E এর সাথে লাইনের উপরে যান। নীচের ডানদিকে কোণায় একটি সংযোজন করা হয়েছে, যার ফলাফলটি নতুন A এবং নতুন E উভয়ের গণনার সাথে জড়িত (প্রথম তিনটি লাল সমষ্টি ব্লক)। উপরের ডানদিকে আমি A এর নতুন মান গণনা করেছি, এবং মাঝখানে E এর নতুন মানের গণনা। এই সমস্ত ধাপ উপরে আলোচনা করা হয়েছে এবং ডায়াগ্রামে সহজেই ট্র্যাক করা যেতে পারে।

ভিডিওতে দেখানো রাউন্ডের পাশাপাশি, আমি আরও একটি পরিচালনা করেছি - একটি নির্দিষ্ট বিটকয়েন ব্লকের জন্য শেষ 64তম হ্যাশিং রাউন্ড। ফটোতে, হ্যাশের মান হলুদে হাইলাইট করা হয়েছে। শূন্যের সংখ্যা নিশ্চিত করে যে এটি একটি বৈধ বিটকয়েন হ্যাশ। মনে রাখবেন যে শূন্যগুলি হ্যাশের শেষে অবস্থিত, এবং শুরুতে নয়, যেমন আমি আগে লিখেছি। কারণ হল যে বিটকয়েন কেবল SHA-256 দ্বারা প্রাপ্ত বাইটগুলিকে ফ্লিপ করে।


SHA-256 এর শেষ রাউন্ড, যার ফলস্বরূপ একটি সফলভাবে খনন করা বিটকয়েন ব্লক দৃশ্যমান

হার্ডওয়্যার খনির ডিজাইনের জন্য এই সবের মানে কি?

SHA-256-এর প্রতিটি ধাপ ডিজিটাল লজিকে খুব সহজ দেখায় - সাধারণ বিট অপারেশন এবং 32-বিট সমষ্টি (যদি আপনি কখনও সার্কিট ডিজাইন অধ্যয়ন করে থাকেন, আপনি সম্ভবত ইতিমধ্যেই কল্পনা করেছেন যে এটি হার্ডওয়্যারে কেমন হতে পারে)। অতএব, ASICs SHA-256 অত্যন্ত দক্ষতার সাথে বাস্তবায়ন করে, শত শত SHA-256 রাউন্ড এক্সিকিউশন ইউনিট সমান্তরালে স্থাপন করে। নীচের ছবিটি একটি মাইনিং চিপ দেখায় যা প্রতি সেকেন্ডে 2-3 বিলিয়ন হ্যাশ গণনা করতে পারে। আপনি Zeptobars এ আরো ছবি দেখতে পারেন.


Bitfury ASIC চিপের একটি সিলিকন শট, যা প্রতি সেকেন্ডে 2-3 গিগাহ্যাশে বিটকয়েন মাইন করতে পারে। Zeptobars থেকে ছবি. (CC BY 3.0)

বিটকয়েনের বিপরীতে, লাইটকয়েন, ডোজকয়েন এবং অন্যান্য অনুরূপ বিকল্প -কয়েন সিস্টেমগুলি স্ক্রিপ্ট হ্যাশিং অ্যালগরিদম ব্যবহার করে, যা হার্ডওয়্যারে প্রয়োগ করা সহজাতভাবে কঠিন। এই অ্যালগরিদমটি কার্যকর করার সময় মেমরিতে 1024টি ভিন্ন হ্যাশ মান সঞ্চয় করে এবং চূড়ান্ত ফলাফল পেতে আউটপুটে তাদের একত্রিত করে। অতএব, SHA-256 হ্যাশের তুলনায় স্ক্রিপ্ট হ্যাশ গণনা করতে অনেক বেশি মেমরি এবং সার্কিট্রির প্রয়োজন। সংশ্লিষ্ট মাইনিং হার্ডওয়্যারের সাথে তুলনা করার সময় হ্যাশিং অ্যালগরিদম পরিবর্তনের প্রভাব স্পষ্টভাবে দৃশ্যমান হয় - স্ক্রিপ্টের সংস্করণ (Litecoin এবং অন্যান্য) SHA-256 (বিটকয়েন) এর সংস্করণের তুলনায় হাজার গুণ ধীর।

উপসংহার

SHA-256 হঠাৎ করে এতই সহজ যে এটি হাত দিয়েও গণনা করা যেতে পারে (বিটকয়েন লেনদেন সাইন করার জন্য ব্যবহৃত উপবৃত্তাকার বক্ররেখা অ্যালগরিদমটি অনেক বেশি বেদনাদায়ক হবে, কারণ এতে 32-বাইট সংখ্যার একগুচ্ছ গুণ জড়িত)। SHA-256 এর এক রাউন্ড গণনা করতে আমার 16 মিনিট, 45 সেকেন্ড সময় লেগেছে। এই পারফরম্যান্সের সাথে, একটি সম্পূর্ণ বিটকয়েন ব্লক (128 রাউন্ড) হ্যাশ করতে 1.49 দিন সময় লাগবে, অর্থাৎ, আমরা প্রতিদিন 0.67 হ্যাশের হ্যাশিং হার পাই (আসলে, অবশ্যই, প্রক্রিয়াটি অনুশীলনের সাথে দ্রুততর হবে)। তুলনা করে, বর্তমান প্রজন্মের বিটকয়েন মাইনাররা প্রতি সেকেন্ডে বেশ কিছু টেরাহ্যাশ তৈরি করে, যা আমার চেয়ে প্রায় এক কুইন্টিলিয়ন গুণ বেশি। আমি মনে করি এটা স্পষ্ট যে ম্যানুয়াল বিটকয়েন মাইনিং খুব বাস্তব নয়।

reddit-এর একজন পাঠক আমার শক্তি ব্যয় সম্পর্কে জিজ্ঞাসা করেছিলেন৷ যেহেতু আমি কোনও গুরুতর শারীরিক পরিশ্রম করি না, তাই আমরা ধরে নিতে পারি যে বিপাকীয় হার প্রতিদিন 1500 কিলোক্যালরি হবে, তারপর আমরা দেখতে পাই যে ম্যানুয়াল হ্যাশিংয়ের জন্য প্রতি হ্যাশের জন্য প্রায় 10 মেগাজুল প্রয়োজন৷ সাধারণ শক্তি খরচ একজন লোহা খনির জন্য প্রতি জুলে 1000 ম্যাগহাশ। এইভাবে, আমি একটি বিশেষায়িত লোহার টুকরো থেকে 10^16 গুণ (10 কোয়াড্রিলিয়ন) কম শক্তি সাশ্রয়ী। আরেকটি সমস্যা হল শক্তির খরচ। শক্তির একটি সস্তা উৎস হল ডোনাটস 23 প্রতি 200 কিলোক্যালরি সেন্ট। আমার বিদ্যুতের খরচ প্রতি কিলোওয়াট-ঘণ্টায় 15 সেন্ট, যা ডোনাট থেকে 6.7 গুণ কম। ফলস্বরূপ, একজন মানব খনি হিসাবে আমার জন্য হ্যাশের পরিপ্রেক্ষিতে শক্তির খরচ 67 কোয়াড্রিলিয়ন গুণ বেশি। হ্যাঁ, এটা স্পষ্ট যে আমি এটা পাব না।