Nagsimula akong magtrabaho sa proyektong MyETHMeta mga tatlong taon na ang nakararaan, na isang mala-Gravatar na serbisyo ng metadata para sa mga Ethereum account. Alam kong may iba pang mga solusyon, tulad ng pag-uugnay ng metadata sa mga pangalan ng ENS, ngunit nais kong lumikha ng pinakasimpleng posibleng sistema, na gumagana tulad ng Gravatar.
Sa MyETHMeta, sapat na na magtalaga ng URL sa aming Ethereum address nang isang beses, na nagkakahalaga ng isang bahagi ng isang sentimo sa Gnosis chain. Walang mga umuulit na gastos sa pagpapanatili tulad ng sa ENS, at ang metadata ay madaling ma-update sa tinukoy na URL. Madali itong makamit gamit ang tradisyonal na pagho-host ng Web2, at kung gumagamit kami ng desentralisadong storage, gaya ng IPFS o Swarm, posible rin ito sa pamamagitan ng paggamit ng IPNS o Swarm Feeds.
Dahil nagsulat na ako ng isang komprehensibong artikulo tungkol sa serbisyo mismo, dito mas gusto kong tumuon sa mga pagbabago at mga plano sa hinaharap.
Migration sa isang GitHub Organization: Para sa orihinal na MyETHMeta, nagrehistro ako ng custom na domain at nag-host ng mga page sa AWS. Gayunpaman, dahil ito ay isang dApp (na ang backend ay isang matalinong kontrata), ang setup na ito ay ganap na hindi kailangan. Ang mga serbisyong ibinigay ng Mga Organisasyon ng GitHub at ang nauugnay na Mga Pahina ng GitHub ay ganap na sapat. Ang isa pang dahilan para sa desisyong ito ay ang aking pagnanais na gawing independyente ang serbisyo mula sa aking sarili hangga't maaari. Hanggang ngayon, sinasaklaw ko ang mga gastos ng domain at pagho-host. Kung, sa anumang kadahilanan, hindi ko na ito nagawa (halimbawa, kung nabangga ako ng kotse), magiging hindi available ang serbisyo. Sa setup na ito, maaari itong gumana nang maayos nang wala ako.
Restructured Repository Layout: Kasabay ng paglipat sa organisasyon, hinati ko rin ang umiiral na repository sa ilang independiyenteng repository. Ginagawa nitong mas organisado at mas madaling pamahalaan ang proyekto.
Bagong Smart Contract sa Gnosis Chain: Ang MyETHMeta smart contract ay orihinal na na-deploy sa Polygon chain. Bagama't medyo mababa ang mga bayarin sa gas doon, mas mura pa ang Gnosis chain. Ang pagsusulat ng isang URL (na, sa karamihan ng mga kaso, ang kailangan lang sa bawat account) ay nagkakahalaga lamang ng isang bahagi ng isang sentimo.
Suporta para sa EIP-712 Meta-Transactions: Bagama't napakababa ng mga bayarin sa Gnosis, nahihirapan pa rin ang maraming user sa pagpopondo sa kanilang mga account gamit ang xDAI. Sa EIP-712 meta-transactions, ang isang profile provider ay maaaring masakop ang gastos na ito, na nagreresulta sa isang mas mahusay na karanasan ng user. Kung may kakayahang mag-install ng MetaMask (o anumang pitaka), madali silang makakagawa ng profile ng MyETHMeta sa pamamagitan ng isang provider ng profile.
Pagkatapos ng mga pagbabagong ito, narito ang ilang mga plano sa hinaharap.
Pagho-host ng Profile: Ang layunin ko ay gawing accessible ang MyETHMeta sa lahat, kahit na ang mga walang pagmamay-ari ng cryptocurrency o may anumang kaalaman tungkol sa blockchain. Upang makamit ito, plano kong lumikha ng isang simpleng serbisyo sa pagho-host ng profile kung saan ang sinuman ay maaaring lumikha at mag-publish ng kanilang sariling profile nang libre. Ang kailangan lang nila ay isang Ethereum wallet.
Pag-verify ng Social Account: Sa kasalukuyan, ang profile ay isang simpleng JSON file kung saan maaaring magsulat ng kahit ano ang sinuman. Plano kong lumikha ng isang serbisyo ng Oracle na nagbibigay-daan sa pag-verify ng mga social account. Ang mga na-verify na account ay mamarkahan ng berdeng checkmark, na nagpapatunay na ang tinukoy na social account ay tunay na kabilang sa Ethereum account. Dahil ang isang social account ay maaari lamang i-link sa isang Ethereum account, ito ay magsisilbi rin bilang isang uri ng patunay ng natatanging sangkatauhan (kahit na hindi masyadong malakas).
Mga Natatanging Badge ng Pagkatao: Maaaring kasama sa mga profile ang mga badge na nagpapatunay ng pagiging natatangi. Kung ive-verify ng isang user ang kanilang pagkakakilanlan sa pamamagitan ng WordID o ang serbisyong Proof of Humanity , maaari silang makakuha ng mga badge para dito, na nagpapakita na ang profile na naka-link sa kanilang Ethereum account ay ganap na kakaiba.
Censorship-Free Encrypted Communication at Social Network: Sa isang nakaraang artikulo , isinulat ko ang tungkol sa kung paano ganap na gawing desentralisado ang ActivityPub federated protocol. Mangangailangan lamang ito ng pagtukoy ng isang inbox at outbox (centralized man o decentralized) sa profile na JSON, kung saan makakatanggap ang may-ari ng account ng mga naka-encrypt na mensahe at makakapagbigay ng access sa kanilang pampublikong feed. Dahil ang protocol ay ganap na tugma sa ActivityPub, maaari pa itong isama sa Fediverse sa pamamagitan ng mga simpleng gateway.
Karma Currency Support: Sumulat ako ng ilang artikulo sa HackerNoon tungkol sa konsepto ng Karma currency, isang trust-based na monetary system. Ang pinaka-kritikal na aspeto ng solusyong ito ay ang pagtiyak na ang bawat tao ay may isang account lamang at ang mga tao ay mapagkakatiwalaan ang isa't isa. Ang isang profile system na tulad nito ay perpekto para sa pagkamit nito, dahil nagbibigay-daan ito sa maraming paraan upang patunayan ang pagiging natatangi at bumuo ng tiwala sa pagitan ng mga user. Ang MyETHMeta profile ay maaaring magpakita ng balanse ng Karma at magbigay ng access sa mga transaksyon sa Karma na nauugnay sa profile.
Kung gusto mo ang proyekto, huwag mag-atubiling sundan ito sa GitHub, at palagi akong bukas sa mga ideya at kontribusyon. Bagama't ito ay kasalukuyang isang proyekto ng isang tao, nakikita ko ang aking sarili bilang tagapangasiwa lamang. Dahil ang sistema ay ganap na desentralisado at wala akong kontrol sa pagpapatakbo ng matalinong kontrata, ang MyETHMeta ay hindi pag-aari ko. Kung sinuman ang hindi sumasang-ayon sa anumang bagay, maaari silang lumikha ng kanilang sariling tinidor at hubugin ang proyekto ayon sa kanilang gusto. Ang sistema ay ganap na nagsasarili at pinamamahalaan ng komunidad, at plano kong magsagawa ng karagdagang mga pag-unlad sa diwa na ito.
Maaari mong mahanap ang GitHub repos dito: https://github.com/MyETHMeta