Author

Topic: Base58 или Base57? (Read 947 times)

full member
Activity: 252
Merit: 103
September 29, 2017, 05:10:42 PM
#15
а нехрен адреса ручками набирать
legendary
Activity: 2618
Merit: 2304
September 28, 2017, 07:16:59 PM
#14
Вся дискуссия не имеет смысла, потому что адрес биткоина включает в себя контрольную сумму, поэтому нельзя перепутать цифры или буквы и заслать битки в никуда. Причем, у биткоина сделано более правильно, чем у эфира, потому что контрольная сумма вычисляется по разному для тестовой и боевой сети.
Смысл дискуссии в том, что для устранения разночтений было бы лучше, если бы в Base58 не было цифры "1".

В топике прозвучал сильный контр-аргумент про то, что могут быть и другие менее популярные шрифты, в которых будут визуально схожи не только символы "0", "O", "1", "l", "I".
legendary
Activity: 2618
Merit: 2304
September 28, 2017, 07:11:36 PM
#13
Сначала был Base64. Исключены 0 (ноль), O (заглавная латинская o), I (заглавная латинская i), l (маленькая латинская L). Также исключены символы + (плюс) и / (косая черта).
Зачем убирать 1, зная, что в этом алгоритме нет l и i ?
А зачем тогда убирать цифру "0", зная, что в этом алгоритме нет заглавной английской буквы "O"? И откуда простому пользователю Bitcoin знать, какие из похожих символов используются в кодировке Base58?
jr. member
Activity: 34
Merit: 3
September 25, 2017, 02:18:02 PM
#12
Вся дискуссия не имеет смысла, потому что адрес биткоина включает в себя контрольную сумму, поэтому нельзя перепутать цифры или буквы и заслать битки в никуда. Причем, у биткоина сделано более правильно, чем у эфира, потому что контрольная сумма вычисляется по разному для тестовой и боевой сети.
full member
Activity: 448
Merit: 109
September 25, 2017, 06:51:35 AM
#11
Сначала был Base64. Исключены 0 (ноль), O (заглавная латинская o), I (заглавная латинская i), l (маленькая латинская L). Также исключены символы + (плюс) и / (косая черта).
Зачем убирать 1, зная, что в этом алгоритме нет l и i ?
legendary
Activity: 2618
Merit: 2304
September 24, 2017, 07:32:10 AM
#10
Откройте, например, популярную программу Notepad++ (в которой по умолчанию шрифт Courier New) и убедитесь, что цифра "1" почти неотличима от прописной латинской буквы "l". Проблема в кодировке Base58, а не в том, что человек не знает, что буквы "l" нет в Bitcoin-адресах. Следует убрать цифру "1".
Это проблема Notepad++ или шрифта, причем здесь base 58? А если завтра появится шрифт, в котором половина символов друг от друга не отличимы, то что, изобретать base 2? Японцы вообще иероглифами пишут и не парятся 曜際換新   Grin
Всё-таки Courier New существует уже давно и это очень распространённый шрифт. Кстати, в этом шрифте прописная английская буква "l" (эл) легко отличима от заглавной английской буквы "I" (ай), чего не скажешь, например, о шрифте Arial.

По всей видимости, при разработке кодировки Base58 учитывался только шрифт Arial или Verdana, остальные популярные шрифты игнорировались.
legendary
Activity: 2618
Merit: 2304
September 24, 2017, 07:27:26 AM
#9
Откройте, например, популярную программу Notepad++ (в которой по умолчанию шрифт Courier New) и убедитесь, что цифра "1" почти неотличима от прописной латинской буквы "l". Проблема в кодировке Base58, а не в том, что человек не знает, что буквы "l" нет в Bitcoin-адресах. Следует убрать цифру "1".

так а какая проблема? В кодировке есть только "1". Видите код в base58 знайте что там могут быть только единицы.
Здесь есть проблема человека, а не проблема кодировки. Даже проблема ленивого или невнимательного человека.
А почему тогда из Base64 убрали и заглавную букву "O", и цифру "0", а не один из этих символов? Как раз для того, чтобы снять вопросы о невнимательности пользователей Bitcoin.
full member
Activity: 231
Merit: 100
September 22, 2017, 06:36:37 AM
#8
В base 58 есть "i". В base 58 нет 4 символов: "0", "O", "l" и "I".
sr. member
Activity: 377
Merit: 282
Finis coronat opus
September 21, 2017, 06:06:37 PM
#7
Откройте, например, популярную программу Notepad++ (в которой по умолчанию шрифт Courier New) и убедитесь, что цифра "1" почти неотличима от прописной латинской буквы "l". Проблема в кодировке Base58, а не в том, что человек не знает, что буквы "l" нет в Bitcoin-адресах. Следует убрать цифру "1".

так а какая проблема? В кодировке есть только "1". Видите код в base58 знайте что там могут быть только единицы.
Здесь есть проблема человека, а не проблема кодировки. Даже проблема ленивого или невнимательного человека.
full member
Activity: 231
Merit: 100
September 21, 2017, 02:06:12 AM
#6
Откройте, например, популярную программу Notepad++ (в которой по умолчанию шрифт Courier New) и убедитесь, что цифра "1" почти неотличима от прописной латинской буквы "l". Проблема в кодировке Base58, а не в том, что человек не знает, что буквы "l" нет в Bitcoin-адресах. Следует убрать цифру "1".
Это проблема Notepad++ или шрифта, причем здесь base 58? А если завтра появится шрифт, в котором половина символов друг от друга не отличимы, то что, изобретать base 2? Японцы вообще иероглифами пишут и не парятся 曜際換新   Grin
legendary
Activity: 2618
Merit: 2304
September 20, 2017, 10:00:04 PM
#5
Откройте, например, популярную программу Notepad++ (в которой по умолчанию шрифт Courier New) и убедитесь, что цифра "1" почти неотличима от прописной латинской буквы "l". Проблема в кодировке Base58, а не в том, что человек не знает, что буквы "l" нет в Bitcoin-адресах. Следует убрать цифру "1".
legendary
Activity: 1498
Merit: 1021
Was mich nicht umbringt macht mich stärker [F.N.]
September 20, 2017, 01:27:39 AM
#4
Если вы видите то, чего на самом деле нет, значит проблемы на вашей стороне...
legendary
Activity: 2618
Merit: 2304
September 17, 2017, 01:00:31 PM
#3
Понятно, что буквы "l" нет в Base58, но подход "если вы видите символ, похожий на прописную латинскую букву l, то пишите цифру 1" неправильный. И заглавная латинская буква "O", и цифра "0" - оба этих символа, а не один из них - были убраны из Base64 именно для устранения разночтений.

Разумеется, сейчас уже в Bitcoin ничего не менять не будут, но Base57 может быть использован для последующих альткойнов.
full member
Activity: 1246
Merit: 138
Hodl DeepOnion
September 15, 2017, 10:17:50 AM
#2
Все знают, что Bitcoin-адреса кодируются в Base58, однако цифра "1" в некоторых шрифтах (например, в Courier New) почти неотличима от прописной латинской буквы "l". Не лучше ли использовать Base57?

Base64:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

Base57:
ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz23456789

Цифру "1" следует убрать из Base58.

Ну так прописной латинской буквы "l" и нет в этих кодировках, так что если есть сомнения: 1 это или l - смело выбирайте 1.

Quote
Base58 .... Исключены 0 (ноль), O (заглавная латинская o), I (заглавная латинская i), l (маленькая латинская L). Также исключены символы + (плюс) и / (косая черта), которые при кодировании URL могут приводить к неверной интерпретации.
legendary
Activity: 2618
Merit: 2304
September 15, 2017, 08:58:24 AM
#1
Все знают, что Bitcoin-адреса кодируются в Base58, однако цифра "1" в некоторых шрифтах (например, в Courier New) почти неотличима от прописной латинской буквы "l". Не лучше ли использовать Base57?

Base64:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

Base57:
ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz23456789

Цифру "1" следует убрать из Base58.
Jump to: