Сообщение Re[3]: Блокчейн, шифрование и майнинг - расскажите популярно от 24.09.2023 21:30
Изменено 24.09.2023 21:34 vsb
Re[3]: Блокчейн, шифрование и майнинг - расскажите популярно
Здравствуйте, Khimik, Вы писали:
vsb>>Биткоин вводит понятие блокчейна. Для простоты будем считать, что каждый блок это одна транзакция плюс хеш-сумма предыдущего блока плюс какие-то псевдослучайные данные. Мы начинаем с нулевого блока, он, к примеру, пустой. После этого создаём первый блок, пишем туда первую транзакцию о переводе ста тысяч битрублей, пишем туда хеш-сумму нулевого блока. Потом создаём второй блок, пишем туда хеш-сумму первого блока и какую-нибудь транзакцию и так далее.
K>Мне сейчас не совсем понятно следующее: зачем хранить полный блокчейн, с самими первыми транзакциями. Предположим, в блокчейне миллион блоков; из всех клиентов каждый был подключен к сети не позднее чем год назад, а год назад в блокчейне было 800 тысяч блоков. Почему нельзя обрезать эти 800 тысяч и держать в блокчейне только последние 200?
Можно. Для этого нужно сделать срез всех кошельков с балансами на какой-то момент и хранить только цепочку после этого момента.
Но технических проблем на текущий момент хранить всю цепочку нет, поэтому этого не делают. Вероятно какие-то клиенты для экономии места — делают.
K>Тогда вопрос, почему майнингом не занимается каждый отдельный клиент.
Тут всё просто. На заре биткоина майнить можно было с помощью обычного компьютера. С течением времени, сначала научились майнить на видеокартах. После этого майнить на процессоре стало экономически невыгодно, ты даже близко не отобьёшь стоимость потраченного электричества. А те, кто майнили на видеокартах, начали превращаться из любителей в профессионалов. Закупать видеокарты сотнями, строить мини-ЦОДы, располагаться поближе к источникам дешёвого электричества, в общем масштабироваться. И в какой-то момент уже и любителям перестало быть выгодно майнить. А потом с видеокарт перешли вообще на специализированное оборудование, процессоры, спроеткированные специально для майнинга. Эти спец-процессоры и видеокарты оставили позади.
Т.е. майнить ты можешь хоть сейчас. Запускай клиент и майнь. Но ничего не смайнишь, шансов больше в лотерею выиграть.
K>Я пока суть всё-таки ещё не ухватил, ещё не могу сформулировать своими словами, для чего нужно вознаграждение майнеров.
Сам процесс майнинга нужен для того, чтобы недоброжелатель не мог сделать свою цепочку длинней общепринятой. С майнингом для этого у него должно быть мощности больше, чем у всех остальных людей, вместе взятых (если считать, что все остальные заинтересованы в честной цепочке).
Поэтому нужно мотивировать людей вкладывать материальные средства в покупку оборудования для майнинга и оплату электричества. Вот для этого вознаграждение и нужно.
Имеется проблема т.н. двойного расходования. Я запоминаю, на каком блоке сейчас биткоин и запускаю свои теневые майнеры, начиная строить параллельную цепочку, но пока не публикуя её. В эту цепочку я встраиваю транзакцию, переводящую мои деньги с кошелька А на колешёк Б. Также в это же время я покупаю, к примеру, гипотетическую квартиру за биткоины и перевожу оплату с кошелька А на кошелёк В продавца. Вторую транзакцию я публикую в обычной цепочке, продавец её видит и отдаёт мне ключи. А через неделю я свою альтернативную цепочку, которая будет длинней общепринятой (т.к. я где-то нашёл кучу мощности) публикую и все переходят на неё. И получается, что мои деньги на самом деле лежат в кошельке Б, а у продавца в кошельке В ничего нет. Вот для решения этой проблемы и нужно обеспечить условия, чтобы такое провернуть никто не мог.
K>Я считал, что майнинг нужен для другого — раздать биткоины новым людям.
Нет, это не так. В биткоине действительно майнинг генерирует новые биткоины из ничего, помимо комиссии, но я не думаю, что это является чем-то краеугольным в дизайне биткоина. Как раздавать начальные биткоины — тут вариантов можно придумать много. Суть того, зачем нужен майнинг — для того, чтобы общепринятая цепочка была длинней цепочки потенциальных злоумышленников. А ещё точней — чтобы попытка обмануть весь мир путём построения альтернативной цепочки стоила слишком дорого, и эта попытка была бы просто экономически необоснована.
K>Если бы Сатоши изначально сгенерировал себе все 20 миллионов биткоинов, которые допустимы в системе, то ему наверно не удалось бы их продать; а так каждый юзер первое время сам себе их генерил, поэтому юзеров становилось всё больше и в какой-то момент один из них решил продать за биткоины пиццу, с чего всё и завертелось. Т.е. тут работал игровой что ли момент, или психологический.
Ну это уже обсуждение не технического а маркетологического аспекта. Тут спорить не буду.
K>Поэтому мне кажется, новые криптовалюты лучше делать вообще без майнинга, просто бесплатно раздать случайным людям; ещё лучше ввести какой-то фильтр, например чтобы люди сдавали экзамены на знание научпопа, и кто сдал — тот получил свою порцию монет.
Основная проблема подобных инициатив в том, чтобы предотвратить злоупотребления. Кто такие "люди"? В биткоине нет никаких людей, есть только кошельки, которые можно генерировать миллиардами. Кто будет проверять экзамен? Что мешает этому проверяющему сгенерировать миллиард кошельков и получить миллиард порций монет? Как всем клиентам децентрализованно договориться о том, что мы будем доверять вот этому конкретному человеку?
В биткоине доверия не так много. По сути идёт жёсткое доверие начальному блоку, и неявное доверие группе людей, развивающей протокол.
vsb>>Биткоин вводит понятие блокчейна. Для простоты будем считать, что каждый блок это одна транзакция плюс хеш-сумма предыдущего блока плюс какие-то псевдослучайные данные. Мы начинаем с нулевого блока, он, к примеру, пустой. После этого создаём первый блок, пишем туда первую транзакцию о переводе ста тысяч битрублей, пишем туда хеш-сумму нулевого блока. Потом создаём второй блок, пишем туда хеш-сумму первого блока и какую-нибудь транзакцию и так далее.
K>Мне сейчас не совсем понятно следующее: зачем хранить полный блокчейн, с самими первыми транзакциями. Предположим, в блокчейне миллион блоков; из всех клиентов каждый был подключен к сети не позднее чем год назад, а год назад в блокчейне было 800 тысяч блоков. Почему нельзя обрезать эти 800 тысяч и держать в блокчейне только последние 200?
Можно. Для этого нужно сделать срез всех кошельков с балансами на какой-то момент и хранить только цепочку после этого момента.
Но технических проблем на текущий момент хранить всю цепочку нет, поэтому этого не делают. Вероятно какие-то клиенты для экономии места — делают.
K>Тогда вопрос, почему майнингом не занимается каждый отдельный клиент.
Тут всё просто. На заре биткоина майнить можно было с помощью обычного компьютера. С течением времени, сначала научились майнить на видеокартах. После этого майнить на процессоре стало экономически невыгодно, ты даже близко не отобьёшь стоимость потраченного электричества. А те, кто майнили на видеокартах, начали превращаться из любителей в профессионалов. Закупать видеокарты сотнями, строить мини-ЦОДы, располагаться поближе к источникам дешёвого электричества, в общем масштабироваться. И в какой-то момент уже и любителям перестало быть выгодно майнить. А потом с видеокарт перешли вообще на специализированное оборудование, процессоры, спроеткированные специально для майнинга. Эти спец-процессоры и видеокарты оставили позади.
Т.е. майнить ты можешь хоть сейчас. Запускай клиент и майнь. Но ничего не смайнишь, шансов больше в лотерею выиграть.
K>Я пока суть всё-таки ещё не ухватил, ещё не могу сформулировать своими словами, для чего нужно вознаграждение майнеров.
Сам процесс майнинга нужен для того, чтобы недоброжелатель не мог сделать свою цепочку длинней общепринятой. С майнингом для этого у него должно быть мощности больше, чем у всех остальных людей, вместе взятых (если считать, что все остальные заинтересованы в честной цепочке).
Поэтому нужно мотивировать людей вкладывать материальные средства в покупку оборудования для майнинга и оплату электричества. Вот для этого вознаграждение и нужно.
Имеется проблема т.н. двойного расходования. Я запоминаю, на каком блоке сейчас биткоин и запускаю свои теневые майнеры, начиная строить параллельную цепочку, но пока не публикуя её. В эту цепочку я встраиваю транзакцию, переводящую мои деньги с кошелька А на колешёк Б. Также в это же время я покупаю, к примеру, гипотетическую квартиру за биткоины и перевожу оплату с кошелька А на кошелёк В продавца. Вторую транзакцию я публикую в обычной цепочке, продавец её видит и отдаёт мне ключи. А через неделю я свою альтернативную цепочку, которая будет длинней общепринятой (т.к. я где-то нашёл кучу мощности) публикую и все переходят на неё. И получается, что мои деньги на самом деле лежат в кошельке Б, а у продавца в кошельке В ничего нет. Вот для решения этой проблемы и нужно обеспечить условия, чтобы такое провернуть никто не мог.
K>Я считал, что майнинг нужен для другого — раздать биткоины новым людям.
Нет, это не так. В биткоине действительно майнинг генерирует новые биткоины из ничего, помимо комиссии, но я не думаю, что это является чем-то краеугольным в дизайне биткоина. Как раздавать начальные биткоины — тут вариантов можно придумать много. Суть того, зачем нужен майнинг — для того, чтобы общепринятая цепочка была длинней цепочки потенциальных злоумышленников. А ещё точней — чтобы попытка обмануть весь мир путём построения альтернативной цепочки стоила слишком дорого, и эта попытка была бы просто экономически необоснована.
K>Если бы Сатоши изначально сгенерировал себе все 20 миллионов биткоинов, которые допустимы в системе, то ему наверно не удалось бы их продать; а так каждый юзер первое время сам себе их генерил, поэтому юзеров становилось всё больше и в какой-то момент один из них решил продать за биткоины пиццу, с чего всё и завертелось. Т.е. тут работал игровой что ли момент, или психологический.
Ну это уже обсуждение не технического а маркетологического аспекта. Тут спорить не буду.
K>Поэтому мне кажется, новые криптовалюты лучше делать вообще без майнинга, просто бесплатно раздать случайным людям; ещё лучше ввести какой-то фильтр, например чтобы люди сдавали экзамены на знание научпопа, и кто сдал — тот получил свою порцию монет.
Основная проблема подобных инициатив в том, чтобы предотвратить злоупотребления. Кто такие "люди"? В биткоине нет никаких людей, есть только кошельки, которые можно генерировать миллиардами. Кто будет проверять экзамен? Что мешает этому проверяющему сгенерировать миллиард кошельков и получить миллиард порций монет? Как всем клиентам децентрализованно договориться о том, что мы будем доверять вот этому конкретному человеку?
В биткоине доверия не так много. По сути идёт жёсткое доверие начальному блоку, и неявное доверие группе людей, развивающей протокол.
Re[3]: Блокчейн, шифрование и майнинг - расскажите популярно
Здравствуйте, Khimik, Вы писали:
vsb>>Биткоин вводит понятие блокчейна. Для простоты будем считать, что каждый блок это одна транзакция плюс хеш-сумма предыдущего блока плюс какие-то псевдослучайные данные. Мы начинаем с нулевого блока, он, к примеру, пустой. После этого создаём первый блок, пишем туда первую транзакцию о переводе ста тысяч битрублей, пишем туда хеш-сумму нулевого блока. Потом создаём второй блок, пишем туда хеш-сумму первого блока и какую-нибудь транзакцию и так далее.
K>Мне сейчас не совсем понятно следующее: зачем хранить полный блокчейн, с самими первыми транзакциями. Предположим, в блокчейне миллион блоков; из всех клиентов каждый был подключен к сети не позднее чем год назад, а год назад в блокчейне было 800 тысяч блоков. Почему нельзя обрезать эти 800 тысяч и держать в блокчейне только последние 200?
Можно. Для этого нужно сделать срез всех кошельков с балансами на какой-то момент и хранить только цепочку после этого момента.
Но технических проблем на текущий момент хранить всю цепочку нет, поэтому этого не делают. Вероятно какие-то клиенты для экономии места — делают.
K>Тогда вопрос, почему майнингом не занимается каждый отдельный клиент.
Тут всё просто. На заре биткоина майнить можно было с помощью обычного компьютера. С течением времени, сначала научились майнить на видеокартах. После этого майнить на процессоре стало экономически невыгодно, ты даже близко не отобьёшь стоимость потраченного электричества. А те, кто майнили на видеокартах, начали превращаться из любителей в профессионалов. Закупать видеокарты сотнями, строить мини-ЦОДы, располагаться поближе к источникам дешёвого электричества, в общем масштабироваться. И в какой-то момент уже и любителям перестало быть выгодно майнить. А потом с видеокарт перешли вообще на специализированное оборудование, процессоры, спроеткированные специально для майнинга. Эти спец-процессоры и видеокарты оставили позади.
Т.е. майнить ты можешь хоть сейчас. Запускай клиент и майнь. Но ничего не смайнишь, шансов больше в лотерею выиграть.
K>Я пока суть всё-таки ещё не ухватил, ещё не могу сформулировать своими словами, для чего нужно вознаграждение майнеров.
Сам процесс майнинга нужен для того, чтобы недоброжелатель не мог сделать свою цепочку длинней общепринятой. С майнингом для этого у него должно быть мощности больше, чем у всех остальных людей, вместе взятых (если считать, что все остальные заинтересованы в честной цепочке).
Поэтому нужно мотивировать людей вкладывать материальные средства в покупку оборудования для майнинга и оплату электричества. Вот для этого вознаграждение и нужно.
Имеется проблема т.н. двойного расходования. Я запоминаю, на каком блоке сейчас биткоин и запускаю свои теневые майнеры, начиная строить параллельную цепочку, но пока не публикуя её. В эту цепочку я встраиваю транзакцию, переводящую мои деньги с кошелька А на колешёк Б. Также в это же время я покупаю, к примеру, гипотетическую квартиру за биткоины и перевожу оплату с кошелька А на кошелёк В продавца. Вторую транзакцию я публикую в обычной цепочке, продавец её видит и отдаёт мне ключи. А через неделю я свою альтернативную цепочку, которая будет длинней общепринятой (т.к. я где-то нашёл кучу мощности) публикую и все переходят на неё. И получается, что мои деньги на самом деле лежат в кошельке Б, а у продавца в кошельке В ничего нет. Вот для решения этой проблемы и нужно обеспечить условия, чтобы такое провернуть никто не мог.
K>Я считал, что майнинг нужен для другого — раздать биткоины новым людям.
Нет, это не так. В биткоине действительно майнинг генерирует новые биткоины из ничего, помимо комиссии, но я не думаю, что это является чем-то краеугольным в дизайне биткоина. Как раздавать начальные биткоины — тут вариантов можно придумать много. Суть того, зачем нужен майнинг — для того, чтобы общепринятая цепочка была длинней цепочки потенциальных злоумышленников. А ещё точней — чтобы попытка обмануть весь мир путём построения альтернативной цепочки стоила слишком дорого, и эта попытка была бы просто экономически необоснована.
K>Если бы Сатоши изначально сгенерировал себе все 20 миллионов биткоинов, которые допустимы в системе, то ему наверно не удалось бы их продать; а так каждый юзер первое время сам себе их генерил, поэтому юзеров становилось всё больше и в какой-то момент один из них решил продать за биткоины пиццу, с чего всё и завертелось. Т.е. тут работал игровой что ли момент, или психологический.
Ну это уже обсуждение не технического а маркетологического аспекта. Тут спорить не буду.
K>Поэтому мне кажется, новые криптовалюты лучше делать вообще без майнинга, просто бесплатно раздать случайным людям; ещё лучше ввести какой-то фильтр, например чтобы люди сдавали экзамены на знание научпопа, и кто сдал — тот получил свою порцию монет.
Основная проблема подобных инициатив в том, чтобы предотвратить злоупотребления. Кто такие "люди"? В биткоине нет никаких людей, есть только кошельки, которые можно генерировать миллиардами. Кто будет проверять экзамен? Что мешает этому проверяющему сгенерировать миллиард кошельков и получить миллиард порций монет? Как всем клиентам децентрализованно договориться о том, что мы будем доверять вот этому конкретному человеку? А ведь на земной шар этих людей будет десятки тысяч.
В биткоине доверия не так много. По сути идёт жёсткое доверие начальному блоку, и неявное доверие группе людей, развивающей протокол. И в этом его привлекательность. Это действительно независимое ни от кого явление.
vsb>>Биткоин вводит понятие блокчейна. Для простоты будем считать, что каждый блок это одна транзакция плюс хеш-сумма предыдущего блока плюс какие-то псевдослучайные данные. Мы начинаем с нулевого блока, он, к примеру, пустой. После этого создаём первый блок, пишем туда первую транзакцию о переводе ста тысяч битрублей, пишем туда хеш-сумму нулевого блока. Потом создаём второй блок, пишем туда хеш-сумму первого блока и какую-нибудь транзакцию и так далее.
K>Мне сейчас не совсем понятно следующее: зачем хранить полный блокчейн, с самими первыми транзакциями. Предположим, в блокчейне миллион блоков; из всех клиентов каждый был подключен к сети не позднее чем год назад, а год назад в блокчейне было 800 тысяч блоков. Почему нельзя обрезать эти 800 тысяч и держать в блокчейне только последние 200?
Можно. Для этого нужно сделать срез всех кошельков с балансами на какой-то момент и хранить только цепочку после этого момента.
Но технических проблем на текущий момент хранить всю цепочку нет, поэтому этого не делают. Вероятно какие-то клиенты для экономии места — делают.
K>Тогда вопрос, почему майнингом не занимается каждый отдельный клиент.
Тут всё просто. На заре биткоина майнить можно было с помощью обычного компьютера. С течением времени, сначала научились майнить на видеокартах. После этого майнить на процессоре стало экономически невыгодно, ты даже близко не отобьёшь стоимость потраченного электричества. А те, кто майнили на видеокартах, начали превращаться из любителей в профессионалов. Закупать видеокарты сотнями, строить мини-ЦОДы, располагаться поближе к источникам дешёвого электричества, в общем масштабироваться. И в какой-то момент уже и любителям перестало быть выгодно майнить. А потом с видеокарт перешли вообще на специализированное оборудование, процессоры, спроеткированные специально для майнинга. Эти спец-процессоры и видеокарты оставили позади.
Т.е. майнить ты можешь хоть сейчас. Запускай клиент и майнь. Но ничего не смайнишь, шансов больше в лотерею выиграть.
K>Я пока суть всё-таки ещё не ухватил, ещё не могу сформулировать своими словами, для чего нужно вознаграждение майнеров.
Сам процесс майнинга нужен для того, чтобы недоброжелатель не мог сделать свою цепочку длинней общепринятой. С майнингом для этого у него должно быть мощности больше, чем у всех остальных людей, вместе взятых (если считать, что все остальные заинтересованы в честной цепочке).
Поэтому нужно мотивировать людей вкладывать материальные средства в покупку оборудования для майнинга и оплату электричества. Вот для этого вознаграждение и нужно.
Имеется проблема т.н. двойного расходования. Я запоминаю, на каком блоке сейчас биткоин и запускаю свои теневые майнеры, начиная строить параллельную цепочку, но пока не публикуя её. В эту цепочку я встраиваю транзакцию, переводящую мои деньги с кошелька А на колешёк Б. Также в это же время я покупаю, к примеру, гипотетическую квартиру за биткоины и перевожу оплату с кошелька А на кошелёк В продавца. Вторую транзакцию я публикую в обычной цепочке, продавец её видит и отдаёт мне ключи. А через неделю я свою альтернативную цепочку, которая будет длинней общепринятой (т.к. я где-то нашёл кучу мощности) публикую и все переходят на неё. И получается, что мои деньги на самом деле лежат в кошельке Б, а у продавца в кошельке В ничего нет. Вот для решения этой проблемы и нужно обеспечить условия, чтобы такое провернуть никто не мог.
K>Я считал, что майнинг нужен для другого — раздать биткоины новым людям.
Нет, это не так. В биткоине действительно майнинг генерирует новые биткоины из ничего, помимо комиссии, но я не думаю, что это является чем-то краеугольным в дизайне биткоина. Как раздавать начальные биткоины — тут вариантов можно придумать много. Суть того, зачем нужен майнинг — для того, чтобы общепринятая цепочка была длинней цепочки потенциальных злоумышленников. А ещё точней — чтобы попытка обмануть весь мир путём построения альтернативной цепочки стоила слишком дорого, и эта попытка была бы просто экономически необоснована.
K>Если бы Сатоши изначально сгенерировал себе все 20 миллионов биткоинов, которые допустимы в системе, то ему наверно не удалось бы их продать; а так каждый юзер первое время сам себе их генерил, поэтому юзеров становилось всё больше и в какой-то момент один из них решил продать за биткоины пиццу, с чего всё и завертелось. Т.е. тут работал игровой что ли момент, или психологический.
Ну это уже обсуждение не технического а маркетологического аспекта. Тут спорить не буду.
K>Поэтому мне кажется, новые криптовалюты лучше делать вообще без майнинга, просто бесплатно раздать случайным людям; ещё лучше ввести какой-то фильтр, например чтобы люди сдавали экзамены на знание научпопа, и кто сдал — тот получил свою порцию монет.
Основная проблема подобных инициатив в том, чтобы предотвратить злоупотребления. Кто такие "люди"? В биткоине нет никаких людей, есть только кошельки, которые можно генерировать миллиардами. Кто будет проверять экзамен? Что мешает этому проверяющему сгенерировать миллиард кошельков и получить миллиард порций монет? Как всем клиентам децентрализованно договориться о том, что мы будем доверять вот этому конкретному человеку? А ведь на земной шар этих людей будет десятки тысяч.
В биткоине доверия не так много. По сути идёт жёсткое доверие начальному блоку, и неявное доверие группе людей, развивающей протокол. И в этом его привлекательность. Это действительно независимое ни от кого явление.