الگوریتم ها چگونه اجرا می شوند؟


الگوریتم جدید اینستاگرام چیست و چگونه کار می‌کند؟

بارها دیده شده است که صاحبان کسب‌وکار تصویری جذاب طراحی می‌کنند و آن را همراه با یک کپشن جذاب و گیرا و با رعایت تمام اصولی که آموزش دیده‌اند، روانهٔ اینستاگرام می‌کنند. آن‌ها انتظار دارند این پست کامنت و لایک فراوانی را به ارمغان بیاورد؛ ولی دیری نمی‌پاید که کاخ رویاهایشان فرو می‌ریزد. این شکست ارتباط زیادی به عدم توجه به الگوریتم اینستاگرام دارد.

به عبارت دیگر، شما زمانی می‌توانید از فعالیت‌هایتان در اینستاگرام بهره ببرید که بتوانید رضایت الگوریتم این پلتفرم را جلب کنید. وظیفهٔ این الگوریتم این است که محتوایی به مخاطب نشان دهد که به آن نیاز یا علاقه دارد. به همین خاطر، با عدم توجه به خواسته‌های این الگوریتم خیلی زود به در بسته می‌خورید.

از این رو، بهتر است بدانید اینستاگرام چه محتوایی را ارزشمند می‌داند. در این مقاله به شما نشان می‌دهیم که الگوریتم اینستاگرام چطور کار می‌کند و محتوای شما چه مسیری را تا دیده‌شدن طی می‌کند. در ادامه با جریان همراه شوید تا متوجه شوید چگونه می‌توانید در اینستاگرام بیش از پیش دیده شوید.

الگوریتم اینستاگرام در ۲۰۲۲ چطور کار می‌کند؟

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

با این حال، شما در اینستاگرام تنها با یک الگوریتم یکسان طرف نیستید. طبق گفتهٔ آدام موسری (مدیرعامل اینستاگرام)، این پلتفرم از الگوریتم‌ها و فرآیندهای مختلفی برای دسته‌بندی محتواها استفاده می‌کند. اینستاگرام سعی می‌کند شرایطی را فراهم کند که کاربر از زمان خود بیشترین بهره را ببرد؛ بنابراین از هوش مصنوعی برای شخصی‌سازی تجربهٔ کاربر کمک گرفته است.

الگوریتم‌ های اینستاگرام تمام محتواهای موجود را پس از ورود کاربر به این پلتفرم بررسی می‌کنند و با پیروی از دستورالعمل‌های خاصی تصمیم می‌گیرند که:

  • کدام پست‌ها و به چه ترتیبی در فید نمایش داده شوند؛
  • کدام‌یک از پست‌ها راهی اکسپلور شوند؛
  • استوری‌ها و ریلزها به چه ترتیبی در بخش‌های مربوط به خود قرار بگیرند.

به‌طور کلی، هر الگوریتم اینستاگرام موارد زیر را برای تصمیم‌گیری دربارهٔ جایگاه نمایش پست شما در نظر می‌گیرد:

  • رابطهٔ شما با فالوورهایتان: آیا همدیگر را دنبال می‌کنید؟ آیا آن‌ها نام شما را در اینستاگرام جست‌وجو کرده‌اند؟ آیا به یکدیگر پیام می‌دهید یا برای هم کامنت می‌گذارید؟ آیا شما یکدیگر را در پست‌هایتان تگ می‌کنید؟
  • ارتباط محتوا: اینستاگرام علایق کاربران خود را رهگیری می‌کند و سعی می‌کند محتوایی مرتبط با ویژگی‌ها و نیاز کاربر ارائه کند.
  • زمان انتشار پست: پست‌های جدیدتر اولویت بیشتری از پست‌های قدیمی دارند.

همان طور که مشاهده می‌کنید، دستورالعمل‌های یکسانی میان الگوریتم‌های اینستاگرام وجود دارد؛ ولی هر کدام از الگوریتم‌ها، محتواها را بر اساس مجموعه‌ای از قوانین خاص هم ارزیابی می‌کنند. جزئیات بیشتری را دربارهٔ هر کدام از آن‌ها در بخش‌های بعدی با شما در میان می‌گذاریم.

الگوریتم جدید اینستاگرام برای نمایش پست

الگوریتم جدید اینستاگرام محتواهای حساب‌هایی را که دنبال می‌کنید، بررسی می‌کند و بر اساس سه فاکتور زیر تصمیم می‌گیرد که احتمال تعامل شما با کدام‌یک از آن‌ها بیشتر است:

  • اطلاعات پست: چندتا لایک گرفته است؟ چه زمانی پست شده است؟ آیا تگ لوکیشن دارد؟ اگر پست ویدیویی است، مدت‌زمان آن چقدر است؟ اطلاعاتی از این دست به اینستاگرام کمک می‌کند تا میزان ارتباط و محبوبیت یک پست را تعیین کند.
  • اطلاعات فردی که پست را منتشر کرده است: سابقهٔ تعامل شما با اکانت‌هایی که دنبال می‌کنید، نقش زیادی در چگونگی نمایش محتواها دارد. اینستاگرام تعداد دفعاتی را که با یک اکانت خاص تعامل (کامنت، لایک، بازدید از اکانت و اشتراک‌گذاری) داشته‌اید، رهگیری می‌کند تا به میزان علاقهٔ شما به این حساب پی ببرد.
  • فعالیت شما در اینستاگرام: آیا از خودتان پرسیده‌اید اینستاگرام چگونه به علایق و نیازهایتان پی می‌برد؟ یا به این موضوع دقت کرده‌اید که اینستاگرام چگونه ذهنتان را همیشه می‌خواند؟ این پلتفرم تمام فعالیت‌هایتان را پیگیری می‌کند و با تجزیه‌وتحلیل آن‌ها تا حدودی متوجه می‌شود به چه چیزی ممکن است علاقه داشته باشید.

الگوریتم جدید اینستاگرام برای نمایش پست

الگوریتم اینستاگرام میزان احتمال تعامل یک فرد با یک پست را بر اساس این اطلاعات پیش‌بینی می‌کند و یک امتیاز برای هر پست در نظر می‌گیرد. بدیهی است جایگاه نمایش هر پست به امتیازی بستگی دارد که کسب می‌کند؛ زیرا این الگوریتم از امتیاز هر پست برای تعیین ترتیب پست‌ها استفاده می‌کند.

با این تفاصیل، شما باید سعی کنید محتوایی ارائه کنید که کاربر به آن علاقه یا نیاز دارد. از اینسایت اینستاگرام یا سایر ابزارها برای شناسایی علایق آن‌ها بهره ببرید. در واقع، باید بفهمید آن‌ها از چه نوع محتوایی بیشتر استقبال می‌کنند. موارد زیر را قبل از ارسال محتواهایتان بررسی کنید:

  • چقدر احتمال دارد کاربران این پست را لایک کنند یا دربارهٔ آن نظر بدهند؟
  • آیا این محتوا، محتوایی است که کاربر ذخیره کند و آن را دوباره مشاهده کند؟
  • آیا کاربر را به انجام عمل مشخصی (مانند «روی لینک در بیو کلیک کنید!») دعوت کرده‌ام تا به بازدید از پروفایلم منجر شود؟

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

الگوریتم اینستاگرام برای اکسپلور

ما در بخش قبلی مشاهده کردیم که اینستاگرام چگونه ترتیب و جایگاه نمایش هر پست را در فید مشخص می‌کند؛ ولی یکی از دغدغه‌های اصلی صاحبان کسب‌وکارها این است که چگونه می‌توان پست‌ها را راهی اکسپلور کرد؟ برای پاسخ به این سوال ابتدا باید با سازوکار اکسپلور آشنا شوید.

پست‌های حساب‌هایی در اکسپلور نمایش داده می‌شوند که شما هنوز آن‌ها را دنبال نکرده‌اید. اینستاگرام ابتدا پست‌هایی را که پیش از این لایک کرده‌اید یا به هر شکلی دیگری با آن‌ها تعامل داشته‌اید، بررسی می‌کند. سپس آن‌ها را بر اساس اینکه چه نوع محتوایی را دوست داشته‌اید، ذخیره کرده‌اید یا به اشتراک گذاشته‌اید، دسته‌بندی می‌کند.

الگوریتم اینستاگرام برای اکسپلور

۴ معیار اصلی الگوریتم جدید اینستاگرام برای رتبهٔ‌بندی پست‌ها در اکسپلور عبارتند از:

  • اطلاعات پست: اینستاگرام به محبوبیت یک پست نگاه می‌کند؛ بنابراین برای حضور در اکسپلور تعدادِ افرادی که با پستتان تعامل داشته‌اند (پست را لایک کرده‌اند، دربارهٔ آن نظر داده‌اند، آن را ذخیره کرده‌اند و برای سایر دوستان خود ارسال کرده‌اند)، اهمیت دوچندانی پیدا می‌کند. از طرفی، اینستاگرام به این موضوع هم توجه می‌کند که این میزان از تعامل در چه مدت‌زمانی رخ داده است.
  • سابقهٔ تعامل شما با فردی که پست را منتشر کرده است: فرض کنید شما محتوایی را در اکسپلور مشاهده و سپس برای سایر دوستان خود ارسال کرده‌اید. در چنین شرایطی، سایر محتواهای این اکانت شانس بیشتری برای حضور در اکسپلور شما خواهند داشت.
  • فعالیت شما در اینستاگرام: چه نوع محتوایی را به‌طور معمول لایک یا ذخیره می‌کنید؟ کدام‌یک از محتواها را با دیگران به اشتراک می‌گذارید یا برای چه نوع پستی کامنت می‌گذارید؟ در اکسپلور پیش از این چگونه رفتار کرده‌اید؟ سابقهٔ فعالیت شما در تصمیم‌گیری اینستاگرام دربارهٔ علایق شما تاثیر می‌گذارد.
  • اطلاعات فردی که پست را منتشر کرده است: اگر نرخ تعامل یک حساب کاربری در چند هفته بالا باشد، شانس بیشتری برای راهیابی به اکسپلور خواهد داشت؛ زیرا اینستاگرام چنین برداشت می‌کند که محتوای جذابی تولید شده است و دیگران هم ممکن است آن را دوست داشته باشند.

جدیدترین الگوریتم اینستاگرام برای اکسپلور، نه‌تنها به هشتگ‌هایی که به کار می‌برید، بلکه به تصاویر و کلمه‌هایی که در کپشن استفاده می‌کنید هم توجه می‌کند. از این رو، محتوای بصری جذاب همراه با کپشنی گیرا و قدرتمند و هشتگ‌هایی مرتبط شانس بیشتری برای ظاهرشدن در اکسپلور خواهد داشت. به عبارتی، شما به محتوایی نیاز دارید که مخاطب پس از دیدن آن، نتواند از آن بگذرد و روی آن کلیک کند.

الگوریتم جدید اینستاگرام برای استوری

الگوریتم اینستاگرام استوری‌ها را کم‌وبیش بر اساس همان معیارهایی مرتب می‌کند که در بخش نمایش پست‌ها در فید بیان کردیم. به همین خاطر، شما استوری‌هایی را ابتدا مشاهده می‌کنید که تعامل بیشتری با آن اکانت دارید. البته بخش استوری اینستاگرام به شکلی طراحی شده‌ است که کاربر تمام آن‌ها را پشت سر هم مشاهده کند؛ بنابراین احتمال اینکه استوری شما دیده شود بسیار بیشتر از پستتان است.

الگوریتم جدید اینستاگرام برای استوری

با توجه به این ویژگی، فکر بدی نیست که تعداد زیادی استوری را در طول روز منتشر کنید تا شانس خود را افزایش دهید. شما می‌توانید کاربر را به تعامل بیشتر ترغیب کنید. به‌عنوان مثال، از نظرسنجی‌ها یا باکس سوال استفاده کنید تا کاربر وقت بیشتری را به استوری‌هایتان اختصاص دهد. چنین رویکردی افزایش تعامل را در طولانی‌مدت به دنبال دارد و به‌تبع آن جایگاه شما به‌مرور بهبود پیدا می‌کند.

الگوریتم اینستاگرام برای ریلز

الگوریتم جدید اینستاگرام در بخش ریلز سعی می‌کند محتوایی را به شما نمایش دهد که آن را به احتمال زیاد تا پایان تماشا خواهید کرد. این الگوریتم بر اساس معیارهای زیر، محتواهای حساب‌هایی که دنبال نمی‌کنید در کنار حساب‌هایی که دنبال می‌کنید، دسته‌بندی می‌کند:

  • فعالیت شما در اینستاگرام: اینستاگرام مراقب رفتار و فعالیت‌های شما در این پلتفرم است؛ بنابراین ریلزهایی که دوست داشته‌اید و با آن‌ها به هر نحوی (لایک، کامنت، اشتراک‌گذاری و ذخیره) درگیر شده‌اید، نقش زیادی در ترتیب محتواها دارند. در واقع، اینستاگرام رفتارتان را زیر نظر می‌گیرد تا بفهمد به چه نوع محتوایی بیشتر علاقه دارید.
  • سابقهٔ تعامل شما با اکانتی که ریلز را منتشر کرده است: شما در این بخش از اینستاگرام با محتواهایی روبرو الگوریتم ها چگونه اجرا می شوند؟ خواهید شد که نام سازندگان‌ آن‌ها را تا به حال نشنیده‌اید؛ ولی اینستاگرام برای اینکه تجربهٔ بهتری را برای شما رقم بزند، سابقهٔ تعامل با اکانت‌ها را هم در نظر می‌گیرد. در واقع، اگر شما تعاملی (برای مثال، روی آهنگ کلیک کنید یا آن را لایک کنید.) با ریلز یک اکانت داشته باشید، احتمال دیدن سایر ریلزهای آن در آینده بیشتر می‌شود.
  • اطلاعات پست: الگوریتم جدید اینستاگرام سعی می‌کند موضوع هر ریلز را با تجزیه‌وتحلیل عناصر آن حدس بزند تا محتوایی مرتبط با علایق شما ارائه کند. این الگوریتم محبوبیت هر ریلز را هم هنگام رتبه‌بندی در نظر می‌گیرد.
  • اطلاعات اکانتی که ریلز را منتشر کرده است: اینستاگرام برای رتبه‌بندی ریلزها به نرخ تعامل و سابقهٔ اکانت منتشرکننده هم نگاهی می‌اندازد. آیا آن‌ها لایک و کامنت خوبی همواره دریافت می‌کنند؟ ریلزهای آن‌ها تا چه میزان به اشتراک گذاشته می‌شوند؟

اینستاگرام اذعان داشته است که شما باید ریلزی بسازید که نه‌تنها سرگرم‌کننده، کاربردی و جذاب باشد، بلکه از نظر بصری باکیفیت باشد. از طرفی، سعی کنید از هشتگ‌ها استفاده کنید تا شانس بیشتری برای دیده‌شدن داشته باشید. مقالهٔ «هشتگ در اینستاگرام چیست و چه کاربردی دارد؟» را برای آشنایی بیشتر با هشتگ‌ها و کاربرد آن‌ها مطالعه کنید.

به الگوریتم اینستاگرام به چشم یک دوست نگاه کنید

یکی از اشتباه‌های بزرگ صاحبان کسب‌وکار این است که الگوریتم جدید اینستاگرام را دشمن خود می‌دانند. با این حال، آشنایی با سازوکار اینستاگرام و شرایط آن برای نمایش محتوا راهی عالی برای افزایش فالوور و جلب رضایت مخاطب است. در واقع، الگوریتم‌های الگوریتم ها چگونه اجرا می شوند؟ اینستاگرام مانند یک دوست خوب کمک می‌کنند مخاطبی را جذب کنید که به شما نیاز دارد.

در مقالهٔ آموزش الگوریتم اینستاگرام، دربارهٔ چگونگی سازوکار اینستاگرام برای نمایش پست، استوری و ریلز، و همچنین چگونگی راهیابی پست‌ها به اکسپلور با شما صحبت کردیم. حال دیگر وقت آن شده است که پست‌هایتان را با کمک این الگوریتم به دست مخاطبانتان برسانید. اگر چیزی از قلم افتاده است، با ما در بخش نظرات در میان بگذارید.

سوالات پودمان الگوریتم با پاسخ

پودمان الگوریتم

نمره‌های ماهانه‌ی مریم 19 ،75/16 ،18 و 16 است. الگوریتم محاسبه‌ي معدل نمرات مریم را بنویسید.

2ــ نمره های 19 ،75/16 ،18 و 16 را زیر هم روی کاغذ بنویسید.

3ــ نمره‌ها را با هم جمع کنید.

4ــ حاصل جمع را بر 4 تقسیم کنید.

5ــ حاصل الگوریتم ها چگونه اجرا می شوند؟ تقسیم، معدل نمرات مریم است.

الگوریتمی بنویسید که معدل چهار نمره را حساب کند.

  1. شروع
  2. نمره ها را در متغیرهای A ، B ، C و D قرار دهید.
  3. S←A+B+C+D ـ
  4. M←S ÷ 4
  5. M معدل است.
  6. پایان

در نوشتن الگوریتم برای قرار دادن حاصل محاسبه در یک متغیر از چه علامتی استفاده می‌شود؟

از عالمت ← استفاده میشود تا با علامت مساوی که برای مقایسه به کار میرود اشتباه نشود.

روش روندنما چیست؟

روندنما یا flowchart، روش دیگری برای بیان الگوریتم و با استفاده از شکل های استاندارد است. در این روش، مراحل الگوریتم با استفاده از شکلهای هندسی نشان داده میشوند و به وسیله خط های جهت دار، ترتیب اجرای مراحل مشخص میشوند.

الگوریتمی بنویسید که با دریافت دو اندازه زاویه، مشخص کند که آیا این زاویه ها متمم هم هستند یا خیر؟ سپس روند نمای آن را نیز رسم کنید.

  1. شروع
  2. اندازه‌ی زاویه ها را در متغیرهای A و B قرار دهید.
  3. اگر 90 =B+A است پس زاویه های A الگوریتم ها چگونه اجرا می شوند؟ و B متمم هم هستند در غیراینصورت زاویه های A و B متمم نیستند.
  4. پایان

حلقه چیست و در چه مواقعی (در روندنما) به کار می‌رود؟

ممکن است مواردی پیش بیاید که لازم باشد مراحلی از عملیات، چند بار تکرار شود. با استفاده از یک شرط می‌توان به جای چند بار نوشتن این مراحل، مسیر روندنما را به صورتی تغییر داد که بتوان آنها را به تعداد مورد نیاز، تکرار کرد. به این تکرار مرحله‌ها حلقه می‌گویند.

روند نمای الگوریتمی را رسم کنید که 8 نمره از ورودی دریافت کند و میانگین آنها را نمایش دهد.

الگوریتم سوهانکاری یک قطعه‌ی فلزی را بنویسید و روندنمای آن را رسم کنید.

2ــ قطعه فلز بریده شده را به گیره ببندید. قطعه باید کمی بیرون ً ً تراز باشد، در غیر این صورت آن را باز کنید و مجددا از گیره و کاملا به طور صحیح به گیره ببندید.

3ــ سوهان را به شکل مناسب در دست بگیرید و قطعه فلزی را سوهان کاری کنید. سپس زاویه های قطعه را با گونیا کنترل کنید. اگر اضلاع کار بر یکدیگر عمود نیستند، سوهان کاری را ادامه دهید.

سوالات پودمان الگوریتم با پاسخ

پودمان الگوریتم

نمره‌های ماهانه‌ی مریم 19 ،75/16 ،18 و 16 است. الگوریتم محاسبه‌ي معدل نمرات مریم را بنویسید.

2ــ نمره های 19 ،75/16 ،18 و 16 را زیر هم روی کاغذ بنویسید.

3ــ نمره‌ها را با هم جمع کنید.

4ــ حاصل جمع را بر 4 تقسیم کنید.

5ــ حاصل تقسیم، معدل نمرات مریم است.

الگوریتمی بنویسید که معدل چهار نمره را حساب کند.

  1. شروع
  2. نمره ها را در متغیرهای A ، B ، C و D قرار دهید.
  3. S←A+B+C+D ـ
  4. M←S ÷ 4
  5. M معدل است.
  6. پایان

در نوشتن الگوریتم برای قرار دادن حاصل محاسبه در یک متغیر از چه علامتی استفاده می‌شود؟

از عالمت ← استفاده میشود تا با علامت مساوی که برای مقایسه به کار میرود اشتباه نشود.

روش روندنما چیست؟

روندنما یا flowchart، روش دیگری برای بیان الگوریتم و با استفاده از شکل های استاندارد است. در این روش، مراحل الگوریتم با استفاده از شکلهای هندسی نشان داده میشوند و به وسیله خط های جهت دار، ترتیب اجرای مراحل مشخص میشوند.

الگوریتمی بنویسید که با دریافت دو اندازه زاویه، مشخص کند که آیا این زاویه ها متمم هم هستند یا خیر؟ سپس روند الگوریتم ها چگونه اجرا می شوند؟ نمای آن را نیز رسم کنید.

  1. شروع
  2. اندازه‌ی زاویه ها را در متغیرهای A و B قرار دهید.
  3. اگر 90 =B+A است پس زاویه های A و B متمم هم هستند در غیراینصورت زاویه های A و B متمم نیستند.
  4. پایان

حلقه چیست و در چه مواقعی (در روندنما) به کار می‌رود؟

ممکن است مواردی پیش بیاید که لازم باشد مراحلی از عملیات، چند بار تکرار شود. با استفاده از یک شرط می‌توان به جای چند بار نوشتن این مراحل، مسیر الگوریتم ها چگونه اجرا می شوند؟ روندنما را به صورتی تغییر داد که بتوان آنها را به تعداد مورد نیاز، تکرار کرد. به این تکرار مرحله‌ها حلقه می‌گویند.

روند نمای الگوریتمی را رسم کنید که 8 نمره از ورودی دریافت کند و میانگین آنها را نمایش دهد.

الگوریتم سوهانکاری یک قطعه‌ی فلزی را بنویسید و روندنمای آن را رسم کنید.

2ــ قطعه فلز بریده شده را به گیره ببندید. قطعه باید کمی بیرون ً ً تراز باشد، در غیر این صورت آن را باز کنید و مجددا از گیره و کاملا به طور صحیح به گیره ببندید.

3ــ سوهان را به شکل مناسب در دست بگیرید و قطعه فلزی را سوهان کاری کنید. سپس زاویه های قطعه را با گونیا کنترل کنید. اگر اضلاع کار بر یکدیگر عمود نیستند، سوهان کاری را ادامه دهید.

الگوریتم SHA-256 و نحوه ی کار آن

ارز رایان مرجع آموزشی،خبری و تحلیلی ارزهای دیجیتال

عضو توابع هش رمزنگاری است که توسط NSA طراحی شده است. SHA مخفف الگوریتم Secure Hash است. توابع هش رمزنگاری عملیات ریاضی است که بر روی داده های دیجیتال اجرا می شود. با مقایسه ی هش محاسبه شده (خروجی حاصل از اجرای الگوریتم) با یک مقدار هش شناخته شده و مورد انتظار، فرد می تواند تمامیت داده ها را تعیین کند. از هر قسمت از داده می توان یک هش یک طرفه ایجاد کرد، اما داده ها از هش تولید نمی شود. SHA-256 جایگزین SHA-1 است که نام دیگری به عنوان SHA-2 دارد. رمز گزاری این الگوریتم از SHA-1 سخت تر نیست و تفسیرکلید ۲۵۶ بیتی آن هرگز تا کنون میسر نشده است.الگوریتم ها چگونه اجرا می شوند؟

گواهی نامه هایی که در ارتباطات وب سایت ها لازم هستند، حاوی عنصری هستند که با استفاده از الگوریتم هایی مانند SHA-256 ساخته می شوند.

پیش از این، گواهینامه ها اغلب با استفاده از SHA-1 به عنوان موارد امضای دیجیتالی تولید می شدند، اما الگوریتم به تدریج مستهلک می شد و دیگر ایمن در نظر گرفته نمی شد. در نتیجه، با استفاده از الگوریتم جدید SHA-256 ، تغییر قابل توجهی به سمت گواهینامه ها رخ داد.

تاریخچه

نسخه اولیه الگوریتم SHA-256 توسط آژانس امنیت ملی ایالات متحده در بهار سال ۲۰۰۲ ایجاد شد. چند ماه بعد ، دانشگاه ملی سنجش شناسی پروتکل رمزگذاری شده تازه اعلام شده را در FIPS PUB 180-2 منتشر کرد. در زمستان ۲۰۰۴ آن را با نسخه دوم الگوریتم دوباره منتشر کرد.

طی ۳ سال آینده، آژانس امنیت ملی امکان ثبت اختراع نسل دوم Sha را با مجوز Royalty Free صادر کرد.

این پروتکل با اطلاعاتی که به قطعات ۵۱۲ بیت (یا به عبارت دیگر ۶۴ بایت) تقسیم شده است ، کار می کند. به این صورت رمزنگاری خود را تولید می کند و سپس کد هش ۲۵۶ بیتی را صادر می کند. این الگوریتم شامل یک دور نسبتاً ساده است که ۶۴ بار تکرار می شود.

استفاده در ارزهای دیجیتال

SHA-256 در چندین قسمت مختلف از شبکه بیت کوین استفاده می شود:

  • در استخراج بیت کوین از SHA-256 به عنوان الگوریتم اثبات کار (POW) استفاده می شود.
  • در ایجاد آدرس های بیت کوین برای بهبود امنیت و حفظ حریم خصوصی استفاده می شود.

SHA-256 در اثبات کار و مکانیزم تأیید اعتبار برای رمزنگاری بیت کوین، برنامه پیام رسانی امن، پروتکل SSH و در بررسی های یکپارچگی سند دولتی استفاده می شود.

استخراج بیت کوین با SHA-256

هشینگ یک روش برای تبدیل حجم زیادی از داده به اعداد کوچک است که کار با آن ها دشوار است. هش ها با امضاهای دیجیتال ترکیب می شوند. این توابع باعث یکپارچگی داده ها می شود. هشینگ در شبکه ی بیت کوین در چهار فرایند استفاده می شود: رمز نگاری آدرس های کیف پول ها، تایید مانده حساب های کیف پول ها، مکانیسم اجماع، و اثبات کار (Proof-of-Work)

شبکه بیت کوین از SHA-256 استفاده می کند. یک ویژگی مهم هش این است که اگر یک بیت از داده های ورودی تغییر کند ، خروجی به میزان قابل توجهی تغییر می کند و این امر باعث می شود شناسایی تغییرات کوچک در داده های بزرگ ممکن شود. این بدان معناست که در یک سند چند صد صفحه، اگر یک نفر فقط یک کلمه الگوریتم ها چگونه اجرا می شوند؟ یا حتی کاما را تغییر دهد، کل هش تغییر می کند. بنابراین ، ارزش هش یک سند می تواند به عنوان معادل رمزنگاری اسناد – اثر انگشت دیجیتال باشد. به همین دلیل توابع هش یک طرفه برای رمزنگاری کلید عمومی است. هنگام تهیه امضای دیجیتالی برای یک سند ، دیگر نیازی به رمزگذاری کل سند با کلید خصوصی فرستنده نیستیم که می تواند زمان زیادی را ببرد. به جای آن ، مقدار هش سند را محاسبه می کند.

سازنده پروتکل بیت کوین الگوریتم ها چگونه اجرا می شوند؟ ، Satoshi Nakomoto ، تصمیم به استفاده از عملکرد هش SHA-256 به عنوان پایه ای برای استخراج بیت کوین گرفت. این یک تابع هش رمزنگاری خاص است که به صورت ریاضی ثابت شده است که خصوصیات فوق را در خود نگه می دارد. همیشه یک عدد ۲۵۶ بیتی (ابتدایی ترین واحد محاسبه) را تولید می کند ، که معمولاً در سیستم عدد شش ضلعی با ۶۴ کاراکتر برای خوانایی انسان نمایش داده می شود.

خروجی عملکرد SHA-256 معمولاً به هش ورودی آن گفته می شود. در اینجا به مثالی از ورودی و خروجی تابع SHA-256 توجه کنید:

Input to SHA-256:

Output to SHA-256:
۷۷۰۷۷b1f4c3ad44c83dc0bdb8d937e9b71c0ef07a35c2664bb7da85be738eacf

اکثر مواقعی که هشینگ در پروتکل بیت کوین استفاده می شود، double hashing استفاده می شود. این یعنی خروجی تابع SHA-256 اصلی به طور مستقیم به تابع SHA-256 برمی گردد تا خروجی دیگری را حاصل کند. فرایند را در زیر مشاهده می کنید:

Input to SHA-256(first round):

Output (first round):
۷۷۰۷۷b1f4c3ad44c83dc0bdb8d937e9b71c0ef07a35c2664bb7da85be738eacf

Input to SHA-256 (second round):
۷۷۰۷۷b1f4c3ad44c83dc0bdb8d937e9b71c0ef07a35c2664bb7da85be738eacf
Output (second round and final result):
۳c6c55b0e4b607b672b50f04e028a6951aed6dc97b91e103fb0f348c3f1dfa00

برای محافظت در برابر حملات birthday از Double hashing استفاده می شود. حمله birthday سناریویی است که یک مهاجم با استفاده از یک ورودی کاملاً متفاوت (به نام collision) می تواند همان ورودی دیگر را تولید کند. این سومین ویژگی منحصر به فرد بودن را می شکند. بدون آن ، دو بلوک بیت کوین کاملاً متفاوت ممکن است دقیقاً با همان هش نمایش داده شوند و به مهاجمان اجازه دهد تا بلوکهای بالقوه را خارج کنند.

با عملکرد SHA-256 احتمال وقوع این اندک است. اگر نزدیک به غیرممکن نبود، SHA-256 شکسته تلقی می شود. هش های دیگر در گذشته شکسته می شوند. برای این که این مشکل در آینده برای SHA-256 به وجود نیاید، بهتر است هش را هش کرد. به این ترتیب امکان وقوع collision کاهش میابد و پروتکل ایمن تر می شود.

در سطح بسیار بالا، استخراج بیت کوین سیستمی است که در آن کلیه معاملات بیت کوین به ماینرهای بیت کوین ارسال می شود. ماینرها معامله یک مگابایت را انتخاب می کنند ، آنها را به عنوان ورودی در عملکرد SHA-256 قرار می دهند و سعی می کنند یک خروجی خاص را که شبکه می پذیرد پیدا کند. اولین ماینری که این خروجی را پیدا کرده و بلاک را برای شبکه منتشر کرده است ، در قالب هزینه تراکنش و ایجاد بیت کوین جدید، پاداش دریافت می کند.

الگوریتم ها چگونه اجرا می شوند؟

Pseudocode چیست و چگونه شما را به توسعه دهنده تبدیل می کند؟

Pseudocode چیست و چگونه شما را به توسعه دهنده تبدیل می کند؟

پنجشنبه, 13 آذر 1399

ماهیت شبه کد

Pseudocode یا شبه کد یک زبان مصنوعی و غیر رسمی است که به برنامه نویسان در توسعه الگوریتم ها کمک می کند. شبه کد یک ابزار طراحی جزئیات (الگوریتمی) "مبتنی بر متن" است.
اکثر برنامه ها با استفاده از زبان های برنامه نویسی تهیه می شوند. این زبان ها سینتکس خاصی دارند که باید مورد استفاده قرار گیرند تا برنامه توسط کامپیوتر خوانده شده و به درستی اجرا شود. اما Pseudocode یک زبان برنامه نویسی نیست ، درحقیقت یک روش ساده برای توصیف مجموعه ای از دستورالعمل ها است که نیازی به استفاده از سینتکس خاص نیست. بعبارتی شبه کد راهی برای بیان یک الگوریتم بدون انطباق با قوانین سینتکس زبانهای برنامه نویسی است.

کاربرد شبه کد

با یادگیری خواندن و نوشتن شبه کد، به راحتی می توانید ایده ها و مفاهیم را با دیگر برنامه نویسان و سفارش دهنده ها انتقال دهید ، حتی اگر آنها از زبان های کاملاً متفاوتی استفاده می کنند. علاوه بر این ، راه حل های الگوریتمی برای بسیاری از مشکلات، اغلب در قالب شبه کد در سایتها ارائه می شود و توانایی ترجمه بین شبه کد و یک زبان برنامه نویسی خاص یک مهارت ارزشمند است.

کتابهای درسی و نشریات علمی مربوط به علوم کامپیوتر و محاسبات عددی اغلب از شبه کد در توصیف الگوریتم ها استفاده می کنند ، به طوری که همه برنامه نویسان می توانند آنها را درک کنند ، حتی اگر همه آنها زبان های برنامه نویسی یکسانی را ندانند.

برنامه نویسی که نیاز به پیاده سازی یک الگوریتم خاص ، به خصوص یک الگوریتم ناآشنا دارد ، غالباً با یک شبه کد شروع می کند و سپس آن توصیف را به زبان برنامه نویسی هدف "ترجمه" می کند. برنامه نویسان همچنین ممکن است پروژه را با ترسیم کد در شبه کددروی کاغذ ، قبل از نوشتن آن به زبان واقعی خود ، به عنوان یک رویکرد ساختاری از بالا به پایین شروع کنند.

سینتکس

شبه کد عموماً از قوانین سینتکس زبان خاصی پیروی نمی کند. برخی از نویسندگان سبک و نحو را از ساختارهای کنترل از برخی زبانهای برنامه نویسی متداول می گیرند ، زبان هایی مانند Fortran ، Pascal ، BASIC ، C ، C ++ ، Java ، Lisp و ALGOL . اعلام متغیرها به طور معمول حذف می شوند. فراخوانی های تابع و بلوک های کد ، مانند کدهای موجود در یک حلقه ، اغلب با یک جمله به زبان طبیعی یک خط جایگزین می شوند. بسته به نویسنده، شکل و عبارات استفاده شده در شبه کد ممکن است متفاوت باشد.

عبارات و کلمات کلیدی

Call . with (parameters)

و برای افعال و عبارات معمولاً از موارد زیر استفاده میشود:

Generate, Compute, Process, .

set, reset, increment, compute, calculate, add, sum, multiply, . print, display, input, output, edit, test , .



اشتراک گذاری

دیدگاه شما

اولین دیدگاه را شما ارسال نمایید.