mc2-project / secure-xgboost

Secure collaborative training and inference for XGBoost.
https://mc2-project.github.io/secure-xgboost/
Apache License 2.0
105 stars 32 forks source link

Improve error handling for consensus #123

Closed podcastinator closed 3 years ago

podcastinator commented 3 years ago

This PR makes the RPC server return an error to all parties if the submitted commands are inconsistent or have mismatched sequence numbers. However, it doesn't yet verify that the arguments are identical.

codecov-io commented 3 years ago

Codecov Report

Merging #123 into master will decrease coverage by 0.26%. The diff coverage is 7.69%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #123      +/-   ##
==========================================
- Coverage   36.04%   35.78%   -0.27%     
==========================================
  Files          16       16              
  Lines        2910     2934      +24     
==========================================
+ Hits         1049     1050       +1     
- Misses       1861     1884      +23     
Impacted Files Coverage Δ
python-package/securexgboost/remote_server.py 9.21% <5.26%> (-0.25%) :arrow_down:
python-package/securexgboost/core.py 38.72% <100.00%> (ø)
chester-leung commented 3 years ago

Regarding function parameter verification, perhaps we can throw a more descriptive error in the enclave by catching any signature verification error at the function whose arguments we're checking and then adding the name of that function in the error message we send back to the client?