Pertama, sedikit istilah. A "pesan" adalah unit komunikasi antara dua atau lebih peserta dalam jaringan blockchain. Itu dapat berisi semua jenis data dan biasanya digunakan untuk mendapatkan persetujuan digital dari pengguna.
A "transaksi", di sisi lain, adalah jenis pesan spesifik yang melibatkan transfer nilai dari satu peserta ke peserta lainnya. Biasanya mencakup informasi seperti alamat pengirim, alamat penerima, jumlah mata uang kripto yang ditransfer, dan tanda tangan digital yang membuktikan otorisasi pengirim untuk transfer tersebut.
Pengguna sudah dapat menghapus transaksi tanda tangan menggunakan perangkat Ledger mereka, seperti yang dirinci dalam posting ini, dan kami juga telah memperluas praktik baik ini dengan menggunakan prinsip yang sama pada pesan, berikut caranya.
Mengapa kami menandatangani pesan di web3?
Blockchain didasarkan pada “kriptografi kunci publik”, di mana pengguna memiliki kunci publik dan kunci pribadi, yang berpasangan. Kunci publik mewakili identitas pemilik dan kunci privat bersifat rahasia, memungkinkan mereka membuktikan bahwa mereka adalah pemilik pasangan kunci tersebut.
Saat menandatangani pesan, Anda menggunakan kunci pribadi dalam algoritma penandatanganan untuk menghubungkan tanda tangan ke pesan dan kunci publik. Tidak ada yang bisa mendapatkan kunci pribadi Anda, atau memalsukan tanda tangan yang valid untuk Anda. Namun, siapa pun yang mengetahui kunci publik Anda dapat dengan mudah memverifikasi bahwa pesan tersebut ditandatangani oleh kunci pribadi Anda.
Singkat cerita, proses dan idenya sama dengan penandatanganan transaksi, hanya saja di sini kami berfokus pada penandatanganan pesan yang memiliki tujuan berbeda: tunjangan. Kami menandatangani pesan dalam aplikasi kripto untuk mengumpulkan persetujuan pengguna, sama seperti ketika di kehidupan nyata Anda menggunakan tanda tangan tertulis di atas kertas. Ini adalah versi kripto dari “penandatanganan fiat”.
Pentingnya EIP-712
Menandatangani pesan bukanlah hal baru. Kami sudah bisa menandatangani pesan selama bertahun-tahun, dan bentuk dan bentuknya bisa berbeda-beda seiring dengan perkembangannya seiring berjalannya waktu. Faktanya, itu Proposal Peningkatan Ethereum 191 (EIP-191) telah dikirimkan pada tahun 2016 dan memperkenalkan standar yang memungkinkan pesan dapat dibaca manusia yang didukung secara asli oleh perangkat Ledger. Namun kelemahan EIP-191 adalah standarnya tidak menyusun data. Itu hanya uraian singkat tentang data yang panjangnya tidak terbatas di akhir pesan, sehingga sulit untuk digunakan. Dalam praktiknya, pesan yang terlalu panjang seringkali terpotong dan mengakibatkan pengguna kehilangan informasi penting; UX yang buruk.
Seperti yang dinyatakan di awal Proposal Peningkatan Ethereum 712 (EIP-712): “Menandatangani data adalah masalah yang terpecahkan jika yang kita pedulikan hanyalah bytestring. Sayangnya di dunia nyata kita peduli dengan pesan-pesan bermakna yang kompleks.” – Saya sangat setuju. Ketika pesan berkembang untuk memenuhi operasi yang lebih kompleks, pengenalan struktur data yang diketik dalam pesan seperti yang ditentukan dalam EIP-712 merupakan perubahan yang disambut baik.
Artinya bagi pengguna, kini pengembang dapat mengurai data dalam pesan dan mengetahui apa itu, yang kini dapat diekspos kepada pengguna. Parsing berarti bisa membaca isinya, karena Anda tahu bagaimana strukturnya. Ini merupakan perubahan besar dalam hal pengalaman pengguna dan juga dari sudut pandang keamanan karena sekarang saya dapat memverifikasi apa yang saya tandatangani.
Kembali ke konteks penggunaan pesan, jika Anda meminta Alice memberi Anda izin khusus pada konten dompetnya, sebagai pengembang aplikasi, Anda harus sangat eksplisit mengenai hal ini untuk memaksimalkan peluang Anda agar dia melanjutkan. Tapi ini lebih dari sekedar optimasi tingkat konversi.
Jika Anda berpikir tentang keamanan dan pertahanan dalam lingkungan yang bermusuhan, penipu jelas akan membuat pesan tersebut seburam mungkin untuk mengelabui Alice agar mengizinkan operasi berbahaya tersebut. Transparansi dan kemampuan Alice untuk memeriksa ulang apa yang dia tandatangani sangatlah penting.
Dan di situlah peran EIP-712. Sebelum EIP ini, pesan yang ditandatangani adalah string hex buram yang ditampilkan kepada pengguna dengan sedikit konteks tentang item yang membentuk pesan tersebut.
Maukah kamu menandatangani ini? Tahu apa yang Anda izinkan di sini?
Spesifikasi EIP-712 memperkenalkan struktur data yang diketik untuk pesan yang memungkinkan pesan tersebut diurai oleh dompet dan ditampilkan dengan cara yang mudah digunakan agar Alice dapat membuat keputusan yang tepat. Selain itu, ini merupakan standar dan dapat dioperasikan di seluruh industri: mendukung EIP-712, pesan Anda dapat diuraikan oleh Ledger, MetaMask, Rainbow, Argent, Coinbase Wallet, apa saja.
Dukungan buku besar untuk EIP-712
Pertama-tama, hari-hari bahagia, perangkat Ledger memiliki dukungan asli untuk pesan EIP-712, dan sebagai pengembang Anda dapat mengontrol dengan tepat bagaimana pesan Anda ditampilkan di perangkat.
Pada dasarnya ada 3 tingkat dukungan untuk pesan pada perangkat Ledger:
Level 1: Penandatanganan Buta
Jika Bob, seorang pengembang aplikasi, tidak menggunakan pesan EIP-712, Bob pada dasarnya meminta Alice untuk menandatangani string hex yang tidak dapat dibaca: Bob meminta Alice untuk menandatangani sesuatu yang bahkan tidak dapat dibacanya, itu adalah penandatanganan buta.
Level 2: Penandatanganan Transparan
Dengan menerapkan pesan EIP-712, Bob mengambil langkah maju dari string hex ke konten yang dapat dibaca. Sekarang ia memungkinkan Alice untuk membaca isi pesan, namun, karena ia menampilkan seluruh isi pesan kepadanya, sulit untuk menemukan informasi penting yang tercampur dengan informasi teknologi. Sudah transparan, tapi belum jelas.
Level 3: Penandatanganan yang Jelas
Karena perangkat dapat mengurai isi pesan, dengan menunjukkan apa yang akan ditampilkan dan bagaimana caranya, kita dapat mencapai penandatanganan yang jelas. Jadi, asalkan Bob menyetel metadata yang diperlukan, inilah yang akan dilihat Alice di perangkat Ledger-nya:
Jauh lebih baik daripada string hex bukan?
Poin penting lainnya adalah karena ditampilkan dengan cara yang sepenuhnya aman, perangkat terpisah yang tidak dapat dirusak, Alice 100% yakin bahwa apa yang dia lihat di perangkat itu adalah apa yang dia tanda tangani: tidak ada malware atau aplikasi berbahaya yang dapat mengubah apa yang ditampilkan padanya. Jika apa yang ditampilkan di perangkat tidak sesuai dengan harapannya, dia bisa tetap aman dan menolak menandatangani pesan tersebut.
Untuk memberikan peningkatan UX dan keamanan ekstra kepada penggunanya, Bob perlu melakukan 2 hal: tentukan bidang mana yang harus ditampilkan kepada pengguna dan berikan nama tampilan yang bagus dan eksplisit untuk bidang tersebut.
Jika sebagai pengembang Anda ingin bergabung dengan Bob dan melakukannya untuk aplikasi Anda, Anda memiliki semua dokumentasi di sini, dan intinya adalah membuat permintaan tarik untuk memasukkan kontrak Anda ke daftar putih dApps Asset Registry Ledger melalui file JSON yang berisi:
- Pemilih untuk menunjukkan bidang mana yang perlu ditampilkan perangkat kepada Alice,
- Labeli setiap pemilih dengan nama tampilan.
Ini bukan kosmetik, ini praktik yang baik
Dengan memasukkan kontrak pintar Anda ke dalam daftar putih dan menunjukkan bagaimana perangkat Ledger dapat menampilkan pesan Anda, Anda tidak hanya meningkatkan pengalaman pengguna secara signifikan saat berinteraksi dengan aplikasi Anda, namun yang lebih penting, Anda melindungi kita semua dari penipuan dan membantu membangun kebiasaan baik di dalam aplikasi. ekosistem web3.
Kita tidak boleh menandatangani sesuatu yang kita tidak mengerti.
Kami tidak dapat melakukan ini tanpa Anda, bantu kami membuat penandatanganan menjadi norma yang jelas.
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- PlatoAiStream. Kecerdasan Data Web3. Pengetahuan Diperkuat. Akses Di Sini.
- Mencetak Masa Depan bersama Adryenn Ashley. Akses Di Sini.
- Beli dan Jual Saham di Perusahaan PRE-IPO dengan PREIPO®. Akses Di Sini.
- Sumber: https://www.ledger.com/blog/securing-message-signing
- :adalah
- :bukan
- :Di mana
- $NAIK
- 1
- 2016
- 22
- 220
- a
- kemampuan
- Sanggup
- Tentang Kami
- tentang itu
- benar
- Mencapai
- di seluruh
- alamat
- permusuhan
- algoritma
- Semua
- mengizinkan
- Membiarkan
- memungkinkan
- sudah
- juga
- jumlah
- an
- dan
- Lain
- Apa pun
- siapapun
- aplikasi
- Aplikasi
- persetujuan
- ADALAH
- Perak
- AS
- aset
- At
- otorisasi
- berdasarkan
- BE
- karena
- menjadi
- sebelum
- Awal
- makhluk
- Lebih baik
- antara
- Bit
- blockchain
- Jaringan Blockchain
- bob
- membangun
- tapi
- by
- CAN
- yang
- melayani
- kesempatan
- perubahan
- Changer
- jelas
- coinbase
- Dompet Coinbase
- datang
- umum
- Komunikasi
- kompleks
- persetujuan
- mengandung
- Konten
- isi
- konteks
- kontrak
- kontrol
- Konversi
- membuat
- cryptocurrency
- DApps
- data
- Hari
- keputusan
- Pertahanan
- terperinci
- Pengembang
- pengembang
- alat
- Devices
- berbeda
- digital
- Display
- menampilkan
- do
- dokumentasi
- Tidak
- Dont
- turun
- setiap
- mudah
- ekosistem
- EIP
- akhir
- Lingkungan Hidup
- penting
- dasarnya
- ethereum
- Bahkan
- Kecuali
- harapan
- pengalaman
- terkena
- tambahan
- fakta
- Fields
- File
- berfokus
- Untuk
- menempa
- bentuk
- bentuk
- Depan
- dari
- penuh
- sepenuhnya
- Selanjutnya
- permainan
- game-changer
- mengumpulkan
- mendapatkan
- gif
- akan
- baik
- memberikan
- tangan
- senang
- Sulit
- Memiliki
- membantu
- membantu
- dia
- di sini
- HEX
- -nya
- Seterpercayaapakah Olymp Trade? Kesimpulan
- Namun
- HTTPS
- bisa dibaca manusia
- i
- ide
- identitas
- if
- pentingnya
- memperbaiki
- ditingkatkan
- perbaikan
- meningkatkan
- in
- termasuk
- menunjukkan
- industri
- informasi
- informasi
- berinteraksi
- dapat dioperasikan
- diperkenalkan
- Memperkenalkan
- Pengantar
- IT
- item
- ikut
- jpg
- json
- hanya
- kunci
- Tahu
- Buku besar
- Panjang
- adalah ide yang bagus
- Hidup
- LINK
- sedikit
- Panjang
- membuat
- Membuat
- malware
- cara
- Cocok
- max-width
- Maksimalkan
- berarti
- cara
- pesan
- pesan
- Metadata
- MetaMask
- hilang
- campur aduk
- lebih
- nama
- asli
- kebutuhan
- jaringan
- tak pernah
- New
- bagus
- tidak
- sekarang
- of
- sering
- on
- ONE
- hanya
- buram
- operasi
- Operasi
- optimasi
- or
- Lainnya
- di luar
- lebih
- sendiri
- pasangan
- kertas
- peserta
- izin
- perspektif
- plato
- Kecerdasan Data Plato
- Data Plato
- Titik
- miskin
- mungkin
- berpotensi
- praktek
- tepat
- prinsip-prinsip
- swasta
- Key pribadi
- Masalah
- proses
- usul
- melindungi
- Rasakan itu
- membuktikan
- memberikan
- disediakan
- publik
- Key publik
- tujuan
- Penilaian
- Baca
- nyata
- kehidupan nyata
- dunia nyata
- pendaftaran
- merupakan
- permintaan
- wajib
- dihasilkan
- aman
- sama
- penipuan
- Rahasia
- aman
- keamanan
- melihat
- melihat
- melayani
- set
- bentuk
- dia
- Pendek
- harus
- Menunjukkan
- menandatangani
- tertanda
- signifikan
- penandatanganan
- sejak
- pintar
- kontrak pintar
- So
- sesuatu
- tertentu
- spesifikasi
- ditentukan
- Spot
- standar
- menyatakan
- tinggal
- Langkah
- Cerita
- Tali
- struktur
- tersusun
- disampaikan
- seperti itu
- besar
- mendukung
- Didukung
- pendukung
- Mengambil
- tech
- istilah
- dari
- bahwa
- Grafik
- mereka
- Mereka
- Ini
- mereka
- hal
- hal
- berpikir
- ini
- itu
- meskipun?
- waktu
- untuk
- terlalu
- Transaksi
- transfer
- ditransfer
- Transparansi
- jelas
- dua
- mengetik
- memahami
- sayangnya
- satuan
- tak terbatas
- us
- menggunakan
- bekas
- Pengguna
- Pengguna Pengalaman
- user-friendly
- Pengguna
- menggunakan
- biasanya
- ux
- nilai
- memeriksa
- melalui
- dompet
- Wallet
- ingin
- adalah
- we
- Web3
- Ekosistem Web3
- selamat datang
- BAIK
- adalah
- Apa
- Apa itu
- ketika
- yang
- whitelist
- SIAPA
- akan
- dengan
- tanpa
- dunia
- akan
- tertulis
- tahun
- Kamu
- Anda
- zephyrnet.dll