الگوریتم های بلاک چین و رمزنگاری

الگوریتم هایی که به طور کلی در پشت بلاک چین اجرا می شونده همانطور که قبلاً اشاره کردیم بلاک چین از رمزنگاری و کد آن برای تعریف رمزنگاری استفاده می کند. شما می توانید دو دسته را انتخاب کنید.یکی رمزنگاری متفارن است و دیگری رمزنگاری نا متقارن است. بنابراین اجازه دهید ابتدا رمزنگاری متقارن و نامتقارن را درک کنیم و سپس نکاتی را به شما ارائه خواهیم داد که الگوریتم‌های مختلف بر اساس آن در بلاک چین به کار می‌رود.


این یک نمودار کلی برای الگوریتم رمزنگاری متقارن است. و همانطور که در نمودار می بینید، این الگوریتم یک کلید بین هر دو طرف را نشان می دهد. بنابراین فردی که داده ها را ارسال می کند و شخصی که داده ها را دریافت می کند از یک کلید مخفی استفاده می کنند. برای رمزگذاری و رمزگشایی داده ها در هر دو انتها. رمزنگاری متقارن یک الگوریتم رمزگذاری بسیار ساده است که تنها از یک کلید مخفی برای رمزگذاری و رمزگشایی داده ها استفاده می کند. فرض در مورد این الگوریتم رمزنگاری این است که فرستنده و گیرنده باید این کلید مخفی را بدانند. ، یا باید فرآیندی ایجاد شود که از طریق آن کلید مخفی بین هر دو شرکت کننده به اشتراک گذاشته شود. برخی از نمونه های رمزنگاری نامتقارن عبارتند از Blowfish A Years Odyssey for Odyssey five، RC،six، و غیره.چون ما از کلید یکسانی بین هر دو شرکت کننده استفاده می کنیم، این باعث می شود الگوریتم در مقایسه با انواع دیگر الگوریتم های رمزنگاری بسیار بیشتر تقویت شود، اما همچنین امکان حضور انسان در آن را افزایش می دهد. زیرا اگر می خواهید از این رمزنگاری استفاده کنید، باید فرآیندی را طراحی کنیم که از طریق آن کلید را به اشتراک بگذاریم و این اشتراک گذاری کلید می تواند یک فرآیند ناامن باشد


حالا بیایید برویم و برخی از نکات کلیدی در مورد رمز نگاری نامتقارن را بررسی کنیم. در ای نرمزنگاری همانطور که می بینید، وقتی از الگوریتم رمزنگاری نامتقارن استفاده می کنید، همیشه ی یک کلید عمومی خواهید داشت و همچنین یک کلید مخفی خواهید داشت که به آن کلید خصوصی نیز می گویند.. افراد می‌توانند از کلید عمومی برای رمزگشایی داده‌هایی که به اشتراک گذاشته‌اید استفاده کنند.همچنین، در یک ledger برعکس کار می کند که در آن می توانید داده هایی را که افراد با استفاده از کلید عمومی شما رمزگذاری کرده اند با استفاده از کلید مخفی رمزگشایی کنید. تولید کلیدها و به صورت کلی الگوریتم رمزنگاری یک فرآیند یک طرفه است. حتی یک ابر رایانه ممکن است چندین میلیون سال طول بکشد تا کلید خصوصی را از کلید عمومی تولید کند. این نوع اصلی الگوریتم است که در پشت بلاک چین نیز استفاده می شود. در دنیای بلاک چین، ما از چنین الگوریتمی استفاده می‌کنیم تا مطمئن شویم شرکت‌کنندگان می‌توانند خود را احراز هویت کنند تا کارت‌ها را تأیید کنند و مطمئن شویم که کل شبکه ایمن است .همانطور که می‌دانید، رمزنگاری نامتقارن از ستون‌های کلید عمومی استفاده می‌کند، بنابراین تبادل کلیدها از طریق اینترنت بسیار ساده تر از الگوریتم متقارن است. برخی از نمونه‌های الگوریتم‌های رمزنگاری نامتقارن با الگوریتم SC و UCC آزمایش شده‌اند. .


حال اجازه دهید به یکی از نمونه‌های الگوریتم رمزنگاری نامتقارن که الگوریتم OECD است نگاه کنیم. این الگوریتم به شدت در بیت کوین و اتریوم استفاده می شود.. این الگوریتم به شما کمک می کند Ocho یا معادله درجه دوم نهایی را ترسیم کنید، که می تواند بر روی محور X و y رسم شود. اگر بخواهیم این الگوریتم را توضیح دهیم، می توانیم یک خط مستقیم را انتخاب کنیم که فقط با عبور از منحنی و به صورت مستقیم خط به ما کمک می کند تا نقطه را رسم کنیم.یک نقطه به عنوان یک کلید خصوصی در نظر گرفته شود و Pose مختصات X و Y را در بالای منحنی تعریف می کند. مختصات X و Y روی منحنی است. به این ترتیب ما دو نقطه هستیم که به عنوان یک بهره خصوصی از کلید عمومی در بالای منحنی عمل می کند که ازالگوریتم گرفته می شود. ا این الگوریتم به شدت در بیت کوین استفاده می شود تا اطمینان حاصل شود که وجوه فقط توسط صاحبان قانونی خرج می شود. این الگوریتم در مقایسه با الگوریتم های دیگر که در زیر همان چتر رمزنگاری وجود دارند، الگوریتمی بسیار سکولار است. به عنوان مثال، کلید عمومی برای الگوریتم OECD تقریباً برابر با 160 بیت است. اندازه امضا برای هر دو استفاده عمومی یکسان خواهد بود. به همین دلیل است که الگوریتم OECD از نظر بلاک چین بسیار مورد علاقه است و برای تولید آدرس های خصوصی و عمومی با پلتفرم های مختلف بلاک چین استفاده می شود. الگوریتم مهم دیگری که ما با بلاکچین استفاده می کنیم، تابع هش ، برای احراز هویت و تأیید داده‌هایی که در سراسر بلاک چین فرود می‌آیند ،استفاده می‌شود. اگر نمونه بیت‌کوین و اتریوم را مشاهده کنید، ما از هش کردن به این معنا استفاده می‌کنیم که در حین دریافت تراکنش یا زمانی که در حال تولید بلوک هستیم،ما بلوک را به زمان بلوک و سایر مشخصات اضافه کرده ایم. در نهایت، این هدر بلوک را که برای عملکرد هش در بیت کوین تولید شده است از عبور دادیم. ما از نمودار 256 هش استفاده می کنیم. تابع و خروجی 256 بیتی از طریق تابع هش با بیت کوین تولید می شود. ما همچنین از مقدار اعلام شده با هدر بلوک استفاده می کنیم، بنابراین مطمئن می شویم که هشی که از طریق تابع SHA 256 تولید می شود، دارای صفرهای اصلی مرتبط با آن باشد. با توجه به سختی بلاک چین به طور کلی، اگر بخواهیم تابع هش را تعریف کنیم، می توان گفت که تابع هش برای تبدیل طول متغیر داده به طول ثابت استفاده می شود. اندازه داده ای که در تابع هش ارائه می کنید می تواند یک بایت یا یک ترابایت باشد ولی خروجی همیشه یکسان خواهد بود. برای مثال، اگر از SHA256 استفاده کنیم، خروجی همیشه 256 بیت یا 32 بایت خواهد بود.
در حین گرفتن تابع هش چند نکته کلیدی مهم وجود دارد. اولین نکته کلیدی مهم این است که تابع هش که ما از آن استفاده می کنیم باید برای هر نوع داده ای سریع باشد. نکته دوم این است که هش گرفته شده نمی تواند به پیام اصلی باز می گردد. نکته سوم این است که هر داده ای که فقط از تابع هش می گذرد نباید با هم برخورد داشته باشد. چهارمین نکته کلیدی مهم این است که هر تغییری در داخل پیام، حتی یک بیت کوچک، باید مقدار هش را کاملاً تغییر دهد. بنابراین این چهار کلید مهم، عملکرد هش را قابل قبول می‌کند. یکی دیگر از الگوریتم های اصلی که در بلاک چین استفاده می کنیم، درخت مرکل است که با بیت کوین و اتریوم استفاده می شود تا مطمئن شویم که یک مسیر واحد داریم که از طریق آن می توان هر تراکنش را انجام دادبه عنوان یک کاربر تأیید شده یا یک ماینر، نیازی به انجام هر تراکنش ندارید و شما فقط می توانید مسیر مرکل را ادامه داده و یا می توانید تمام تراکنش های موجود در بلوک را تأیید کنید. Merkle.Root به پلتفرم های مختلف بلاک چین بستگی دارد. برخی دیگر از پلتفرم های بلاک چین، مانند کد، از Merkle Root برای خود تراکنش استفاده می کنند. بنابراین یک تراکنش منفرد در داخل یک مسیر Merkle تقسیم می شود، جایی که هر گره برگ به عنوان یکی از اجزای تراکنش عمل می کند و آن تراکنش تا زمانی که مسیر هش نهایی برای تراکنش ایجاد شود انجام می‌شود و اطمینان حاصل می‌کند که فقط برخی از مؤلفه‌ها برای طرف‌های مختلف برای تراکنش قابل دسترسی هستند. درخت مرکل معمولی در جایی کار می‌کند که تعداد گره‌های زوجی داشته باشید و نگه دارید