Coin-1 (OP)
Legendary
Offline
Activity: 2618
Merit: 2304
|
|
September 15, 2017, 01:58:24 PM |
|
Все знают, что Bitcoin-адреса кодируются в Base58, однако цифра "1" в некоторых шрифтах (например, в Courier New) почти неотличима от прописной латинской буквы "l". Не лучше ли использовать Base57?
Base64: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
Base57: ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz23456789
Цифру "1" следует убрать из Base58.
|
|
|
|
ligor
Full Member
Offline
Activity: 1246
Merit: 138
Hodl DeepOnion
|
|
September 15, 2017, 03:17:50 PM |
|
Все знают, что Bitcoin-адреса кодируются в Base58, однако цифра "1" в некоторых шрифтах (например, в Courier New) почти неотличима от прописной латинской буквы "l". Не лучше ли использовать Base57?
Base64: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
Base57: ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz23456789
Цифру "1" следует убрать из Base58.
Ну так прописной латинской буквы "l" и нет в этих кодировках, так что если есть сомнения: 1 это или l - смело выбирайте 1. Base58 .... Исключены 0 (ноль), O (заглавная латинская o), I (заглавная латинская i), l (маленькая латинская L). Также исключены символы + (плюс) и / (косая черта), которые при кодировании URL могут приводить к неверной интерпретации.
|
|
|
|
Coin-1 (OP)
Legendary
Offline
Activity: 2618
Merit: 2304
|
|
September 17, 2017, 06:00:31 PM |
|
Понятно, что буквы "l" нет в Base58, но подход "если вы видите символ, похожий на прописную латинскую букву l, то пишите цифру 1" неправильный. И заглавная латинская буква "O", и цифра "0" - оба этих символа, а не один из них - были убраны из Base64 именно для устранения разночтений.
Разумеется, сейчас уже в Bitcoin ничего не менять не будут, но Base57 может быть использован для последующих альткойнов.
|
|
|
|
awoland
Legendary
Offline
Activity: 1498
Merit: 1021
Was mich nicht umbringt macht mich stärker [F.N.]
|
|
September 20, 2017, 06:27:39 AM |
|
Если вы видите то, чего на самом деле нет, значит проблемы на вашей стороне...
|
Was mich nicht umbringt macht mich stärker [F.N.]
|
|
|
Coin-1 (OP)
Legendary
Offline
Activity: 2618
Merit: 2304
|
|
September 21, 2017, 03:00:04 AM |
|
Откройте, например, популярную программу Notepad++ (в которой по умолчанию шрифт Courier New) и убедитесь, что цифра "1" почти неотличима от прописной латинской буквы "l". Проблема в кодировке Base58, а не в том, что человек не знает, что буквы "l" нет в Bitcoin-адресах. Следует убрать цифру "1".
|
|
|
|
fulinov
|
|
September 21, 2017, 07:06:12 AM |
|
Откройте, например, популярную программу Notepad++ (в которой по умолчанию шрифт Courier New) и убедитесь, что цифра "1" почти неотличима от прописной латинской буквы "l". Проблема в кодировке Base58, а не в том, что человек не знает, что буквы "l" нет в Bitcoin-адресах. Следует убрать цифру "1".
Это проблема Notepad++ или шрифта, причем здесь base 58? А если завтра появится шрифт, в котором половина символов друг от друга не отличимы, то что, изобретать base 2? Японцы вообще иероглифами пишут и не парятся 曜際換新
|
|
|
|
TechPriest
Sr. Member
Offline
Activity: 377
Merit: 282
Finis coronat opus
|
|
September 21, 2017, 11:06:37 PM |
|
Откройте, например, популярную программу Notepad++ (в которой по умолчанию шрифт Courier New) и убедитесь, что цифра "1" почти неотличима от прописной латинской буквы "l". Проблема в кодировке Base58, а не в том, что человек не знает, что буквы "l" нет в Bitcoin-адресах. Следует убрать цифру "1".
так а какая проблема? В кодировке есть только "1". Видите код в base58 знайте что там могут быть только единицы. Здесь есть проблема человека, а не проблема кодировки. Даже проблема ленивого или невнимательного человека.
|
In science we trust!
|
|
|
fulinov
|
|
September 22, 2017, 11:36:37 AM |
|
В base 58 есть "i". В base 58 нет 4 символов: "0", "O", "l" и "I".
|
|
|
|
Coin-1 (OP)
Legendary
Offline
Activity: 2618
Merit: 2304
|
|
September 24, 2017, 12:27:26 PM |
|
Откройте, например, популярную программу Notepad++ (в которой по умолчанию шрифт Courier New) и убедитесь, что цифра "1" почти неотличима от прописной латинской буквы "l". Проблема в кодировке Base58, а не в том, что человек не знает, что буквы "l" нет в Bitcoin-адресах. Следует убрать цифру "1".
так а какая проблема? В кодировке есть только "1". Видите код в base58 знайте что там могут быть только единицы. Здесь есть проблема человека, а не проблема кодировки. Даже проблема ленивого или невнимательного человека. А почему тогда из Base64 убрали и заглавную букву "O", и цифру "0", а не один из этих символов? Как раз для того, чтобы снять вопросы о невнимательности пользователей Bitcoin.
|
|
|
|
Coin-1 (OP)
Legendary
Offline
Activity: 2618
Merit: 2304
|
|
September 24, 2017, 12:32:10 PM |
|
Откройте, например, популярную программу Notepad++ (в которой по умолчанию шрифт Courier New) и убедитесь, что цифра "1" почти неотличима от прописной латинской буквы "l". Проблема в кодировке Base58, а не в том, что человек не знает, что буквы "l" нет в Bitcoin-адресах. Следует убрать цифру "1".
Это проблема Notepad++ или шрифта, причем здесь base 58? А если завтра появится шрифт, в котором половина символов друг от друга не отличимы, то что, изобретать base 2? Японцы вообще иероглифами пишут и не парятся 曜際換新 Всё-таки Courier New существует уже давно и это очень распространённый шрифт. Кстати, в этом шрифте прописная английская буква "l" (эл) легко отличима от заглавной английской буквы "I" (ай), чего не скажешь, например, о шрифте Arial. По всей видимости, при разработке кодировки Base58 учитывался только шрифт Arial или Verdana, остальные популярные шрифты игнорировались.
|
|
|
|
yaroslav195
|
|
September 25, 2017, 11:51:35 AM |
|
Сначала был Base64. Исключены 0 (ноль), O (заглавная латинская o), I (заглавная латинская i), l (маленькая латинская L). Также исключены символы + (плюс) и / (косая черта). Зачем убирать 1, зная, что в этом алгоритме нет l и i ?
|
|
|
|
KostiaSA
Jr. Member
Offline
Activity: 34
Merit: 3
|
|
September 25, 2017, 07:18:02 PM |
|
Вся дискуссия не имеет смысла, потому что адрес биткоина включает в себя контрольную сумму, поэтому нельзя перепутать цифры или буквы и заслать битки в никуда. Причем, у биткоина сделано более правильно, чем у эфира, потому что контрольная сумма вычисляется по разному для тестовой и боевой сети.
|
|
|
|
Coin-1 (OP)
Legendary
Offline
Activity: 2618
Merit: 2304
|
|
September 29, 2017, 12:11:36 AM |
|
Сначала был Base64. Исключены 0 (ноль), O (заглавная латинская o), I (заглавная латинская i), l (маленькая латинская L). Также исключены символы + (плюс) и / (косая черта). Зачем убирать 1, зная, что в этом алгоритме нет l и i ?
А зачем тогда убирать цифру "0", зная, что в этом алгоритме нет заглавной английской буквы "O"? И откуда простому пользователю Bitcoin знать, какие из похожих символов используются в кодировке Base58?
|
|
|
|
Coin-1 (OP)
Legendary
Offline
Activity: 2618
Merit: 2304
|
|
September 29, 2017, 12:16:59 AM |
|
Вся дискуссия не имеет смысла, потому что адрес биткоина включает в себя контрольную сумму, поэтому нельзя перепутать цифры или буквы и заслать битки в никуда. Причем, у биткоина сделано более правильно, чем у эфира, потому что контрольная сумма вычисляется по разному для тестовой и боевой сети.
Смысл дискуссии в том, что для устранения разночтений было бы лучше, если бы в Base58 не было цифры "1". В топике прозвучал сильный контр-аргумент про то, что могут быть и другие менее популярные шрифты, в которых будут визуально схожи не только символы "0", "O", "1", "l", "I".
|
|
|
|
igordata
|
|
September 29, 2017, 10:10:42 PM |
|
а нехрен адреса ручками набирать
|
|
|
|
|