ECC-більярд — головоломка на еліптичній кривій
Дійдіть до цільової точки на справжній еліптичній кривій, використовуючи лише подвоєння та додавання. Головоломка, що навчає алгоритму double-and-add.
Дійдіть до цільової точки. Лише два удари: подвоїти або додати генератор.
- Генератор G (0, 10)
- Ціль (88, 56)
- Ви (0, 10)
Як грати
- Кожна точка — це точка на справжній еліптичній кривій, такій самій, яка захищає біткоїн-ключі.
- ПОДВОЇТИ проводить дотичну у вашій точці; ДОДАТИ проводить хорду через вашу точку і зелений генератор. В обох випадках ви потрапляєте в третю точку і відображаєте її.
- Дістаньтеся помаранчевої цілі за мінімум ударів. Найкращий маршрут — саме те, що робить гаманець, множачи ключ: ви граєте в double-and-add.
Ударів лишилось звідси: 3
Як це працює
Кожен рівень показує справжню еліптичну криву над невеликим простим полем. Ви стартуєте в зеленій точці-генераторі G і маєте дістатися помаранчевої цілі, використовуючи лише два удари: ПОДВОЇТИ (дотична у вашій точці) та ДОДАТИ (хорда через вашу точку і G). Це і є справжній груповий закон: пряма перетинає криву в третій точці, яку відображають. Найкоротший шлях — саме та драбина double-and-add, яку гаманець виконує, множачи приватний ключ.
Навчальна головоломка над навмисно крихітним простим полем. Справжні криві на кшталт secp256k1 працюють за тими самими правилами, але з астрономічно більшими числами.
Часті запитання
Як гра повʼязана зі справжньою криптографією?
Безпосередньо. Подвоєння та додавання точок — це те, як будь-який гаманець обчислює публічний ключ із приватного. Різниця лише в масштабі: тут менше 200 точок, а в secp256k1 їх близько 2^256.
Що насправді роблять «Подвоїти» та «Додати»?
«Подвоїти» проводить дотичну у вашій точці, знаходить другий перетин із кривою і відображає його. «Додати» проводить хорду через вашу точку та генератор G і робить те саме. Це незмінний груповий закон.
Число «найкращий результат» — це справді мінімум?
Так. Воно обчислюється пошуком у ширину по всіх досяжних точках, а не оцінюється. Якщо написано 6, маршруту з пʼяти ударів не існує.