در ابتدایی ترین سطح آن، هویت uPort یک آدرس Ethereum است. بنابراین اگر تمام آنچه شما هنگام تعامل با کاربر نهایی نیاز دارید آدرس Ethereum آنهاست، این وسیله توسط uPort تهیه می شود. با این حال، uPort همچنین به برنامه ها و کاربران آن ها اجازه می دهد تا اطلاعات را به صورت خصوصی تبادل کنند، در حالی که هنوز هم از امنیت blockchain Ethereum حمایت می شود.
با جزئیات بیشتر، هویت uPort یک نمایش کامل دیجیتالی از یک شخص (یا برنامه ، سازمان ، دستگاه یا ربات) است که قادر است در هنگام تعامل با قراردادهای هوشمند و سایر هویت های uPort ، چه به صورت زنجیره ای ، اظهاراتی را درباره افراد خود بیان کند. یا خارج از زنجیره این توانایی برای بیان اظهارات در مورد خود ، بدون تکیه بر ارائه دهندگان هویت متمرکز ، چیزی است که uPort را به سکویی برای هویت خود محور تبدیل می کند.
قدرت واقعی uPort این است که باعث می شود برنامه Ethereum شما برای کاربران نهایی شما قابل دسترسی تر باشد. برخی از تعامل های فعال شده توسط uPort معاملات ساده blockchain مانند خرید سهام در بازار پیش بینی Gnosis است ، در حالی که برخی دیگر تعامل خارج از زنجیره مانند ساخت اظهارات خصوصی برای سایر کاربران یا برنامه های uPort را شامل می شوند. همه اینها بدون نیاز به کاربران نهایی شما برای تحمل مدیریت کلید پیچیده امکان پذیر است.
یک هویت ماندگار
در سیستم های رمزنگاری عمومی کلید عمومی ، کلیدهای عمومی هویت را نشان می دهند. مالکیت هویت با در اختیار داشتن کلید خصوصی که کلید عمومی را کنترل می کند تعیین می شود. این مدل کلید عمومی / خصوصی دارای خواص مفید بسیاری است که سالهاست در سیستم های هویت رمزنگاری استفاده می شود. زیرساخت های زیادی برای تأیید یک امضا لازم نیست – فقط به کلید عمومی دسترسی دارید.
این مدل سنتی چند مشکل اساسی دارد. اگر کلیدهای خصوصی خود را گم کنید (از طریق از دست دادن ، سرقت یا وسایل دیگر) هویت خود را از دست می دهید. بعلاوه ، ابطال مستقیم یک کلید بدون زیرساختهای متمرکز اضافی و همچنین انتقال ایمن هویت به شخص دیگر به طور مستقیم امکان پذیر نیست. این محدودیتهای فناوری مانع اتخاذ تلاش های قبلی در سیستم های هویت رمزنگاری شده است.
قراردادهای هوشمند اتریوم اولین راه حل کلی هدف را برای مشکل مدیریت کلید رمزنگاری فراهم می کند و زمینه را برای هویت های ماندگار فراهم می کند. یک هویت اتریوم را می توان با آدرس یک قرارداد هوشمند یا یک کلید عمومی عمومی نشان داد. از آنجا که قراردادهای هوشمند را می توان با سایر قراردادهای هوشمند کنترل کرد ، می توان آنها را برای پشتیبانی از روشهای مختلف منطق بازیابی کلید برنامه ریزی کرد. این انعطاف پذیری از منطق کنترلی که توسط Ethereum امکان پذیر است ، به هویت رمزنگاری اجازه می دهد تا کاربر پسند و معنی دار شوند.
هویت uPort یک قرارداد هوشمند بسیار ساده است که توسط یک قرارداد کنترل کننده قابل تعویض کنترل می شود ، که شامل بازیابی کلید و منطق کنترل دسترسی است. قرارداد کنترلر به نوبه خود توسط کلیدهای ذخیره شده ایمن در تلفن هوشمند شما کنترل می شود.
معماری
معماری uPort شامل سه عنصر اصلی است:
قراردادهای هوشمند که هویت کاربر را تأیید می کنند و حاوی منطقی هستند که به کاربر اجازه می دهد در صورت گم شدن دستگاه تلفن همراه خود ، هویت خود را بازیابد
برنامه تلفن همراه که کلیدهای کاربر را در اختیار دارد و به او امکان می دهد با قرارداد هوشمند (معامله امضاء) ارتباط برقرار کند. این کلید در انکلاو امن دستگاه خود نگه داشته شده است و هر وقت از کلید برای امضا استفاده می شود ، از طریق تأیید سنجش بیومتریک محلی قابل دسترسی است. کلید در دستگاه باقی مانده است و هیچ وسیله صادر کردن کلید خصوصی از دستگاه وجود ندارد.
کتابخانه های توسعه دهنده نحوه توسعه برنامه های شخص ثالث می توانند پشتیبانی uPort را در برنامه های خود ادغام کنند.
uPort Registry: یک منبع مشترک
uPort Registry یک قرارداد هوشمند واحد است که توسط تمام هویت uPort مشترک است و زیرساخت های لازم برای اشتراک داده های خارج از زنجیره و تأیید هویت را فراهم می کند. اساساً ، به هویت این امکان را می دهد که اظهاراتی ساده درباره اینکه چه کسانی هستند ، بیان کنند.
اگر در برنامه موبایل uPort یک هویت uPort ایجاد می کنید می توانید اطلاعات خود را در یک پروفایل عمومی تنظیم کنید. به طور پیش فرض نام ، تصویر ، تصویر بنر و توضیحات شما در معرض دید عموم قرار می گیرد. در نسخه های آینده برنامه شما قادر خواهید بود تا اطلاعات موجود در مشخصات عمومی خود را کنترل کنید ، اما اکنون می توانید از آن به عنوان معادل Ethereum در پروفایل عمومی Facebook خود فکر کنید. این اظهارات عمومی شما به جهان است که در مورد شما کی هستید.
نحوه کار برنامه uPort با رجیستری uPort بسیار ساده است:
این یک شی نمایه JSON را دنبال کنوانسیون های http://schema.org ایجاد می کند
نمایه JSON در IPFS بارگذاری می شود
سرانجام یک معامله setAttributes در رجیستری ایجاد می کند ، که hash IPFS حاصل را به عنوان بیانیه عمومی شما تعیین می کند.
اگرچه uPort Registry یک قرارداد مشترک است اما داده های ذخیره شده توسط هر هویت در این منبع حقیقت تنها توسط خود هویت uPort قابل کنترل است و سانسور یا مسدود کردن آن غیرممکن است. این جنبه کنترل ساده برای مفهوم هویت uPort خودمختار مهم است.
یادآوری این نکته مهم است که قرارداد uPort Registry یک مرجع زنجیره ای برای داده های خارج از زنجیره است. داده هایی که در IPFS بارگذاری می شوند ، روی زنجیره ای ذخیره نمی شوند ، فقط هش IPFS است.
نسخه فعلی رجیستری uport در شبکه Ropsten به 0xb9C1598e24650437a3055F7f66AC1820c419a679 مستقر می شود.
مقایسه استفاده از زنجیره ای و غیر زنجیره ای
در دنیای Ethereum خالص ، که تمام برنامه ها و داده ها کاملاً روی تابلوی زنجیره زندگی می کنند ، ما نیازی به ثبت نام uPort به عنوان منبع مشترک حقیقت نخواهیم داشت. در عوض ، حقیقت به سادگی از زیر مجموعه عمومی خوانده می شود. با این حال در واقعیت حتی ساده ترین dApp UX به دلیل محدودیت های حریم خصوصی داده های blockchain به داده های زنجیره ای بزرگ نیاز دارد. اگر UX برنامه نویسی باید علاوه بر آدرس و توازن Ethereum اطلاعاتی در مورد کاربر را نشان دهد ، توسعه دهندگان باید به چیزی مانند Registry uPort ، Facebook Connect یا پایگاه داده کاربر متمرکز خود اعتماد کنند.
موارد استفاده پیشرفته بسیاری برای نیاز به تبادل اطلاعات خصوصی ، مانند درآمد سالانه یا شماره شناسه ملی ، بین کاربر و یک برنامه وجود دارد. بیشتر افراد خوشحال نیستند که این اطلاعات را در یک صفحه عمومی بفرستند و بنابراین ما به راهی برای به اشتراک گذاری ایمن غیر زنجیره ای نیاز داریم.
استقامت غیرمترقبه و زنجیره ای برای جهانی خارج از زنجیره ای
همانطور که قبلاً نیز اشاره کردیم ، یک هویت قرارداد هوشمند در blockchain Ethereum تقریباً هر کاری را می تواند انجام دهد که یک هویت مبتنی بر کلید و خیلی موارد دیگر باشد. اما متأسفانه یک کاری که نمی تواند انجام دهد این است که داده های غیر زنجیره ای دلخواه مانند یک کلید خصوصی را امضا کنید. بنابراین به روشی برای uPort Registry نیاز داریم تا امضای دلخواه داده های غیر زنجیره ای را به یک صفحه کلید واگذار کند.
قسمت publicKey در ورودی uPort Registry در خدمت این هدف است. publicKey به هویت پایدار من اجازه می دهد تا اجازه امضای دستگاه دیگری را صادر کنم در این مورد برنامه تلفن همراه uPort من. همچنین به من این امکان را می دهد که اگر دستگاه خود را گم کنم یا به روز کنم این کلید را تغییر دهم.
کتابخانه جاوا اسکریپت uPort Connect با شفافیت از این قابلیت غیر رسمی ثبت کلید عمومی uPort برای برقراری ارتباط ایمن و به اشتراک گذاری اطلاعات بین برنامه شما و برنامه تلفن همراه ما با JWT (توکن های وب JSON) تأیید شده توسط uPort Registry استفاده می کند.
Uport برنامه اتریوم خود را انسانی می کند
شاید مهمترین دلیل پشتیبانی از uPort هنگام ساختن برنامه Ethereum شما این باشد که uPort تجربیات کاربر blockchain را انسانی می کند. کاربران دیگر فقط آدرسهای رمزگذاری شده هگزا نیستند که در تعامل با سایر آدرس های سحر و جادو هستند ، اما افراد واقعی که هم اکنون با تعامل با افراد واقعی دیگر ، برنامه ها ، دستگاه ها و مشاغل قادر به بیان کامل هستند.
علاوه بر این ، ترکیب برنامه تلفن همراه uPort و کتابخانه ها ، کاربران جدید غیر فنی را در برنامه های خود برای شما بسیار آسان می کند. ما انتظار داریم که این یک نیروی محرکه برای تغییر مقیاس برنامه های اتریوم به جریان اصلی باشد.هویت uPort یک قرارداد هوشمند بسیار ساده است که توسط یک قرارداد کنترل کننده قابل تعویض کنترل می شود ، که شامل بازیابی کلید و منطق کنترل دسترسی است. قرارداد کنترلر به نوبه خود توسط کلیدهای ذخیره شده ایمن در تلفن هوشمند شما کنترل می شود.
خدمات مرکزی
Chasqui )سرور پیام رسانی)
Chasqui مسئول ارتباط با یک برنامه مقدماتی غیر متمرکز برنامه رومیزی و از طریق برنامه تلفن همراه است.
توجه داشته باشید که سرور Chasqui در هنگام اجرای برنامه غیر متمرکز در یک مرورگر تلفن همراه استفاده نمی شود.
منبع : iminer