Đầu tiên, một chút biệt ngữ. MỘT "nhắn" là một đơn vị giao tiếp giữa hai hoặc nhiều người tham gia trong mạng chuỗi khối. Nó có thể chứa bất kỳ loại dữ liệu nào và chúng thường được sử dụng để nhận được sự chấp thuận kỹ thuật số từ người dùng.
A "giao dịch", mặt khác, là một loại tin nhắn cụ thể liên quan đến việc chuyển giá trị từ người tham gia này sang người tham gia khác. Nó thường bao gồm các thông tin như địa chỉ của người gửi, địa chỉ của người nhận, số lượng tiền điện tử được chuyển và chữ ký số chứng minh sự ủy quyền của người gửi đối với việc chuyển.
Người dùng đã có thể xóa các giao dịch ký bằng cách sử dụng thiết bị Ledger của họ, như chi tiết trong bài viết nàyvà chúng tôi cũng đã mở rộng phương pháp hay này bằng cách sử dụng các nguyên tắc tương tự cho các tin nhắn, đây là cách thực hiện.
Tại sao chúng tôi ký tin nhắn trong web3?
Blockchain dựa trên “mật mã khóa công khai”, nơi người dùng sở hữu khóa chung và khóa riêng, tạo thành một cặp. Khóa chung đại diện cho danh tính của chủ sở hữu và khóa riêng là bí mật, cho phép họ chứng minh rằng họ sở hữu cặp khóa.
Khi ký một tin nhắn, bạn đang sử dụng khóa riêng của mình trong thuật toán ký để liên kết chữ ký với tin nhắn và khóa chung. Không ai có thể lấy khóa riêng của bạn hoặc giả mạo chữ ký hợp lệ cho bạn. Tuy nhiên, bất kỳ ai biết khóa chung của bạn đều có thể dễ dàng xác minh rằng thư đã được ký bởi khóa riêng của bạn.
Tóm lại, đó là quy trình và ý tưởng tương tự như việc ký các giao dịch, ngoại trừ ở đây chúng tôi tập trung vào việc ký các thông điệp phục vụ một mục đích khác: trợ cấp. Chúng tôi đang ký các tin nhắn trong các ứng dụng tiền điện tử để thu thập sự đồng ý của người dùng, giống như khi trong cuộc sống thực, bạn sẽ sử dụng chữ ký viết tay của mình trên giấy. Đó là phiên bản tiền điện tử của “ký fiat”.
Tầm quan trọng của EIP-712
Ký tin nhắn không phải là một điều mới. Chúng tôi đã có thể ký tin nhắn trong nhiều năm nay và chúng có thể có các hình dạng và hình thức khác nhau khi chúng được cải thiện theo thời gian. Trên thực tế Đề xuất cải tiến Ethereum 191 (EIP-191) đã được đệ trình vào năm 2016 và giới thiệu một tiêu chuẩn cho phép con người có thể đọc được các tin nhắn được hỗ trợ nguyên bản bởi các thiết bị Ledger. Tuy nhiên, trường hợp EIP-191 không thành công, đó là tiêu chuẩn không cấu trúc dữ liệu. Nó chỉ là một thông báo về độ dài dữ liệu không giới hạn ở cuối tin nhắn, khiến nó khó sử dụng. Trên thực tế, các tin nhắn thường quá dài sẽ bị cắt bớt và dẫn đến việc người dùng bỏ lỡ thông tin quan trọng tiềm ẩn; UX kém.
Như đã nói ở phần đầu của Đề xuất cải tiến Ethereum 712 (EIP-712): “Việc ký dữ liệu là một vấn đề đã được giải quyết nếu tất cả những gì chúng ta quan tâm là các chuỗi phụ. Thật không may, trong thế giới thực, chúng ta quan tâm đến những thông điệp có ý nghĩa phức tạp.” – Tôi không thể đồng ý hơn. Khi các thông báo phát triển để phục vụ cho các hoạt động phức tạp hơn, việc đưa vào các cấu trúc dữ liệu đã nhập trong các thông báo như được chỉ định trong EIP-712 là một thay đổi đáng hoan nghênh.
Điều này có ý nghĩa gì đối với người dùng, đó là giờ đây các nhà phát triển có thể phân tích cú pháp dữ liệu trong thông báo và biết đâu là dữ liệu, dữ liệu này hiện có thể được hiển thị cho người dùng. Phân tích cú pháp có nghĩa là có thể đọc nội dung vì bạn biết nó được cấu trúc như thế nào. Đó là yếu tố thay đổi cuộc chơi về mặt trải nghiệm người dùng nhưng cũng từ góc độ bảo mật vì giờ đây tôi có thể xác minh những gì mình đang ký.
Quay lại bối cảnh tin nhắn được sử dụng để làm gì, nếu bạn đang yêu cầu Alice cấp cho bạn quyền cụ thể đối với nội dung trong ví của cô ấy, với tư cách là nhà phát triển ứng dụng, bạn nên cực kỳ rõ ràng về điều đó để tối đa hóa cơ hội cho cô ấy tiếp tục. Nhưng nó không chỉ là tối ưu hóa tỷ lệ chuyển đổi.
Nếu bạn nghĩ về an ninh và phòng thủ trong một môi trường đối nghịch, kẻ lừa đảo rõ ràng sẽ làm cho thông điệp đó trở nên mờ đục nhất có thể để lừa Alice cho phép hoạt động độc hại đó. Tính minh bạch và khả năng để Alice kiểm tra kỹ những gì cô ấy ký là vô cùng cần thiết.
Và đó là lúc EIP-712 xuất hiện. Trước EIP này, các tin nhắn đã ký là một chuỗi lục giác không rõ ràng được hiển thị cho người dùng với rất ít ngữ cảnh về các mục tạo nên tin nhắn.
Bạn sẽ ký cái này chứ? Bất kỳ ý tưởng những gì bạn đang ủy quyền ở đây?
Thông số kỹ thuật EIP-712 giới thiệu các cấu trúc dữ liệu được nhập cho các tin nhắn cho phép chúng được phân tích cú pháp bằng ví và hiển thị theo cách thân thiện với người dùng để Alice đưa ra quyết định sáng suốt. Hơn nữa, đó là một tiêu chuẩn và có thể tương tác trong toàn ngành: hỗ trợ EIP-712, thông báo của bạn có thể được phân tích cú pháp bởi Ledger, MetaMask, Rainbow, Argent, Coinbase Wallet, v.v.
Hỗ trợ sổ cái cho EIP-712
Trước hết, xin chúc các bạn một ngày hạnh phúc, các thiết bị Ledger có hỗ trợ riêng cho tin nhắn EIP-712 và với tư cách là nhà phát triển, bạn có thể kiểm soát chính xác cách hiển thị tin nhắn của mình trên thiết bị.
Về cơ bản, có 3 cấp độ hỗ trợ cho tin nhắn trên thiết bị Ledger:
Cấp độ 1: Ký mù
Nếu Bob, một nhà phát triển ứng dụng, không sử dụng tin nhắn EIP-712, thì về cơ bản, Bob đang yêu cầu Alice ký vào một chuỗi hex không thể đọc được: Bob đang yêu cầu Alice ký vào thứ mà cô ấy thậm chí không thể đọc được, nghĩa là ký mù.
Cấp độ 2: Ký minh bạch
Triển khai thông báo EIP-712, Bob đang thực hiện một bước tiến từ chuỗi hex sang nội dung có thể đọc được. Hiện tại, nó cho phép Alice đọc nội dung của tin nhắn, tuy nhiên, vì nó đang hiển thị toàn bộ nội dung của tin nhắn cho cô ấy nên thật khó để phát hiện ra thông tin chính bị trộn lẫn với thông tin công nghệ. Nó minh bạch, nhưng nó vẫn chưa rõ ràng.
Cấp độ 3: Ký rõ ràng
Vì thiết bị có thể phân tích cú pháp nội dung của tin nhắn, bằng cách chỉ ra nội dung sẽ hiển thị và cách hiển thị, chúng tôi có thể đạt được chữ ký rõ ràng. Vì vậy, với điều kiện Bob đặt siêu dữ liệu bắt buộc, đây là những gì Alice sẽ thấy trên thiết bị Sổ cái của cô ấy:
Tốt hơn nhiều so với một chuỗi hex phải không?
Một điểm quan trọng khác là vì nó được hiển thị trên một trang hoàn toàn an toàn, thiết bị riêng biệt không thể giả mạo, Alice chắc chắn 100% rằng những gì cô nhìn thấy trên thiết bị đó là những gì cô đang ký: không phần mềm độc hại hoặc ứng dụng độc hại nào có thể thay đổi những gì được hiển thị cho cô. Nếu nội dung hiển thị trên thiết bị không phù hợp với mong đợi của cô ấy, cô ấy có thể giữ an toàn và từ chối ký vào tin nhắn.
Để cung cấp trải nghiệm người dùng được cải thiện này và bảo mật bổ sung cho người dùng của mình, Bob cần thực hiện 2 việc: chỉ định những trường nào sẽ được hiển thị cho người dùng và cung cấp một tên hiển thị đẹp, rõ ràng cho chúng.
Nếu với tư cách là nhà phát triển, bạn muốn tham gia cùng Bob và làm điều đó cho ứng dụng của mình, bạn có tất cả các tài liệu ở đâyvà về cơ bản, nó tập trung vào việc tạo yêu cầu kéo để đưa hợp đồng của bạn vào danh sách trắng trên Cơ quan đăng ký tài sản dApps của Ledger thông qua tệp JSON chứa:
- Bộ chọn để cho biết trường nào thiết bị cần hiển thị Alice,
- Dán nhãn cho mỗi bộ chọn bằng một tên hiển thị.
Đây không phải là mỹ phẩm, đó là một thực hành tốt
Bằng cách đưa hợp đồng thông minh của bạn vào danh sách trắng và chỉ ra cách thiết bị Ledger có thể hiển thị tin nhắn của bạn, bạn không chỉ cải thiện đáng kể trải nghiệm người dùng khi tương tác với ứng dụng của mình mà quan trọng hơn, bạn đang bảo vệ tất cả chúng ta khỏi lừa đảo và giúp xây dựng thói quen tốt trong hệ sinh thái web3.
Chúng ta không bao giờ nên ký một cái gì đó mà chúng ta không hiểu.
Chúng tôi không thể làm điều này nếu không có bạn, hãy giúp chúng tôi thực hiện quy tắc ký kết rõ ràng.
- Phân phối nội dung và PR được hỗ trợ bởi SEO. Được khuếch đại ngay hôm nay.
- PlatoAiStream. Thông minh dữ liệu Web3. Kiến thức khuếch đại. Truy cập Tại đây.
- Đúc kết tương lai với Adryenn Ashley. Truy cập Tại đây.
- Mua và bán cổ phần trong các công ty PRE-IPO với PREIPO®. Truy cập Tại đây.
- nguồn: https://www.ledger.com/blog/securing-message-signing
- :là
- :không phải
- :Ở đâu
- $ LÊN
- 1
- 2016
- 22
- 220
- a
- có khả năng
- Có khả năng
- Giới thiệu
- về nó
- hoàn toàn
- Đạt được
- ngang qua
- địa chỉ
- đối thủ
- thuật toán
- Tất cả
- cho phép
- Cho phép
- cho phép
- Đã
- Ngoài ra
- số lượng
- an
- và
- Một
- bất kì
- bất kỳ ai
- ứng dụng
- Các Ứng Dụng
- phê duyệt
- LÀ
- Trắng như bạc
- AS
- tài sản
- At
- ủy quyền
- dựa
- BE
- bởi vì
- được
- trước
- Bắt đầu
- được
- Hơn
- giữa
- Một chút
- blockchain
- mạng blockchain
- ngũ cốc
- xây dựng
- nhưng
- by
- CAN
- mà
- phục vụ
- tỷ lệ cược
- thay đổi
- Changer
- trong sáng
- coinbase
- Wallet Coinbase
- đến
- thông thường
- Giao tiếp
- phức tạp
- đồng ý
- nội dung
- nội dung
- bối cảnh
- hợp đồng
- điều khiển
- Chuyển đổi
- Tạo
- cryptocurrency
- DApps
- dữ liệu
- Ngày
- quyết định
- Phòng thủ
- chi tiết
- Nhà phát triển
- phát triển
- thiết bị
- Thiết bị (Devices)
- khác nhau
- kỹ thuật số
- Giao diện
- hiển thị
- do
- tài liệu hướng dẫn
- Không
- dont
- xuống
- mỗi
- dễ dàng
- hệ sinh thái
- EIP
- cuối
- Môi trường
- thiết yếu
- chủ yếu
- ethereum
- Ngay cả
- Trừ
- mong đợi
- kinh nghiệm
- tiếp xúc
- thêm
- bảo mật thêm
- thực tế
- Lĩnh vực
- Tập tin
- tập trung
- Trong
- giả mạo
- hình thức
- các hình thức
- Forward
- từ
- Full
- đầy đủ
- Hơn nữa
- trò chơi
- thay đổi cuộc chơi
- thu thập
- được
- gif
- đi
- tốt
- cấp
- tay
- vui mừng
- Cứng
- Có
- giúp đỡ
- giúp đỡ
- cô
- tại đây
- HEX
- của mình
- Độ đáng tin của
- Tuy nhiên
- HTTPS
- người có thể đọc được
- i
- ý tưởng
- Bản sắc
- if
- tầm quan trọng
- nâng cao
- cải thiện
- cải thiện
- cải thiện
- in
- bao gồm
- chỉ
- chỉ ra
- ngành công nghiệp
- thông tin
- thông báo
- tương tác
- tương thích
- giới thiệu
- Giới thiệu
- Giới thiệu
- IT
- mặt hàng
- tham gia
- jpg
- json
- chỉ
- Key
- Biết
- Ledger
- Chiều dài
- niveaux
- Cuộc sống
- LINK
- ít
- dài
- làm cho
- Làm
- phần mềm độc hại
- cách thức
- Trận đấu
- max-width
- Tối đa hóa
- có ý nghĩa
- có nghĩa
- tin nhắn
- tin nhắn
- Siêu dữ liệu
- MetaMask
- mất tích
- hỗn hợp
- chi tiết
- tên
- tự nhiên
- nhu cầu
- mạng
- không bao giờ
- Mới
- tốt đẹp
- Không
- tại
- of
- thường
- on
- ONE
- có thể
- đục
- hoạt động
- Hoạt động
- tối ưu hóa
- or
- Nền tảng khác
- ra
- kết thúc
- riêng
- đôi
- Giấy
- tham gia
- cho phép
- quan điểm
- plato
- Thông tin dữ liệu Plato
- PlatoDữ liệu
- Điểm
- người nghèo
- có thể
- có khả năng
- thực hành
- Chính xác
- nguyên tắc
- riêng
- Key Private
- Vấn đề
- quá trình
- đề nghị
- bảo vệ
- Chứng minh
- chứng minh
- cho
- cung cấp
- công khai
- chính công
- mục đích
- Tỷ lệ
- Đọc
- thực
- đời thực
- thế giới thực
- đăng ký
- đại diện cho
- yêu cầu
- cần phải
- kết quả
- an toàn
- tương tự
- lừa đảo
- Bí mật
- an toàn
- an ninh
- xem
- nhìn
- phục vụ
- định
- hình dạng
- chị ấy
- ngắn
- nên
- hiển thị
- đăng ký
- Ký kết
- đáng kể
- ký
- kể từ khi
- thông minh
- hợp đồng thông minh
- So
- một cái gì đó
- riêng
- đặc điểm kỹ thuật
- quy định
- Spot
- Tiêu chuẩn
- quy định
- ở lại
- Bước
- Câu chuyện
- Chuỗi
- cấu trúc
- cấu trúc
- trình
- như vậy
- lớn
- hỗ trợ
- Hỗ trợ
- Hỗ trợ
- Hãy
- công nghệ cao
- về
- hơn
- việc này
- Sản phẩm
- cung cấp their dịch
- Them
- Kia là
- họ
- điều
- điều
- nghĩ
- điều này
- những
- Tuy nhiên?
- thời gian
- đến
- quá
- Giao dịch
- chuyển
- chuyển
- Minh bạch
- minh bạch
- hai
- kiểu
- hiểu
- không may
- đơn vị
- vô hạn
- us
- sử dụng
- đã sử dụng
- người sử dang
- Kinh nghiệm người dùng
- sử dụng
- Người sử dụng
- sử dụng
- thường
- ux
- giá trị
- xác minh
- thông qua
- ví
- Ví
- muốn
- là
- we
- Web3
- Hệ sinh thái Web3
- chào mừng
- TỐT
- là
- Điều gì
- Là gì
- khi nào
- cái nào
- danh sách trắng
- CHÚNG TÔI LÀ
- sẽ
- với
- không có
- thế giới
- sẽ
- viết
- năm
- bạn
- trên màn hình
- zephyrnet