Czym jest Secure Multiparty Computation (MPC)?
Secure Multiparty Computation to sposób, w jaki kilka stron może wspólnie coś obliczyć, nie ujawniając swoich indywidualnych danych wejściowych. Wszyscy wnoszą wkład, nikt nie zagląda, a ostateczny wynik pojawia się bezpiecznie. Wyobraź sobie znajomych dzielących rachunek za kolację, gdzie aplikacja mówi Ci, ile masz zapłacić, bez pokazywania innym sumy Twojego zamówienia.
MPC jest „wolniejsze i mniej bezpieczne niż pojedynczy klucz.” Nie do końca. Usuwa ryzyko związanego z jednym opiekunem przez rozłożenie zaufania na osoby lub urządzenia, a współczesne Secure Multiparty Computation jest wystarczająco szybkie dla rzeczywistych portfeli i giełd.
Jak działa Secure Multiparty Computation (MPC)
Krótka historia. Skarbiec potrzebuje podpisu, aby przemieścić środki. Kilku członków zespołu trzyma każdy fragment sekretu. Przeprowadzają krótki protokół i ważny podpis pojawia się w łańcuchu bloków. Zaskoczenie: nigdy nie rekonstruują pojedynczego klucza prywatnego.
- Zaproszenie: Ktoś tworzy grupę, wybiera, ile zgód jest wymaganych, i dodaje urządzenia.
- Podział: Sekret jest rozdzielany na udziały i dystrybuowany tak, że tylko określona liczba udziałów może zatwierdzić.
- Obliczenie: Gdy transakcja wymaga zatwierdzenia, każda strona wykonuje krótką rundę komunikatów, aby stworzyć częściowe podpisy.
- Weryfikacja: System sprawdza, czy częściowe podpisy są prawidłowe i pochodzą od właściwych osób lub urządzeń.
- Podpis: Części łączą się w jeden standardowy podpis akceptowany przez łańcuch bloków, przy czym żadne pojedyncze urządzenie nigdy nie widzi całego sekretu.
O to chodzi: kontrola bez ujawniania sekretu.
Dlaczego Secure Multiparty Computation (MPC) jest ważne
Co z tego zyskujesz?
- Korzyść: Mniej awarii wynikających z jednego opiekuna i mniej koszmarów z frazami seed, przy zachowaniu samodzielnej kontroli nad środkami.
- Perspektywa: Pasuje do obecnego podejścia do bezpieczeństwa: dzielenie odpowiedzialności, zmniejszanie zakresu szkód i zachowanie możliwości odzyskania.
- Zastosowanie: Zobaczysz Secure Multiparty Computation w portfelach, na giełdach i w DAO. Łączy się też z warstwami prywatności, aby umożliwić Transakcje prywatne bez rezygnacji ze standardowych podpisów.
Testując portfel Secure Multiparty Computation, umieść udziały na różnych urządzeniach i sieciach, ustaw rozsądny próg i przeprowadź kilka próbnych operacji z niewielkimi środkami. Chcesz, aby ćwiczenia zatwierdzania były nudne.
Główne cechy Secure Multiparty Computation (MPC)
Co wyróżnia tę metodę:
- Tajność: Żadna pojedyncza strona nigdy nie widzi całego sekretu, a grupa mimo to generuje prawidłowy wynik.
- Progi: Możesz wymagać dowolnego układu, na przykład dwóch z trzech lub trzech z pięciu, by uzyskać elastyczne zatwierdzenia.
- Odporność: Utrata jednego urządzenia nie blokuje dostępu, jeśli próg nadal można osiągnąć.
- Przenośność: Końcowy wynik to standardowy podpis akceptowany przez łańcuchy bloków.
- Skalowanie: Wydajność ma znaczenie. Zobacz Skalowalność, aby dowiedzieć się, jak grupowanie i bezpieczne enklawy sprzętowe utrzymują niskie opóźnienia.
- Polityka: Możesz dodać zasady takie jak limity wydatków, blokady czasowe lub dodatkowe zgody na większe operacje.
Warianty
MPC występuje w kilku odmianach, na które możesz natrafić:
- TSS: Schematy podpisów progowych tworzące jeden zwykły podpis z wielu częściowych.
- Shamir: Udział tajemnicy dzieli sekret na wiele części z wybranym progiem do rekonstrukcji.
- Garbled: MPC oparte na obwodach do ogólnych prywatnych obliczeń, nie tylko do podpisywania.
- Hybrydowe: MPC łączone z enklawami sprzętowymi lub bezpiecznymi elementami dla dodatkowej ochrony.
- Sieciowe: Konfiguracje wieloorganizacyjne, gdzie udziały przechowują różne zespoły lub kustosze.
Secure Multiparty Computation (MPC) zmniejsza ryzyko związanego z jednym opiekunem, ale nie sprawia, że aktywność w łańcuchu bloków staje się niewidoczna. A jeśli prowadzisz usługę, dopasuj zasady zatwierdzania do potrzeb audytu i regulacji.
Przykład
Giełda wyznacza trzy niezależne zespoły do zatwierdzania wypłat; gdy dowolne dwa zatwierdzą, MPC tworzy ważny podpis i transakcja zostaje zrealizowana.
Ciekawostka
MPC wywodzi się z problemu milionerów Andrew Yao z lat osiemdziesiątych, żartobliwego eksperymentu myślowego o dwóch osobach ustalających, kto jest bogatszy, bez ujawniania swojego majątku.
Podsumowanie
W skrócie: podziel zaufanie, zachowaj matematykę i przestań pozwalać, by jedno urządzenie było jedynym punktem awarii.
