قبل از بلاکچین ، وب وجود داشت

قبل از بلاکچین و قبل از ERC-721 شبکه جهانی وب (یا به سادگی وب) وجود داشت. اولین استفاده تجاری از اینترنت در اواخر دهه 1980 ظاهر شد و در سال 1989 تیم برنرز-لی وب را در بالای اینترنت ایجاد کرد. وب شامل پروتکل انتقال HyperText (HTTP) ، HyperText Markup Language (HTML) ، Universal Resource Identifiers (URI) و مرورگرهای وب است. HTTP پروتکل اساسی برای اتصال همه قطعات به یکدیگر است. HTML زبانی را برای ایجاد سایتهایی که کاربران می توانند از آنها بازدید کنند فراهم می کند. URI منابعی مانند وب سایت ها ، اسناد و تصاویر را که مردم می توانند استفاده کنند شناسایی می کند. مرورگرها به کاربران اجازه می دهند از این منابع مختلف بازدید و استفاده کنند.

هدف اصلی وب این بود که محققان بتوانند اسناد را به اشتراک بگذارند و تبادل نظر رایگان را تسهیل کنند. این نه تنها فراتر از همه انتظارات منطقی به موفقیت رسید بلکه در چند سال کوتاه جهان را نیز تغییر داد.

مشکلات وب:

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

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

دنیای بلاکچین متفاوت است.

دارایی های خود را در بلاکچین بپوشانید

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

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

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

استانداردهای ERC-20 و Token

در شبکه Ethereum ، استاندارد رمز ERC-20 برای ایجاد دارایی های قابل قبول وجود دارد. مخفف ERC مخفف Ethereum Request for Comment است و شماره به سادگی یک شاخص شناسایی است. استاندارد ERC-721 برای معامله دارایی های غیرقابل معاملات ایجاد شده است (erc721.org).

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

از این رابط ، برنامه نویسان اشیا “” سه چرخه “، اشیا“ “موتور سیکلت” و اشیا “” ماشین “را ایجاد می کنند. اشیا “موتور سیکلت” و “ماشین” شامل خاصیت “مخزن بنزین” هستند که اشیا objects “سه چرخه” به آن نیازی ندارند. استانداردهای توکن ERC دقیقاً به همان روش عمل می کنند.

CryptoKitties and the Dawn of ERC-721

رمزنگاریاستاندارد ERC-721 توسط دیتر شرلی از Axiom ذن. هدف اصلی این استاندارد ایجاد CryptoKitties بود. CryptoKitties آثار هنری دیجیتال قابل جمع آوری منحصر به فرد گربه ها است. شما نه تنها می توانید یک مجموعه منحصر به فرد از CryptoKitties داشته باشید ، بلکه می توانید برای ایجاد CryptoKitties جدید گربه ها را نیز پرورش دهید.

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

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

کد نه چندان مخفی

کد استاندارد توکن ERC-721 قراردادی است که وقایع و عملکردها را تعریف می کند. توضیحات کلی کد در اینجا کافی است و اطلاعات فنی دقیق در اینجا موجود است وب سایت ERC-721.

برنامه نویسان باید سه رویداد را اجرا کنند: Transfer () ، Approval () و ApprovalForAll (). با تغییر مالکیت ، عوامل محرک را منتقل کنید. وقتی آدرس تأیید شده برای یک علامت غیر قابل استفاده (NFT) تغییر می کند یا مجدداً تأیید می کند ، تأیید شروع می شود. ApprovalForAll وقتی اپراتور یک مالک را فعال یا غیرفعال می کند ، باعث می شود.

کارکردهایی که برنامه نویسان باید اجرا کنند:

تعادل() برای شمردن تمام نشانه های غیر قابل قارچ (NFT) که به یک مالک اختصاص داده شده است

مالک() پیدا کردن صاحب NFT

safeTransferFrom () برای انتقال مالکیت NFT از یک آدرس به آدرس دیگر و در صورت مشکل بودن پارامترها ، موارد استثنایی را به نمایش می گذارد

انتقال از() برای انتقال مالکیت یک NFT

تایید() برای تنظیم یا تأیید آدرس تأیید شده برای NFT

setApprovalForAll () برای فعال کردن یا غیرفعال کردن تأیید شخص ثالث (“اپراتور”) برای مدیریت کلیه دارایی های msg.sender

getApproved () آدرس تأیید شده برای این NFT یا اگر صفر باشد آدرس صفر را برمی گرداند

isApprovedForAll () اگر اپراتور یک اپراتور تأیید شده برای مالک باشد ، true را برمی گرداند ، در غیر این صورت false را برمی گرداند

رابط پشتیبانی () اگر قرارداد از یک interfaceID معتبر استفاده کند ، true برمی گردد ، در غیر این صورت false برمی گردد

افکار نهایی: نه زندگی فناوری های نوظهور

درست از ابتدا ERC-721 محدودیت های بالقوه ای را فقط به دلیل ماهیت فناوری دیجیتال نشان می دهد. هر شی دیجیتالی به سادگی مجموعه ای از بیت ها را ساختار می دهد و بیت ها می توانند تغییر کنند. فرض کنید شما هنرمندی هستید که بزرگترین پرتره دیجیتال را تاکنون خلق کرده اید. اگر کسی ترجیح می دهد پرتره را کپی کند و بر روی آن سبیل بکشد ، آیا به این دلیل می توانید مالکیت دارایی اصلی را ثابت کنید که جلوی آن را بگیرید؟ آیا مالک دارایی جدیدی هستید که از دارایی خود گرفته اید؟ اگر دارایی یک اثر هنری نبود بلکه یک قطعه کد اجرایی بود ، آیا می توانستید استفاده از آن کد را محدود کنید?

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