Cointime

Download App
iOS & Android

Báo cáo phân tích bảo mật chuỗi: Báo cáo phân tích rủi ro tập trung hợp đồng thông minh iZiFinance

Validated Project

iZiFinance là một giao thức tài chính phi tập trung sử dụng zkSync, một giải pháp mở rộng lớp 2 cho Ethereum. zkSync cho phép giao dịch nhanh và chi phí thấp trên Ethereum trong khi vẫn giữ được tính bảo mật và khả năng kết hợp của mạng lớp 1. Tuy nhiên, tối ưu hóa gas vẫn là một khía cạnh quan trọng khi thực hiện phát triển hợp đồng thông minh trên zkSync, vì nó ảnh hưởng đến hiệu suất và lợi nhuận của giao thức.

Trong phân tích này, chúng tôi sẽ kiểm tra một trong những hợp đồng cốt lõi của iZiFinance, iZiSwapPool.sol và tìm ra một cách đơn giản để giảm mức tiêu thụ gas bằng cách loại bỏ biểu thức dư thừa.

hợp đồng iZiSwapPool

Hợp đồng iZiSwapPool thực hiện logic của nhóm thanh khoản và trao đổi mã thông báo trên iZiFinance. Nó tuân theo giao diện IiZiSwapPool, giao diện này xác định các chức năng và sự kiện của hợp đồng. Một trong những chức năng này là modifyFeeChargePercent, cho phép chủ sở hữu hợp đồng điều chỉnh tỷ lệ phần trăm phí tính trên mỗi nhóm. Tỷ lệ phần trăm thu phí là một tham số xác định việc phân phối phí trao đổi giữa các nhà cung cấp thanh khoản và giao thức. Mã của hàm modifyFeeChargePercent như sau:

Hàm này chấp nhận một tham số thuộc loại uint24 được gọi là newFeeChargePercent, đại diện cho tỷ lệ phần trăm tính phí mới sẽ được đặt. Nó cũng có một số công cụ sửa đổi và câu lệnh yêu cầu để đảm bảo rằng chỉ chủ sở hữu mới có thể gọi hàm và newFeeChargePercent là hợp lệ. Phân tích mã Mã hợp đồng này được viết bằng Solidity, đại diện cho chức năng sửa đổi tỷ lệ phần trăm thu phí. Có vẻ như nó đã được thiết kế theo cách an toàn, có tính đến các hạn chế được áp dụng trước khi sửa đổi thực tế (dòng 534-536).

Tuy nhiên, dòng 535 require(newFeeChargePercent >= 0, "FP0"); thực sự không cần thiết. Điều này là do trong Solidity, kiểu dữ liệu uint (unsigned integer) không được âm. uint24 là một loại số nguyên không dấu nằm trong khoảng từ 0 đến 2^24 - 1.

Do đó, việc kiểm tra xem newFeeChargePercent có lớn hơn hoặc bằng 0 hay không là một phép lặp, bởi vì một số nguyên không dấu không thể nhỏ hơn 0 theo định nghĩa. Do đó, dòng này tạo thành một tautology và có thể được gỡ bỏ một cách an toàn mà không ảnh hưởng đến chức năng của mã hoặc tạo ra bất kỳ lỗ hổng bảo mật nào. Dòng ngay sau nó, require(newFeeChargePercent <= 100, "FP0");, đủ để đảm bảo rằng newFeeChargePercent nằm trong phạm vi dự kiến ​​(0-100).

rủi ro tập trung

Chúng tôi cũng đã xác định một số rủi ro tập trung có thể ảnh hưởng đến tính bảo mật của giao thức và tính bảo mật của tài sản người dùng.

rủi ro tập trung

Chúng tôi cũng đã xác định một số rủi ro tập trung có thể ảnh hưởng đến tính bảo mật của giao thức và tính bảo mật của tài sản người dùng.

Lời khuyên an toàn

Đối với nhóm dự án iZiFinance, đây là 10 mẹo an toàn để bảo vệ tài sản trên chuỗi của người dùng khỏi rủi ro tập trung.

  1. Khóa thời gian được áp dụng cho các chức năng chính như setFarm() và setWrapToken(), chỉ cho phép sửa đổi tại một thời điểm xác định trong tương lai, giúp cộng đồng có thời gian thảo luận và đạt được sự đồng thuận
  2. Yêu cầu phê duyệt nhiều chữ ký của nhiều địa chỉ ví để gọi các chức năng như enableFeeAmount() và newPool() ảnh hưởng đến phí và phần thưởng
  3. Triển khai kiểm soát truy cập dựa trên vai trò cho các chức năng như expandObservationQueue() và CollectFeeCharged(), hạn chế chỉ gọi các vai trò được chỉ định
  4. Khi hợp đồng được triển khai, hãy đặt các tham số cốt lõi như startBlock, endBlock, bonusPerBlock không thay đổi và các thay đổi tiếp theo không được phép
  5. Thiết lập cấu trúc quản trị DAO yêu cầu cộng đồng đề xuất và bỏ phiếu cho các cuộc gọi đến các chức năng nhạy cảm
  6. Áp dụng kiến ​​trúc mô-đun để phân tách trách nhiệm và tránh tập trung quá mức vào bất kỳ mô-đun đơn lẻ nào
  7. Thiết lập cơ chế dừng khẩn cấp với xác thực đa chữ ký, có thể tạm dừng thỏa thuận nếu xảy ra sự cố
  8. Thường xuyên tiến hành kiểm toán bảo mật bên ngoài và xử lý các vấn đề được phát hiện kịp thời để giảm rủi ro kiểm soát tập trung
  9. Trong quá trình phát triển, sử dụng fuzzing và các phương pháp khác để xác định và loại bỏ các lỗ hổng kiểm soát tập trung
  10. Tuân thủ nguyên tắc đặc quyền tối thiểu và chỉ cấp cho vai trò và tài khoản những quyền tối thiểu cần thiết

Những rủi ro tập trung hóa này xuất phát từ thực tế là chủ sở hữu hợp đồng có thể có quyền kiểm soát quá mức đối với các tham số và chức năng của hợp đồng, điều này có thể cho phép chủ sở hữu thao túng giao thức hoặc gây hại cho người dùng. Chúng tôi cũng hy vọng phân tích này có thể cung cấp một số hiểu biết hữu ích và đề xuất bảo mật để cải thiện hợp đồng thông minh của iZiFinance.

Theo chúng tôi

Twitter: @MetaTrustLabs

Trang web: metatrust.io

Các bình luận

Tất cả bình luận

Recommended for you

  • Chủ tịch Ủy ban Ngân hàng Thượng viện Hoa Kỳ: Các điều khoản dự thảo mới liên quan đến lợi suất stablecoin có thể được công bố ngay trong tuần này.

    Theo Cointime, Thượng nghị sĩ Tim Scott, Chủ tịch Ủy ban Ngân hàng Thượng viện, phát biểu tại Hội nghị thượng đỉnh Blockchain DC rằng các nhà lập pháp có thể xem xét dự thảo luật mới, ít nhất là các điều khoản liên quan đến stablecoin, ngay trong tuần này. Ông Scott lưu ý rằng lợi suất stablecoin là vấn đề được thảo luận công khai nhiều nhất trong dự luật, nhưng các nhà lập pháp vẫn đang tiếp tục làm việc về vấn đề này. Ông nói: “Tôi tin rằng tôi sẽ có bản đề xuất đầu tiên để xem xét trong tuần này. Nếu điều đó xảy ra vào cuối tuần, và tôi nghĩ nó sẽ xảy ra, chúng ta ít nhất sẽ biết liệu khung pháp lý có đang hình thành hay không. Nếu vậy, tôi nghĩ chúng ta sẽ ở vị thế tốt hơn.” Ông cũng cho rằng tiến triển này là nhờ nỗ lực của Thượng nghị sĩ đảng Dân chủ Angela Alsobrooks, Thượng nghị sĩ đảng Cộng hòa Thom Tillis và quan chức Nhà Trắng Patrick Witt về vấn đề lợi suất stablecoin. Ông cho biết thêm rằng các vấn đề chưa được giải quyết khác cũng đã được đề cập trong các cuộc đàm phán trong tháng qua, bao gồm mối lo ngại của các nhà lập pháp về các dự án tiền điện tử của Tổng thống Donald Trump và gia đình ông, việc thiếu đại diện lưỡng đảng trong các cơ quan quản lý quan trọng và các quy định về Xác minh danh tính khách hàng (KYC). Ông Scott cũng cho biết: “Tôi nghĩ chúng ta đang rất gần đạt được thỏa thuận về các vấn đề đạo đức và số lượng thành viên cần thiết để thông qua. Chúng ta biết đây là vấn đề quan trọng đối với phía bên kia, vì vậy chúng ta cũng đang giải quyết nó. Tôi nghĩ chúng ta cũng đang đạt được tiến triển trong một số đề cử, đó là tin tốt. Còn về DeFi, đây là lĩnh vực mà Thượng nghị sĩ Mark Warner đang tập trung vào, và Chống rửa tiền (AML) là một phần rất quan trọng trong đó. Vì vậy, tôi nghĩ chúng ta đang tiến lên phía trước về những vấn đề này.”

  • Bản tin buổi sáng vàng | Những diễn biến quan trọng trong đêm ngày 18 tháng 3

    21:00-7:00 Từ khóa: Phantom, Stripe, Autonomous, Iran 1. Iran tuyên bố có thể hợp pháp tấn công các quốc gia cho phép Mỹ và Israel sử dụng lãnh thổ của mình; 2. CFTC Hoa Kỳ: Ví điện tử Phantom không yêu cầu đăng ký làm môi giới; 3. Tổng chưởng lý Arizona đệ đơn kiện hình sự chống lại nhà tiếp thị dự đoán Kalshi; 4. Bộ Ngoại giao Hoa Kỳ đã ra lệnh cho tất cả các đại sứ quán trên toàn thế giới tiến hành đánh giá an ninh "ngay lập tức"; 5. Robinhood Venture Capital đầu tư khoảng 35 triệu đô la vào Stripe và ElevenLabs; 6. GSR đầu tư 57 triệu đô la để mua lại Autonomous và Architech nhằm tạo ra một nền tảng quản lý quỹ tiền điện tử; 7. SEC và CFTC Hoa Kỳ ban hành hướng dẫn mới về tiền điện tử, nêu rõ rằng hầu hết các tài sản kỹ thuật số không phải là chứng khoán.

  • Ủy ban Chứng khoán và Giao dịch Hoa Kỳ (SEC) và Ủy ban Giao dịch Hàng hóa Tương lai (CFTC) đã đưa ra các ý kiến ​​mới về tiền điện tử, trong đó nêu rõ rằng hầu hết các tài sản kỹ thuật số không thuộc loại chứng khoán.

    Ngày 18 tháng 3, Cointime đưa tin Ủy ban Chứng khoán và Giao dịch Hoa Kỳ (SEC) và Ủy ban Giao dịch Hàng hóa Tương lai (CFTC) đã ban hành một tài liệu hướng dẫn dài 68 trang về tiền điện tử, trong đó nêu rõ hầu hết các tài sản kỹ thuật số không phải là chứng khoán. Tài liệu giải thích mới này nêu chi tiết phân loại stablecoin, hàng hóa kỹ thuật số và token “công cụ kỹ thuật số”, tất cả đều được cơ quan này khẳng định không phải là chứng khoán. Nó cũng cố gắng giải thích cách thức các “tài sản tiền điện tử không phải chứng khoán” có thể trở thành chứng khoán và làm rõ cách luật chứng khoán liên bang áp dụng cho khai thác, đặt cược giao thức và airdrop. SEC cũng giải thích cách thức các tài sản kỹ thuật số không phải chứng khoán có thể trở thành đối tượng của các hợp đồng đầu tư. Cơ quan này nêu rõ trong phần giải thích của mình: “Các tài sản tiền điện tử không phải chứng khoán trở thành đối tượng của các hợp đồng đầu tư khi một nhà phát hành thuyết phục các nhà đầu tư đầu tư vào một doanh nghiệp chung và đưa ra cam kết hoặc tuyên bố sẽ thực hiện công việc quản lý cần thiết, và người mua có lý do để kỳ vọng thu lợi nhuận từ đó.”

  • Mastercard dự định mua lại công ty tiền điện tử ổn định BVNK với giá lên tới 1,8 tỷ đô la.

    Theo Cointime, Mastercard đang lên kế hoạch mua lại công ty khởi nghiệp về cơ sở hạ tầng stablecoin BVNK với giá lên tới 1,8 tỷ đô la, bao gồm khoản thanh toán bổ sung trị giá 300 triệu đô la nếu thương vụ thành công. Thương vụ này diễn ra chỉ bốn tháng sau khi các cuộc đàm phán sáp nhập trị giá khoảng 2 tỷ đô la giữa BVNK và Coinbase đổ vỡ. Cả hai công ty đã xác nhận thỏa thuận trong một tuyên bố chung được phát hành vào thứ Ba.

  • BTC vượt mốc 75.000 đô la

    Dữ liệu thị trường cho thấy BTC đã vượt qua mốc 75.000 đô la và hiện đang giao dịch ở mức 75.033,01 đô la, tăng 2,83% trong 24 giờ. Thị trường đang trải qua biến động mạnh, vì vậy hãy quản lý rủi ro của bạn cho phù hợp.

  • BTC vượt mốc 71.500 đô la.

    Dữ liệu thị trường cho thấy BTC đã vượt qua mốc 71.500 đô la và hiện đang giao dịch ở mức 71.510,19 đô la, tăng 1,06% trong 24 giờ. Thị trường đang trải qua biến động mạnh, vì vậy hãy quản lý rủi ro của bạn cho phù hợp.

  • ETH vượt mốc 2100 đô la.

    Dữ liệu thị trường cho thấy ETH đã vượt qua mốc 2.100 đô la và hiện đang giao dịch ở mức 2.100,58 đô la, tăng 0,44% trong 24 giờ. Thị trường đang trải qua biến động mạnh; vui lòng quản lý rủi ro của bạn cho phù hợp.

  • Quỹ ETF Ethereum giao ngay tại Mỹ đã ghi nhận dòng vốn ròng 26,7 triệu đô la vào ngày hôm qua.

    Theo dữ liệu được Farside Investors theo dõi, vào ngày 14 tháng 3, quỹ ETF Ethereum giao ngay của Mỹ đã ghi nhận dòng vốn ròng 26,7 triệu đô la.

  • Bộ Tư pháp Hoa Kỳ sẽ kháng cáo phán quyết trong vụ kiện Powell, điều này có thể làm trì hoãn việc bổ nhiệm ông Warsh.

    Ngày 14 tháng 3, sau khi một thẩm phán bác bỏ trát triệu tập gửi đến Cục Dự trữ Liên bang, Chưởng lý Hoa Kỳ Robert Piro tuyên bố sẽ tiếp tục điều tra Chủ tịch Fed Jerome Powell, có khả năng trì hoãn việc bổ nhiệm người kế nhiệm ông, Kevin Warsh, người có nhiệm kỳ kết thúc vào tháng 5. Thẩm phán Tòa án Quận Hoa Kỳ James Bosberg tuyên bố rằng chính phủ đã không cung cấp bất kỳ bằng chứng nào để biện minh cho các trát triệu tập liên quan đến việc cải tạo trụ sở Fed và những bình luận của Powell về dự án này. Piro tuyên bố: "Quá trình này đã bị gián đoạn một cách tùy tiện bởi một thẩm phán cực đoan. Quá trình này đáng lẽ phải diễn ra suôn sẻ, nhưng họ đã không làm vậy. Họ thật đáng hổ thẹn." Thượng nghị sĩ Tillis, một thành viên của Ủy ban Ngân hàng Thượng viện, cảnh báo rằng ông sẽ ngăn chặn bất kỳ đề cử nào cho chức chủ tịch Fed chừng nào cuộc điều tra của Bộ Tư pháp đối với Powell còn tiếp diễn. "Phán quyết này xác nhận cuộc điều tra hình sự đối với Chủ tịch Powell yếu kém và vô căn cứ như thế nào; nó không gì khác ngoài một cuộc tấn công thất bại vào tính độc lập của Fed," Tillis nói. "Việc kháng cáo sẽ chỉ trì hoãn việc phê chuẩn Kevin Warsh làm chủ tịch Fed tiếp theo."

  • BTC giảm xuống dưới 72.000 đô la.

    Dữ liệu thị trường cho thấy BTC đã giảm xuống dưới 72.000 đô la và hiện đang giao dịch ở mức 71.996,46 đô la. Mức tăng trong 24 giờ đã thu hẹp xuống còn 2,32%. Thị trường biến động mạnh, vui lòng quản lý rủi ro của bạn cho phù hợp.