Кто-нибудь проходил Programming Bitcoin от Jimmy Song ?
У меня по ходу книжки возникают дурацкие вопросы, может кто-то может поотвечать?
Например, почему в глеве про Elliptic curves речь идет о point of Infinity, и сказано что эта точка лежит на кривой, но это очевидно не так
На самом деле Сонг дает магические рецепты, а не объяснения. Например, из его построения видно, что операция комутативна: A+B = B+A (ведь если точки А и B поменять местами - они дадут ту же прямую). Комутативность групповой операции объясняет, почему для неё используют знак +, а не более привычное для групп умножение (группа-то Абелева). Но из его построения вообще не следует гораздо более важноe свойство заданной операции, а именно - что она - ассоциативна (A+B)+C=A+(B+C). Я как-то после Ханибеджера спросил Сонга, почему он не рассказывает теорему о 9-ти точках на кубической кривой, оказалось - он её не знал. А это ведь центральный элемент в построеннии групповой операции на эллиптических кривых.
https://ru.m.wikipedia.org/wiki/Теорема_о_девяти_точках_на_кубической_кривойВо-первых эта теорема делает очевидной ассоциативнлсть, а во вторых из этой теоремы следует, что та точка, которую мы берем за 0 - действительно должна лежать на кривой, причем выбрать её можно произвольно, в любом месте. Если провести через такой 0 прямую, и она пересечет кривую в двух точках, то такие точки будут считаться обратными друг другу. Т.е. не обязательно вертикально отражать. Это - частный случай. А вот почему, при чем тут бесконечность и вертикальное отражение - это другой вопрос. Дело в том, что «усы» нашей элиптической кривой растут настолько быстро, что если начать двигать точку «нуля» вправо вверх неограниченно по такому усу, то прямая, соединяющая любую конечную точку с таким убегающим «нулём» будет стремиться к вертикали, и действительно имеет предел как вертикальная линия. Это кажется странным, ведь вроде по оси икс «нуль» уехал бескончно вправо, но и по оси игрек он уехал бесконечно вверх причем «быстрее» чем по оси икс, таким образом наклон секущей стал вертикальным. И ведь такой наклон в практических вычислениях использовать гораздо сподручнее, (чем любой другой) ибо здесь просто можно сменить знак у игрек-координаты и всё (в кончных полях - взять обратный по сложению элемент). Поэтому и загоняют эллиптический «нуль» в бесконечность. И он действительно лежит на кривой... как-то так. Если наврал
@khovratovich поправит, ну или в любом случае расскажет как правильно в своей лекции... -)