هر آنچه درباره نمودارهای حلقوی مستقیم (DAGS) باید بدانید

نمودارهای غیر حلقوی هدایت شده یک دسته کلی در نظریه نمودارها ، علوم کامپیوتر و ریاضیات است که اساساً یک ترتیب توپولوژیکی را تشکیل می دهد که در آن رئوس (به عنوان مثال ، یک گره ، وظایف یا رویدادها) با لبه ها (فلش های جهت دار ، روابط وابستگی یا معاملات) به صورت ناهمگن همراه می شوند (گره ها نمی توانند به عقب برگردند اما جریان در یک جهت حرکت می کند ، یعنی هدایت می شود).

نمودار DAG

یک DAG چند درختی. منبع: ویکی پدیا

DAG ها در مدل سازی انواع مختلفی از اطلاعات اعمال می شوند که در آنها مجموعه رویدادها باید در نحوه تأثیرگذاری آنها بر یکدیگر نشان داده شوند (ساختارهای احتمالی در شبکه های بیزی, سوابق داده های تاریخی ، سیستم های کنترل تجدید نظر توزیع شده ، و غیره)

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

این امر دستیابی به اتفاق نظر در مورد بلوک های معتبر (مسئله معروف مقیاس پذیری) را دشوار می کند. در یک محیط ساختار یافته DAG محدودیتی نظری در میزان کارایی معاملات وجود ندارد زیرا معاملات مستقیماً بهم پیوند می خورند نه اینکه به صورت گروهی و بصورت سریال در یک خط واحد انجام شوند.

طراحی فنی DAG همچنین اجازه می دهد تا طیف گسترده ای از الگوریتم ها را که می تواند اعمال شود و در نتیجه انعطاف پذیری گسترده تری را به وجود آورد. چند پروژه مبتنی بر DAG وجود دارد ، همه بسیار متفاوت از یکدیگر و قابل توجه ، همه کد پایه خود را از ابتدا ساخته اند (در مقابل هک پایگاه کد دیگر بیت کوین).

در اینجا برخی از خصوصیات مشترک آنها وجود دارد:

  • دلبستگی: زمان در یک جهت جریان دارد. معاملات جدیدتر به معاملات قدیمی اشاره دارند ، اما برعکس اینگونه نیست. در چرخه ها گروهی از وظایف به یکدیگر بستگی دارند (اگر چرخه هایی وجود داشته باشد ترتیب توپولوژیک وجود نخواهد داشت). در یک DAG ، هر گره به موارد قبلی وابسته است که به آن ارجاع می دهند. این اجازه می دهد تا معاملات به صورت محلی یا حتی آفلاین انجام شده و در مراحل بعدی پردازش ، تأیید یا نهایی شوند.
  •  تاخیر: سرعت اجرا و زمان تأیید توسط بلوک اندازه محدود نمی شود ، بلکه پهنای باند بین همتایان ارتباط برقرار است. محدودیتی نظری برای میزان مقیاس بندی سیستم وجود ندارد.
  • بی احساس (“از قبل استخراج شده”): تأمین ثابت ، هیچ معدنی در کار نیست. هر صادرکننده معامله به طور همزمان اعتبارسنج است ، یا در غیر این صورت نمایندگان یا شاهدان درگیر در موارد درگیری یا اختلاف هستند. این معاملات بدون هزینه خرد و نانو را محدود می کند که تأثیرات محیطی را محدود می کند.
  • معاملات با ارزش صفر: به عنوان مثال. پیام ها ، یا معاملات غیر ارزشی خواه به امضای دیجیتال احتیاج داشته باشند و نه در یک بسته UDP.
  • هرس بانک اطلاعاتی: هرس در نانو و عکس فوری در IOTA نامیده می شود. هنوز چنین مکانیزمی با Byteballs وجود ندارد. این امکان را برای باریک نگه داشتن پایگاه داده فراهم می کند و گره های مختلف می توانند فقط سابقه مورد نظر خود را ذخیره کنند یا مربوط به آنها باشد.

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

نانو

آرم نانو

Nano (Raiblocks سابق) در دسامبر 2014 آغاز شد (بنیانگذار Colin LeMahieu پیشگام توسعه پروتکل اصلی بود) هنگامی که مقاله سفید و بتا برای اولین بار منتشر شد ، آن را به یکی از اولین ارزهای رمزپایه مبتنی بر DAG تبدیل کرد.

یک ارز خالص متمرکز بر ارائه سریع ، قابل اعتماد پرداخت همتا به همتا و انتقال سریع ارز برای آربیتراژ ، نانو “یک کار را انجام می دهد و آن را به درستی انجام می دهد” (شعار بازتاب دهنده اصل KISS).


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

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

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

به نظر می رسد رویکرد مینیمالیستی نانو با هنجارهای فلسفه UNIX مطابقت دارد که توسط داگ مک ایلروی در مجله فنی سیستم بل چنین خلاصه شده است:

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

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

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

نانو TPS. منبع: youtube.com

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

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

این امر به دارندگان نانو انگیزه می دهد تا در حفظ یکپارچگی دفتر حساب مشارکت کنند. به طور مشابه ، در صورت چنگال ، پیدایش باید دوباره انجام شود و از آنجا همه چیز توزیع می شود. این همان چیزی است که چنین اتفاقاتی را بعید می داند. نمایندگان با جزئیات بیشتری در مستندات و لیستی از نمایندگان (در حال حاضر بیش از 3000 نفر) یافت می شود اینجا.

در میان توسعه دهندگان کمک کننده (نانو عمدتا توسط جامعه هدایت می شود) همچنین مهندس نرم افزار PayPal Daniel Brain است که یک پرداخت ساده برای نانو که اجرای آن را برای بازرگانان سریع و آسان می کند. علاوه بر این ، بازرگانان بزرگتر می توانند گره های خود را برای مدیریت بارهای معاملاتی تنظیم کنند.

در رابطه با تأمین ، نانو “از قبل استخراج شده” است زیرا حساب پیدایش اولیه شامل کل مانده ثابت (133،248،290) است که سپس بین سایر حساب های تشکیل دهنده توپولوژی DAGchain توزیع می شود.

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

جالب اینجاست که بسیاری از مراحل اولیه حل مسئله توسط ونزوئلایی ها انجام شده است (اوج جستجوها از ونزوئلا در Google Trends) که منجر به این شد که بسیاری از XRB توزیع شده در اختیار فقیرترین افراد قرار گیرد که در غیر این صورت دسترسی به رمزنگاری ندارند.

بایت بال

بایت بال

Byteball (Bytes) یکی دیگر از رمز ارزهای مبتنی بر DAG است که توسط Anton Churyumov (فارغ التحصیل دانشگاه هسته ای تحقیقات روسیه) ساخته شده است و در 25 دسامبر 2016 راه اندازی شد. Byteball بر پرداخت های مشروط و قراردادهای قابل خواندن توسط انسان است که انجام اقدامات ساده را به روشی تعاملی (به عنوان مثال انسان) قراردادها و توافقات هوشمند قابل خواندن از طریق چت بات های گواهی و اوراکل های زنجیره ای).

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

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

واحد پول بایت بال نیز بایت است و بخشی از هزینه به ناظران شبکه موسوم به شاهد می رسد. برای ذخیره 1 بایت داده معامله ، مقدار ثابت 1 بایت ارز پرداخت می شود.

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

این کیف پول همچنین امکان ارسال Bytes به حساب های ایمیل یا از طریق برنامه های چت مانند WhatsApp یا Telegram را فراهم می کند. BlackBytes ارز مکمل است که برای معاملات p2p کاملاً ناشناس و غیرقابل ردیابی استفاده می شود.

IOTA

آرم IOTA

IOTA در اصل از ابتکاری سخت افزاری (JINN) با هدف تولید ریزپردازنده سه تایی تأمین پشتیبانی سخت افزاری برای محاسبات توزیع شده عمومی به عنوان سنگ بنای دستگاه های اینترنت اشیا connected متصل و در نهایت استفاده از فناوری های AI متولد شد..

JINN اول بود اعلام کرد در 23 سپتامبر 2014 در انجمن NXT و متعاقباً به IOTA تبدیل شد و منجر به تاسیس بنیاد IOTA به عنوان یک سازمان غیر انتفاعی مستقر در برلین در سال 2017 شد..

این بنیاد به توسعه استانداردهای صنعتی و پروتکل های باز لازم برای زیرساخت های اینترنت اشیا as به عنوان ستون فقرات برای اقتصاد ماشین به ماشین اختصاص یافته است. در این تلاش IOTA’s DAG (به اصطلاح “گره پیچیده”) تفاوت اساسی با سایر ارزهای رمزپایه دارد و نمی توان به همان روش تصور کرد یا با همان استانداردها اندازه گیری کرد.

رویکرد لزوماً غیرمتعارف IOTA دقیقاً به وضعیت امور اینترنت اشیا today امروزی و مشکلاتی که با گسترش گسترده آسیب پذیری ها در میان دستگاه های متصل که فقط در سال 2017 چهار برابر شده مرتبط است..

پیچ و خم IOTA یک ماشین انتزاعی از یک تشکیل می دهد ریزوماتیک مهربان ، “ایجاد ارتباط بی وقفه بین زنجیره های نشانه شناسی”. سرگئی پوپوف ، دکترای ریاضیات دانشگاه مسکو. و یکی از بنیانگذاران اصلی پروژه IOTA است منتشر شده مقاله پیگیری در 12 ماه مه.

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

هماهنگ کننده IOTA (Coo)

هماهنگ کننده IOTA

منبع: iota.org

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

IOTA’s DAG-value tangle تخم ریزی می کند تصادفی فضای “ناسازگاری” تصادفی در سطح. سپس نمونه های توزیع احتمال را در یک مدل مبتنی بر آموزش برای دستیابی به سازگاری گسترده در شبکه اجرا خواهد کرد.

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

در ساختار داده های منحصر به فرد tangle ، هیچ بلوکی وجود ندارد که به ترتیب در بلوک های قبلی داده های معامله ساخته شود ، اما در عوض هر معامله باید دو معامله ورودی دیگر را برای بررسی و تأیید بهم پیوند دهد. این عملکردهای کاربر و نگهدارنده (“استخراج کننده”) را به جای تفکیک نقش در قاره های ناهمگن که ممکن است همیشه علایق آنها همزمان نباشد ، دو برابر می کند..

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

در طراحی اساسی IOTA سرعت منطقی نسبت به سازگاری مطلوب است در حالی که امکان مقیاس پذیری نامحدود را فراهم می کند (به عنوان مثال سرعت تابعی از اندازه شبکه است) و توافق به عنوان استنباط رو به جلو از جذب-کشش-گرفتگی (به جای تأیید صحت – hash-append) با پاک کردن عکس فوری دوره ای ترازهای صفر بازیافتی را پاک می کند.

حالت انتخاب نوک (نکته نوعی معامله ورودی است) برای تأیید صحت معاملات ورودی ، آنها را در برابر کل سابقه درهم قرار می دهد و با وارد شدن معامله به گیربکس ، این کار را در حالت شاخه انجام می دهد. این بدان معناست که با جمع آوری قابلیت اطمینان و تعمیق در شبکه ، منتظر خواهد ماند تا دوباره با همان روند انتخاب شود.

ایجاد اجماع

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

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

IOTA Tangle تجسم

تجسم IOTA Tangle. منبع: استیمیت.

روش های مارکوف زنجیره ای مونت کارلو به عنوان مثال دسته ای از الگوریتم های مورد استفاده در تجزیه و تحلیل داده های بیزی است که مدل های نیاز به یکپارچه سازی بیش از هزار پارامتر ناشناخته را با توجه به توزیع های احتمال پیچیده و بعدی محاسبه می کند..

تجزیه و تحلیل داده های بیزی به طور کلی مدتهاست که به ویژه در حل مسائل پیچیده مفید است که در آن عدم قطعیت ذاتی زیادی وجود دارد که باید کمی شود. این بالقوه کارآمدترین روش اطلاعاتی برای انطباق با یک مدل آماری است ، بلکه از نظر محاسباتی نیز بسیار فشرده است.

همچنین جالب است بدانید که در آوریل 2017 ، سرگئی پوپوف و پروفسور گیدئون سامید از موسسه فناوری اسرائیل (و عضو بنیاد IOTA که اخیراً به آن پیوسته است) اخیراً کاغذ روی موضوع.

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

همچنین می توان مروری سریع بر پروتکل IOTA پیدا کرد اینجا.

ارزهای مبتنی بر DAG قابل استخراج

حتی اگر هر دو نانو و IOTA از قبل استخراج شده و ثابت هستند ، گزینه هایی برای استخراج Monero و دریافت آنها وجود دارد XRB ها یا iotas در مرورگر (بیشتر برای آزمایش در توسعه برنامه).

با این وجود ارزهای رمزپایه مبتنی بر DAG وجود دارد که امکان استخراج ارزان قیمت و توزیع شده را فراهم می کند. یکی از این موارد Burstcoin است ، پروژه ای که در سال 2014 ناشی از NXT در آن زمان (بلکه همچنین بر اساس پایه کد خاص خود) ساخته شده است و از سازگاری رمزنگاری معاملات از طریق الگوریتم اجماع اثبات ظرفیت اطمینان حاصل می کند (با استفاده از سخت افزار کم مصرف و ارزان درایو).

شبیه شبکه رعد و برق ، Burst یک زنجیره اصلی برای ذخیره سازی مطلق / نگهداری کتاب و انشعاب کانال های معاملاتی ساختاری DAG (هدف لایه ای است دایمکسیون) برای انتشار و تأیید که سپس در زنجیره اصلی تأیید می شوند.

هر کانال را می توان با پارامترها و خصوصیات سفارشی ، مانند مدت زمان تعریف شده ، متا ارزی اختصاصی با پشتوانه ، درجه ناشناس بودن ، اندازه شبکه و غیره باز کرد..

وجود دارد شیر آب عمومی ارائه شده و Burst در Poloniex و Bittrex قابل معامله است.

خنجر (XDAG) یکی دیگر از پروژه هایی است که اخیراً راه اندازی شده است (شبکه اصلی در 5 ژانویه 2018 مستقر شد) که امکان استخراج CPU / GPU و تا حدودی مشابه سایر معماری ها ، بلوک های زوجین ، معاملات و آدرس ها در یک واحد را فراهم می کند..

خلاصه

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

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

می توان گفت که هر سه پروژه DAG غیرمتمرکز هستند ، زیرا این ویژگی به استفاده گسترده تر و پذیرش آن بستگی دارد و بنابراین افراد و احزاب مایل به ایفای نقش های خاص هستند. در حال حاضر ، نانو در اطراف تعداد زیادی از مراکز نمایشی سازمان یافته است ، Byteball به تعدادی از شاهدان بستگی دارد که زنجیره اصلی را تحت نظارت قرار دهند و IOTA از یک هماهنگ کننده مرکزی (بنیاد IOTA) اداره می شود / آموزش می یابد که جریان فعالیت را مطابق پروتکل تضمین می کند.

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

تصویر ویژه از طریق Fotolia

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map