• TOX-RS Roman Proskuryakov at ToxCon 2018 12. – 14.10.2018

    2018-12-29 12:01:00

    TOX-RS

    Roman Proskuryakov at ToxCon 2018 12. – 14.10.2018

    TOX-RS TEAM

    Roman Proskuryakov, Bachelor in Computer Science, MEPhI, Russia
    Evgeny Kurnevsky, Master in Computer Science, BSUIR, Belarus
    Namsoo CHO, Master in Computer Science, Soongsil University, South Korea
        Working for Zerho LLC

    REWRITE TOX IN RUST

    C++

    With Rust you mostly wont need them:
    • Valgrind
    • asan
    • tsan
    • ubsan

    PROGRAMMING IS HARD

    LINUX GOT BUGS TOO!

    https://phil-opp.github.io/talk-konstanz-may-2018/

    EVERYBODY LOVES CATS!

    MATH

    By the end of September 2018 RustBelt has proved:
    • The type system, ownership and lifetime are correct 
    • The program is safe if all unsafe parts are correct 
    • Arc, Rc, Cell, RefCell, Mutex, RwLock are safe 
    As a byproduct found two bugs in:
    • MutexGuard
    • Arc
    http://plv.mpi-sws.org/rustbelt/

    BUGS IN UNSAFE RUST

    https://github.com/maidsafe/get_if_addrs/pull/33

    PROBLEMS: ABSTRACTIONS

    PROBLEMS: HARD TO READ

    https://github.com/TokTok/spec/pull/63

    PROBLEMS: CONTRACTS

    https://github.com/TokTok/c-toxcore/issues/1169

    PROBLEMS: VULNERABILITY

    CIA OR KGB?

    THE RED DOWNTIME

    WE DIDN'T KILL THEM ALL

    TOX-RS in https://nodes.tox.chat/

    USAGE

    FEATURES

    • 100% compatible with C node 
    • DoS free
    • Fearless concurrency 
    • No buffer overflows 
    • 96% code coverage 
    • 200 lines of io code

    FUTURE

    • Implement client part 
    • #[no_std] 
    • Optimizations 
    • WebSockets 
    • CAPI 
    • WebAssembly

    LINKS

    • https://github.com/tox-rs/tox 
    • https://github.com/tox-rs/tox-node 
    • https://www.parity.io/why-rust/ 
    • https://blog.rust-lang.org/2015/04/10/Fearless-Concurrency.html 
    • http://plv.mpi-sws.org/rustbelt/

Contact Us

Zerho LLC
1001 19th St N, FL12
Arlington, VA 22209

Make an appointment

202-599-9500

Support Login