تاریخ انتشار: 10 آبان 1400 | آخرین بهروزرسانی: 11 تیر 1402
زمان مطالعه:
4 دقیقه
در ابتدا باید بگوییم که شبکه بلاک چین، برای ادامه کار خود از رمزنگاریهای متعددی استفاده میکند که یکی از آنها رمزنگاری کلید عمومی است. در واقع علت استفاده از کلیدهای خصوصی و عمومی امضای تراکنش توسط صاحب دارایی و سرمایه است.
همانطور که میدانید وقتی شما سرمایه خود را در ارزهای دیجیتال ذخیره میکنید؛ ارزهای دیجیتال را خریداری کرده و صاحب یک کلید خصوصی میشوید. میتوان اینطور برداشت کرد که بر خلاف پول فیات، در دنیای کریپتو شما صاحب ارز نخواهید بود؛ بلکه صاحب کلید خصوصی هستید که تنها مختص به شما ساخته شده است.
خرید و فروش ارزهای دیجیتال و به طور کلی انجام تمامی تراکنشها و معاملات تنها توسط کلید خصوصی امکانپذیر است. هر کلید خصوصی یک یا چند کلید عمومی را به خود نسبت میدهد. نکته ای که باید در نظر بگیرید این است که در صورت فراموش کردن یا گم کردن کلید عمومی، امکان بازیابی آن توسط کلید خصوصی وجود دارد اما برعکس این قضیه بسیار پیچیده خواهد بود و امکان بازیابی به صفر میرسد.
دقیقا مانند کلید خصوصی، کلیدهای عمومی نیز عضو جدا نشدنی ارزهای دیجیتال هستند. به گونهای که میتوان ادعا کرد که کلیدها بخشی از ارزهای دیجیتال به شمار میآیند.
رمزنگاری کلید عمومی
رمزنگاری کلید عمومی از یک جفت کلید عمومی و کلید خصوصی برای انجام کارهای مختلف استفاده می کند. کلیدهای عمومی به طور گسترده توزیع میشوند، در حالی که کلیدهای خصوصی مخفی نگه داشته میشوند.
با استفاده از کلید عمومی یک شخص، می توان پیامی را به گونهای رمزگذاری کرد که تنها شخصی که دارای کلید خصوصی است بتواند آن را رمزگشایی کرده و بخواند.
با استفاده از یک کلید خصوصی، میتوان یک امضای دیجیتال ایجاد کرد تا هرکسی که کلید عمومی مربوطه را داشته باشد بتواند تأیید کند که پیام توسط صاحب کلید خصوصی ایجاد شده است و از آن زمان تغییری در آن صورت نگرفته است. شبکه بلاک چین به طور گستردهای از رمزنگاری کلید عمومی استفاده میکند.
بنابراین، اجازه دهید کمی در مورد رمزنگاری و برخی از اصول این صنعت نوین صحبت کنیم. اولین مورد، مشکلات آسان و سخت است، و اساساً این چیزی است که رمزنگاری کلید خصوصی بر پایه آن است.
برخی از مشکلات وجود دارد که از یک جهت بسیار آسان است، اما از جهت دیگر دشوار است. شما میتوانید یک مثال عالی از این را با عمل ضرب داشته باشید. اگر یک قلم و کاغذ و زمان زیادی به شما بدهم، و از شما بخواهم که هر دو عدد را ضرب کنید، و احتمالاً میتوانید به راحتی به پاسخی برسید.
اما این مسئله زمانی مشکل است که من حاصل ضرب دو عدد را به شما بدهم و از شما بخواهم که آن را فاکتور بگیرید و تمام اعدادی را که میتوانید با هم ضرب کنید تا به آن نتیجه برسید، بیابید، این مشکل بسیار سختتر و پیچیده است.
مثالی از عملکرد کلید عمومی
در مثال بالا ما از یک مسئله ریاضی آسان برای تولید پیام استفاده میکنیم، اما رمزگشایی آن پیام توسط شخصی که نباید آن را رمزگشایی کند بسیار سخت میکنیم، بنابراین کلیدهای عمومی و خصوصی نقش بزرگی در بلاک چین دارند.
مثال:
تصور کنید دو کیف پول متفاوت داریم. یک کیف پولی که شما در آن پول نگه میدارید، و یک کیف پول سخت افزاری (کیف پولی دیجیتال که میتوانید از آن برای معامله چیزی مانند بیتکوین یا اتریوم استفاده کنید).
اکنون، چیزی که در کیف پول معمولی خود قرار میدهیم، پول است، و اگر آن را گم کنید، هرکس آن را پیدا کند، پول شما را میگیرد و می تواند آن را به راحتی خرج کند. اما در شبکه بلاک چین، برای کیفهای دیجیتال مخصوص ارزهای دیجیتال، قضیه متفاوت است.
کلید خصوصی و کلید عمومی با هم کار میکنند تا بتوانیم از کلید خصوصی برای امضای دیجیتالی، هر پیام یا در مورد ارزهای دیجیتال، تراکنش استفاده کنیم. سپس میتوانید کلید عمومی را که هر کسی میتواند بداند، بگیرید و از آن برای تأیید اینکه کلید خصوصی خاص من همانی است که در واقع آن پیام/تراکنش را امضا کرده است استفاده کنید.
به این ترتیب فرد مقابل متوجه میشود که تراکنش توسط شخص شما ایجاد و امضا شده و اشخاص دیگری در پی جعل هویت شما نبودهاند.
از پیوند بلاکچین و هوش مصنوعی، به پول میرسیم؟
جوابت تو شماره ۱۴ ماهنامه دامیننسه!
کلید عمومی چیست؟
در صنعت ارزهای دیجیتال، کلید عمومی یک مقدار عددی بزرگ است که برای رمزگذاری دادهها استفاده میشود. کلید را میتوان توسط یک برنامه نرمافزاری تولید کرد، اما بیشتر اوقات، توسط یک مرجع معتمد و تعیین شده ارائه میشود و از طریق یک مخزن یا دایرکتوری در دسترس عموم قرار میگیرد.
کلید عمومی، برای رمزگذاری پیام یا بررسی مشروعیت امضای دیجیتال استفاده میشود. در واقع کلید عمومی، با یک کلید خصوصی مربوطه همراه است که فقط برای صاحب آن شناخته شده است. کلیدهای خصوصی برای رمزگشایی پیامهایی که با کلید عمومی مربوطه ایجاد شدهاند و برای ایجاد امضا نیز مورد استفاده قرار میگیرند. به عبارت دیگر، یک کلید عمومی دادهها را از استفاده غیرمجاز مصون نگه میدارد، در حالی که یک کلید خصوصی برای باز کردن قفل آن استفاده میشود.
کلیدهای عمومی از یک مرجع گواهی در دسترس هستند، آنها گواهیهای دیجیتالی صادر میکنند که هویت مالک را ثابت میکند و حاوی کلید عمومی مالک است. کلیدهای عمومی با استفاده از یک الگوریتم نامتقارن ایجاد میشوند که کلید عمومی را با یک کلید خصوصی مرتبط لینک میکند.
یک کلید عمومی را میتوان به هر شخصی که فردی میخواهد با او ارتباط برقرار کند ارسال کرد، در حالی که یک کلید خصوصی متعلق به فردی است که برای آن ایجاد شده است و به اشتراک گذاشته نمیشود.
کلید عمومی معمولاً در سرور زیرساخت کلید عمومی ذخیره میشود و برای رمزگذاری ایمن دادهها قبل از ارسال از طریق اینترنت استفاده میشود.
نحوه عملکرد کلید عمومی:
کلید رمزنگاری یک الگوریتم ریاضی است که در نرمافزار یا سختافزار پیادهسازی شده و برای رمزگذاری یا رمزگشایی دادهها استفاده میشود. این رشتهای از بیتها است که با دادهها ترکیب میشوند تا متن رمزی ایجاد کنند. همچنین میتوان از کلید رمزنگاری برای رمزگشایی دادهها به متن ساده استفاده کرد.
دو نوع اصلی الگوریتم رمزنگاری، متقارن و نامتقارن هستند. الگوریتمهای کلید متقارن با استفاده از یک کلید برای رمزگذاری و رمزگشایی اطلاعات کار میکنند، در حالی که رمزنگاری نامتقارن از دو کلید استفاده میکند: یک کلید عمومی برای رمزگذاری پیامها و یک کلید خصوصی برای رمزگشایی آنها.
فرآیند ارسال و دریافت دادهها از طریق رمزنگاری نامتقارن معمولاً شامل پنج مرحله است:
هر فرد یک کلید عمومی و یک کلید خصوصی ایجاد میکند
فرستنده و گیرنده کلیدهای عمومی را مبادله میکنند
داده های فرستنده با استفاده از کلید عمومی گیرنده رمزگذاری میشود
داده های رمزگذاری شده برای گیرنده ارسال میشود
گیرنده پیام را با استفاده از کلید خصوصی خود رمزگشایی میکند
گفتار پایانی!
کلیدهای خصوصی و عمومی هر دو برای ادامه روند کاری شبکه بلاک چین ضروری هستند بنابراین شناخت کاربرد آنها نیز از اهمیت بالایی بر خوردار است. ما در این نوشتار تلاش کردیم تا همه جوانب این موضوع مهم را بررسی و با شما به اشتراک بگذاریم.
کارن آهنگری
بازی با کلمات، یکی از بهترین سرگرمیهاست. در کنارش، کمک به دیده شدن این کلمات با کمک SEO هم مهمترین وظیفهی من تو بیتپینه. سعی میکنم دانستههام رو تو حوزه کریپتو با کاربرها به اشتراک بذارم و با سئو به دیده شدن این دانستهها، کمک کنم.