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

دفتر کل توزیع‌شده چیست؟

دفتر کل توزیع‌شده (Distributed Ledger) یا به عبارت دقیق‌تر (Distributed Ledger Technology) مجموعه‌ای از داده‌های دیجیتالی، اشتراک‌گذاری و همگام‌سازی‌شده است که به‌لحاظ جغرافیایی در مکان‌های مختلفی قرار دارند. در فناوری مذکور، هیچ مدیر مرکزی یا مکان واحدی برای ذخیره‌سازی داده‌ها وجود ندارد. دفاتر کل توزیع‌شده پایگاه‌های داده‌ای هستند که بر مبنای سازوکار تفاهم و معماری داده مورد قبول مشارکت‌کنندگان شبکه نگه‌داری و به‌روزرسانی می‌شود. یک شبکه همتابه‌همتا به‌همراه الگوریتم اجماع مورد نیاز است تا اطمینان حاصل شود که تمام گره‌ها به اطلاعات دسترسی دارند. یک شکل از دفترکل توزیع‌شده سامانه زنجیره بلوکی است که می‌تواند عمومی یا خصوصی باشد، اما همه دفاتر کل توزیع‌شده ضرورتی ندارد از زنجیره‌ای از بلوک‌ها استفاده کنند. 

مطلب پیشنهادی

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

1. زنجیره بلوکی 

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

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

برای متمایز ساختن یا همگام‌سازی تراکنش‌ها، هر بلوک دارای شناسه خاصی است که به‌نام هش (Hash) شناخته می‌شود. این تابع هش برای متمایز کردن تمام بلوک‌های تراکنش در دفتر کل مورد استفاده قرار می‌گیرد. تابع هش دو خصوصیت مهم دارد، اول آن‌که شامل 

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

عملکرد زنجیره بلوکی به چه صورتی است؟ 

زنجیره بلوکی، میزبان بلوک‌های زیادی است که به سیستم دفتر کل اضافه می‌شوند، اما فرآیند فوق چگونه اتفاق می‌افتد؟ چهار مرحله برای افزودن بلوک به زنجیره بلوکی وجود دارد که به‌شرح زیر هستند: 

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

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

2. هش‌گراف

در هش‌گراف (Hashgraph) می‌توان چند تراکنش را روی دفتر کل در یک مهر زمانی یکسان ذخیره کرد. در این حالت، تمام تراکنش‌ها در یک ساختار موازی ذخیره می‌شوند. در این‌جا هر رکورد در دفتر یک رویداد (Event) نامیده می‌شود.

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

مطلب پیشنهادی

آیا شبکه زنجیره بلوکی (Block Chain) را می‌توان هک کرد؟

واحدهای ذخیره کوچک‌تر

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

بیزانتین و ماهیت اسیدی شبکه

یکی از ویژگی‌های اساسی پیاده‌سازی دفتر کل توزیع‌شده هش‌گراف مفهوم بیزانتین (Byzantine) است. بیزانتین اشاره به سیستمی دارد که هیچ گروه یا نهاد کوچکی نمی‌تواند در مسیر رسیدن به اجماع تأثیرگذار باشد. همچنین، پس از رسیدن به اجماع، هیچ کاربری قادر نخواهد بود، تغییری در این زمینه به‌وجود آورد. هر عضو می‌داند که اجماع حاصل شده است و به این شکل باقی خواهد ماند. در این دفتر کل توزیع‌شده بدون زنجیره بلوکی، هر گره شبکه در مورد نحوه انجام تراکنش توافق می‌کند.

کل اعضا در دفتر کل توزیع‌شده یک سیستم پایگاه داده توزیع‌شده خواهند داشت که ویژگی‌های مشابهی را به‌اشتراک می‌گذارد. اگر دفتر کل توزیع‌شده را با زنجیره بلوکی مقایسه کنیم متوجه می‌شویم که در زنجیره بلوکی گره‌های عضو شبکه هیچ‌گاه مطمئن نخواهند بود که توافق حاصل شده است. با این حال، در هش‌گراف این امکان وجود دارد. از این‌رو فناوری مذکور با مفهوم اسیدی شبکه ACID سرنام تجزیه‌ناپذیری، هم‌خوانی، جداسازی و پایایی(Atomicity، Consistency، Isolation و Durability) سازگار است. نحوه عملکرد هش‌گراف موضوع جالب دیگری در این زمینه است. 

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

3. DAG

یکی دیگر از فناوری‌های مبتنی بر دفتر کل‌ توزیع‌شده بدون زنجیره بلوکی، «گراف جهت‌دار غیرمدور» (DAG) سرنام Directed Acyclic Graph است. DAG به‌عنوان یک رویکرد جایگزین برای Blockchain DLT ابداع شده است. به همین دلیل است که این دفتر کل توزیع‌شده بدون زنجیره بلوکی همه ویژگی‌های زنجیره بلوکی را به‌شکل پیشرفته‌تری ارائه می‌دهد. اگرچه DAG یک جایگزین است، اما ساختار این دفتر واقعاً متفاوت است. یکی از مزایای اصلی پیاده‌سازی دفتر کل توزیع‌شده DAG، توانایی انجام تراکنش‌های کوچک و بدون هزینه با هدف رشد و گسترش‌پذیری شبکه است.  به عبارت ساده‌تر، هرچه تراکنش‌های بیشتری در شبکه انجام شود، فرآیند رسیدگی به آن‌ها سریع‌تر خواهد شد. برای روشن شدن بحث اجازه دهید تا ببینیم DAG واقعا چگونه کار می‌کند. 

DAG چگونه کار می‌کند؟

DAG برای رسیدن به اجماع از رویکرد خاصی استفاده می‌کند. سیستم دفتر کل توزیع‌شده فرآیندهای تراکنش را در گره‌ها ذخیره می‌کند. در این‌جا، هر عضوی در شبکه، درست مانند زنجیره بلوکی «گره» نامیده می‌شود. تمام گره‌های شبکه، تراکنش‌های موجود در دفتر کل را تایید می‌کنند. این تراکنش‌های تایید‌شده را می‌توان مشاهده کرد. هر گره‌ای می‌تواند تراکنش‌ها را آغاز کند، با این حال، برای تأیید اعتبار آن‌ها باید حداقل دو مورد از تراکنش‌های قبلی در دفتر را تایید کند. پس از این‌که تراکنش‌ها را تایید کرد، تراکنش او تایید می‌شود. هر چه یک شخص اعتبار‌سنجی بیشتری انجام دهد، تراکنش‌های او ارزش بیشتری در پایگاه داده دفتر کل توزیع‌شده پیدا می‌کنند. به بیان دیگر، بیشترین وزن در دفتر کل را خواهد داشت. در معماری DAG، یک الگوریتم به‌طور تصادفی دو تراکنش قبلی را برای هر عضو انتخاب می‌کند تا اعتبارسنجی کند، اگر این فرآیند به‌شکل تصادفی انجام نشود، اعضا فقط تراکنش‌های خود را تایید می‌کنند و دیگر اعضا در صف انتظار باقی خواهند ماند. این در واقع شکل جدیدی از اجماع برای دستیابی به مقیاس‌پذیری بیشتر است. با توجه به توضیحاتی که ارائه شد شرکت‌هایی که در هر ثانیه تراکنش‌های زیادی را انجام می‌دهند باید از دفتر کل توزیع‌شده DAG استفاده کنند. 

4. هولوچین (Holochian)

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

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

این فناوری دفتر کل توزیع‌شده چه تفاوتی با نمونه‌های مشابه دارد؟ 

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

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

چگونه کار می‌کند؟

ساده است، هر گره دفتر کل مخصوص به خود را دارد که خود این دفتر بر مبنای مفهومی که DNA نام دارد کار می‌کند. DNA تضمین می‌کند که هر گره در شبکه که قصد داشته باشد اطلاعات جدیدی در دفتر کل عمومی اضافه کند باید تایید شود. گره‌ها اطلاعاتی را برای یک‌دیگر ارسال می‌کنند تا تایید شوند. اگر گره‌های دیگر در شبکه بتوانند اطلاعات خود را با DNA تأیید کنند، این موضوع را به گره‌های دیگر شبکه اطلاع می‌دهند. 

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

5. Tempo (RADIX)

تمپو (Tempo) که رادیکس (RADIX) نیز نامیده می‌شود، مانند دیگر دفاتر کل توزیع‌شده بدون زنجیره بلوکی است و توالی اطلاعات در دفتر کل را حفظ می‌کند. با این حال، از یک مهر زمانی نیز استفاده می‌کند. Radix DLT خالق این فناوری جدید است. شما می‌توانید از این دفتر کل توزیع‌شده بدون زنجیره بلوکی در کاربردهای خصوصی و عمومی استفاده کنید. یکی از نکات مثبت فناوری فوق این است که نیازمند ملزومات سخت‌افزاری سنگینی نیست، سبک است و می‌تواند روی گوشی‌های تلفن همراه بدون مشکل کار کند. با تمپو می‌توانید برنامه‌های غیرمتمرکز، توکن‌ها و سکه‌های خود را ایجاد کنید و در زمان کوتاه‌تری تراکنش‌ها را انجام دهید. پایگاه داده دفتر کل توزیع‌شده بر اساس سه اصل اصلی زیر اجرا می‌شود:

  •  باید خوشه‌ای از گره‌های شبکه داشته باشید.
  •  دفتر کل میان ‌خوشه‌ای از گره‌ها توزیع‌ شده باشد. 
  •  از الگوریتم‌های ویژه برای مهر زمانی رویدادها در دفتر کل استفاده شود. 

هر نمونه در پایگاه داده دفتر کل توزیع‌شده، «جهان» (Universe) و هر رویداد «اتم» (Atom) نامیده می‌شود.

TEMPO DLT چگونه کار می‌کند؟

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

هنگامی که یک گره می‌خواهد تراکنش‌ها را تایید کند، از ساعت‌های منطقی (Logical Clocks) برای انجام این کار استفاده می‌کند. مهر زمانی معمول پایگاه داده دفترکل توزیع‌شده به‌تنهایی قادر به دستیابی به اجماع نیست. از این‌رو، گره‌ها به‌جای تطابق زمانی، وضعیت قبلی را بررسی می‌کنند. به‌طور مثال، اگر تراکنش قبلی A بود و اکنون تراکنش B اتفاق افتاده است، گره‌ها بررسی می‌کنند که آیا تراکنش A قبل از B وجود داشته است یا خیر. بنابراین، در اینجا گره‌ها دنباله‌ رویداد را به‌جای زمان واقعی آن رویداد ثبت می‌کنند. ویژگی‌های این‌چنینی باعث شده تا دفتر کل توزیع‌شده تمپو مورد توجه شرکت‌ها و کاربران قرار گیرد.

ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را می‌توانید از کتابخانه‌های عمومی سراسر کشور و نیز از دکه‌های روزنامه‌فروشی تهیه نمائید.

ثبت اشتراک نسخه کاغذی ماهنامه شبکه     
ثبت اشتراک نسخه آنلاین

 

کتاب الکترونیک +Network راهنمای شبکه‌ها

  • برای دانلود تنها کتاب کامل ترجمه فارسی +Network  اینجا  کلیک کنید.

کتاب الکترونیک دوره مقدماتی آموزش پایتون

  • اگر قصد یادگیری برنامه‌نویسی را دارید ولی هیچ پیش‌زمینه‌ای ندارید اینجا کلیک کنید.

ایسوس

نظر شما چیست؟