BTC
$96,000
5.73%
ETH
$3,521.91
3.97%
HTX
$0.{5}2273
5.23%
SOL
$198.17
3.05%
BNB
$710
3.05%
lang
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
Trang chủ
AI AI
Tin nhanh
Bài viết
Sự kiện
BlockBeats Pro
Thêm
Thông tin tài chính
Chuyên đề
Hệ sinh thái chuỗi khối
Mục nhập
Podcast
Data
OPRR

"Không được ủy quyền" có an toàn không?

Đọc bài viết này mất 11 phút
Về tương tác giữa người dùng và hợp đồng thông minh Move, việc không yêu cầu ủy quyền (Approve) sẽ an toàn hơn hay kém an toàn hơn?
Tác giả gốc: @jolestar


Gần đây có rất nhiều tranh luận về việc liệu người dùng tương tác với hợp đồng thông minh Move mà không được phép (Phê duyệt) sẽ an toàn hơn hay kém an toàn hơn. Ở đây tôi cố gắng sử dụng cách phổ biến để giải thích sự khác biệt giữa cả hai và suy nghĩ đằng sau thiết kế của Move.   


Trước tiên hãy hiểu cách người dùng tương tác với hợp đồng thông minh. Khi chúng ta ký một giao dịch và gọi một hợp đồng thông minh trên chuỗi, nó giống như bước vào thế giới kỹ thuật số của một hợp đồng thông minh từ thế giới vật chất. Chúng ta có một hình đại diện trong thế giới kỹ thuật số này và hình đại diện này làm gì được xác định bởi hợp đồng thông minh . .   


Trong EVM, mỗi hợp đồng tương đương với một thế giới nhỏ độc lập. Sau khi avatar bước vào thế giới này, nó chỉ có thể vận hành người dùng Trạng thái (tài sản) trong thế giới hợp đồng hiện tại.   


Ví dụ: nếu bạn tham gia vào thế giới hoán đổi và muốn đổi usdt của mình lấy các tài sản khác và usdt tồn tại trong thế giới hợp đồng xác định usdt, không có cách nào Rút tài sản từ hợp đồng usdt trực tiếp bằng trao đổi dưới dạng danh tính của chính bạn. Vì vậy, người dùng chỉ có thể đến thế giới hợp đồng usdt để thực hiện phê duyệt, nói với hợp đồng usdt rằng swap có thể thay mặt mình rút tài sản của chính mình, sau đó vào thế giới swap để hoạt động.   


Sau khi thao tác hoàn tất, hãy truy cập usdt để hủy ủy quyền (thu hồi). Tuy nhiên, thao tác phê duyệt và thu hồi ở đây yêu cầu giao dịch độc lập, người dùng thường không thu hồi để tiết kiệm chi phí gas, do đó, nếu hợp đồng hoán đổi có vấn đề về bảo mật, tài sản của người dùng có thể bị đánh cắp mà họ không hề hay biết.   


Trong Move, tất cả các hợp đồng đều chạy trong một thế giới kỹ thuật số rộng lớn. Bản sao kỹ thuật số của người dùng có thể tự do di chuyển giữa các hợp đồng và thực hiện bất kỳ thao tác nào, trong khi trạng thái (tài sản) của người dùng được lưu trữ trong không gian lưu trữ của chính người dùng.   


Người dùng tham gia thông qua cổng hoán đổi, rút USDT từ số dư của chính họ, việc trao đổi và lưu trữ có thể được hoàn thành nguyên tử trong cùng một giao dịch . Chế độ này mang đến chế độ kết hợp tự do hơn cho hợp đồng và có thể chơi nhiều kết hợp khó đạt được trên EVM. Đây cũng là chế độ mà sơ đồ trừu tượng hóa tài khoản trên EVM muốn đạt được. Tất nhiên, điều này cũng mang đến những thách thức bảo mật mới.   


Có thể thêm trực tiếp một tính năng vào EVM để các cuộc gọi giữa các hợp đồng có thể trực tiếp mang lại danh tính của người dùng không? Điều này là có thể về mặt kỹ thuật, nhưng EVM hỗ trợ các cuộc gọi động và có thể gọi các hợp đồng ở bất kỳ địa chỉ nào, khiến rủi ro của hoạt động này khó đo lường, đồng thời, các thay đổi trạng thái của EVM không thân thiện với người dùng và ví tiền, đồng thời gây khó khăn cho ví để Nhắc người dùng thông qua các thay đổi trạng thái.   


Có hai cách để giải quyết thách thức bảo mật này trong Move: 


1. Khi thực hiện trước hợp đồng, hãy nhắc người dùng thay đổi trạng thái sau khi hợp đồng được thực hiện, để người dùng có thể biết tài sản quan trọng nào của mình được vận hành bởi giao dịch này và kết quả sau khi thực hiện.. Phương pháp này đã được triển khai trong StarMask, vui lòng tham khảo link và hình ảnh đính kèm https://starcoin.medium.com/starmask-v4-6-



2. Có thể có một số hợp đồng có thể đặt điều kiện để một số người dùng không thể phát hiện các thay đổi trạng thái trong quá trình thực hiện trước. Phân tích của @0xmetazen https://twitter.com/0xmetazen/status/1582581013972414465, nhưng không có lệnh gọi động nào trong Move. Khi hợp đồng được triển khai, logic thực thi của nó được xác định. Bạn có thể phân tích tĩnh mã byte để biết trạng thái hoạt động của hợp đồng trên tất cả các đường dẫn có thể và nhắc nó cho người dùng trong trình duyệt khối hoặc ví.   


EVM và Move hai giải pháp, với Bảo mật rủi ro là khác nhau. Rủi ro bảo mật của giải pháp Phê duyệt là biến ủy quyền ngay lập tức thành ủy quyền lâu dài, rủi ro không xảy ra ngay lập tức, chẳng hạn như lỗ hổng hợp đồng không được phát hiện hoặc hợp đồng độc hại mất nhiều thời gian để bắt được cá lớn. Một khi điều đó xảy ra, người dùng thường rất thụ động và nhiều người dùng có thể quên mất những hợp đồng mà họ đã ủy quyền.  


Giải pháp của Move mang lại cho các hợp đồng sự tự do hơn và sẽ có nhiều rủi ro hơn khi gặp phải các hợp đồng độc hại, tuy nhiên rủi ro này xảy ra ngay lập tức và có thể được phát hiện thông qua các phương tiện kỹ thuật. Trong trường hợp xấu nhất, ít nhất kẻ phía trước ở quá gần khiến mọi người bị mắc kẹt, điều này có thể coi như lời cảnh báo cho những kẻ đứng sau rằng những hợp đồng độc hại sẽ nhanh chóng bị vạch trần.


Cuối cùng, trên thế giới không có viên đạn bạc nào và không thể giải quyết mọi vấn đề bảo mật bằng cách sử dụng một công nghệ nhất định. Chuỗi, công cụ và người dùng cần phải làm việc cùng nhau.  


Lời khuyên an toàn cho người dùng Move: 


1. Chọn một ví có lời nhắc thay đổi trạng thái đầy đủ hơn và cố gắng hiểu lời nhắc của ví.  

2. Không tương tác với DApp từ các nguồn không xác định hoặc không phải là nguồn mở.  

3. Nếu không làm được hai điểm trên, bạn có thể đợi người khác thực hiện trước.


Những thách thức về bảo mật và kế hoạch cải tiến của Move không chỉ có ở tôi sẽ trình bày chi tiết hơn về những điều này trong chương bảo mật của loạt bài "Tại sao di chuyển", các bạn muốn biết thêm có thể chú ý.   


Liên kết gốc


Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:

Nhóm Telegram đăng ký: https://t.me/theblockbeats

Nhóm Telegram thảo luận: https://t.me/BlockBeats_App

Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia

举报 Báo lỗi/Báo cáo
Chọn thư viện
Thêm mới thư viện
Hủy
Hoàn thành
Thêm mới thư viện
Chỉ mình tôi có thể nhìn thấy
Công khai
Lưu
Báo lỗi/Báo cáo
Gửi