Roan

Roan

пикабушник
пол: мужской
поставил 10006 плюсов и 1023 минуса
отредактировал 2 поста
проголосовал за 5 редактирований
13К рейтинг 319 подписчиков 2847 комментариев 62 поста 5 в "горячем"
1 награда
5 лет на Пикабу
3388

Что такое биткоин? Детальное объяснение

Сэры @Shellbern, @Py6eHoBu4, @Oleg27, а так же 100 человек их плюсанувших в этом посте изъявили желание понять, что же такое биткоин, зачем нужны видеокарты, и почему людям он так нравится. Что ж, внимайте с: Огромная стена текста ждёт вас, надеюсь это знание поможет вам чуть лучше понять современный IT-мир. Советую читать в несколько заходов.

Сначала о блокчейне, что бы было понятно как работает биткоин. В конце поста уже про сам биткоин. Честно скажу, в интернете куча статей на эту тему, однако реально простой статьи, которая бы всё описала человеческим языком(без слов "майнинг", "транзакция", "пул", "блоки в блокчейне") я не видел. Однако без этих слов прояснить тему разговора представляется затруднительным, так что ниже я дам им толкование в простой и понятной форме. Сразу скажу, что пост не является прям вот полной идеальной документацией к биткоину и блокчейнам, кое-что специально опустил.

В 2009 году сэр Satoshi Nakamoto решил подарить человечеству прозрачность и честность информации. До сих пор не известно, один это человек или группа людей, однако мысль, которая родилась в его голове, на данный момент является, без преувеличения, одним из величайших изобретений человечества в 21 веке. И дело тут не в биткоине, а в идее, которая по настоящему реализуется только через 50-100 и изменит человечество(ну или просто несколько стран) в лучшую сторону. Он сделал это анонимно, просто запустил, показал как работает, объяснил кое-кому на пальчиках и свалил в закат. Дальше пошло поехало, людям понравилось, и они стали распостранять идею, например как сейчас это делаю я.

Накамото придумал способ хранить информацию таким образом, что любой человек может её прочитать и удостовериться в её истинности. Единожды записанную информацию невозможно изменить, она доступна всем, она постоянна. Под фразой "невозможно изменить" я подразумеваю, что информация не подконтрольна никому, и при всём желании никакое правительно не в состоянии на это повлиять, даже сам Накамото не может.

Этот способ хранить информацию называется блокчейн(с англ. цепочка блоков). Информация записывается в блоки, и как только блок попал в цепочку - его уже невозможно изменить. Если информацию нужно как-то обновить, создается новый блок, и добавляется к предыдущему, и вот уже цепочка из двух блоков. Грубо говоря, наложив второй блок на первый, мы получим набор информации на текущий момент. Можно откатиться немного назад, на первый блок, и посмотреть какой информация была на тот момент. Например, на момент написания поста, в блокчейне биткоина насобиралось уже 472120 блоков, которые идут один за другим. Посмотреть можно тут. В них записаны транзакции сети, и их уже невозможно отменить. Но о них позже.

Революционность идеи в том, что информация не хранится в одном месте. Она у всех участников. Например, если банк захочет отжать у вас 235235235 мильёнов денег, он просто возьмёт и поменяет у себя ваш баланс, потому что информацией владеет он, а вы просто спрашиваете у него сколько у вас там шекелей.

Члены сети, которые держат у себя информацию(вы можете стать одним из них, кастингов никаких нет), как раз таки уговорились между собой, что изменять свою информацию может только свой владелец. Т.е. грубо говоря если вы захотите перевести кому-то денежку вам надо уведомить всех членов о том, что вот это именно вы и вы хотите сделать перевод. Всё, по другому никак. Если какие-то члены сети захотят обмануть других членов сети, и изменят какой-то блок, то сеть просто их исключит до тех пор, пока они не вернутся в согласованное с остальными состояние. Решает большинство(в разных реализациях блокчейна по разному, но в биткоине решает большинство).

Идентификация вас как владельца информации производится с помощью асимметричного шифрования. Если хотите, можете почитать в гугле, но в кратце - это такая штука, которая позволяет с помощью одного ключа информацию зашифровать, а с помощью другого расшифровать. Зашифровать информацию можете только вы, остальные люди с помощью третьего ключа могут только проверить, правильно она зашифрована или нет. Это уже лично доработка Накамото, очень крутая штука. Если всё правильно, значит это действительно вы. Если нет, то это обманка и верить не стоит(блокчейн отвергнет эту информацию). Сторонний человек не сможет работать от вашего лица ввиду того, что ключи там длинные и попытка их ломануть займет больше, чем возраст вселенной.

Грубо говоря, когда вы присоединяетесь к блокчейну как владелец информации, вы говорите всем, мол, так и так, "вот вам ключик, что бы расшифровать мою информацию(если вам вдруг захочется почитать), а вот ключик что бы проверить шифрование". И теперь у каждого члена сети есть возможность проверить, вы ли разместили эту информацию. Если заявлено что вы, но проверку не проходит, то это попытка взлома, и сеть отвергает эту информацию.

Итого в сумме получается, что информация есть у всех, прочитать её могут все. Проверить истинность информации тоже могут все, путём сверки данных. Если вы напишете на заборе блокчейна "Вася - х*й", то все точно будут знать, что Вася х*й. И что это сделали вы. Если потом у вас случится приступ раскаяния, и вы исправите надпись на "Вася - художник", то всем будет известно что на данный момент ваша ячейка информации содержит информацию о Васе художнике, но некоторое количество блоков назад вы говорили про него немного другое. Биткоин работает так же, сначала у вас было одно количество монеток, но потом вы их потратили куда-то и сейчас у вас уже другое количество монеток.

Теперь вы более-менее понимаете блокчейн. Участники сети находятся по всему миру, и каждый держит на своем компьютере копию блокчейна. И каждый может создать новый блок с какой-то информацией, а потом отправить его другим. Сеть его перепроверит на честность, а потом блок применяется и теперь к блокчейне стало информации чуточку больше. По всему миру. Изменить/убрать блок нельзя, все так договорились, кто не договорился - играй в другой песочнице, у нас тут решает большинство.

Например, через блокчейн можно решать вопросы собственности в квартирах. Грубо говоря, если в цепочке записана информация о том, что вы владеете 1/3 квартиры, то никакая сила уже не в состоянии у вас эту долю забрать, пока вы сами не передадите другому участнику сети. И никаких судов, юристов, бюрократии. В случае чего просто своим ключом демонстрируешь всем, что ты действительно владелец этой информации, и всё. А другим ключом можно эту часть передать. Революционная штука. Привязать к паспорту и вообще все легко делается - оплата в магазинах, покупка бензина, кредитная история, история посещений, владение собственностью, контракты в бизнесе. Одна общая система для всего. Без обмана. Если шифровать данные немного по другому, то другим людям ваша информация видна не будет, но по требованию правоохранительных органов вы просто своим ключом расшифровываете свою информацию и доказываете, что были в другом месте.

Кароче, идеальное будущее без терроризма, коррупции и мафии, где все честно. Может быть наши внуки это увидят, очень на это надеюсь.

Ну да ладно, заканчиваем лирическое отступление. Это была самая сложная часть. Дальше про биткоин, тут будет проще.

Биткоин - это реализация блокчейна. Формат информации сводится к количеству доступных BTC на адресе, а адрес это такая личность в блокчейне. Вы можете насоздавать кучу адресов, у них у всех будут разные ключи шифрования, и пока вы никому не говорите что этот адрес - ваш, никто не знает чей он.

Транзакция - набор информации, который говорит что с кошелька А переводят монетки на кошелек Б. Блоки в биткионе содержат транзакции. Что бы добавить новую транзакцию в обработку, нужно подписать её своими ключами и указать адрес, с которого монетки уходят. Перед тем, как принять транзакцию в работу, она проверяется участниками сети на предмет истинности(действительно ли транзакцию зашифровал адрес, с которого она снимает монетки. здесь нужен тот самый третий ключ, а котором я писал выше). Если тут всё ок, то потом проверяется, есть ли у этого адреса нужное количество BTC. Для этого читаются все блоки начиная с первого и до последнего, до тех пор пока не найдется транзакция, которая пополнила этот адрес. Или несколько. Транзакции, снимающие баланс, тоже учитываются. Всё это делается на автоматике, вам в принципе вообще ничего делать не надо. Если у вас нет такой суммы, транзакция просто будет отклонена участниками сети.

Как я уже говорил, блоки в биткоине содержат транзакции, а транзакции содержат информацию о переводах монеток в сети BTC. Примерно раз в 10 минут генерируется новый блок. Бывает и за 0 секунд удается кому-то сгенерить, бывает и за 3-4 часа никто не может его создать. Об этом ниже.

Что бы избежать инфляции, сэр Накамото постановил(и все участники сети между собой согласились), что создание блока требует решения определенной математической задачи. Взгляните вот на этого красавчика, на строчку Hash. Красиво? Красиво. Это и есть математическая задача на данный момент - сгенерировать красивый хеш, у которого вначале будет сколько-то там нулей(чем дальше тем больше нулей, вот например первый блок, тут нулей поменьше).

Для генерации хешей нужны вычислительные мощности. Чем больше мощность, тем больше шанс, что ты первый сгенерируешь необходимый хеш. Хеши генерятся случайно. Поэтому скупают видеокарты - они мощнее, чем процессоры. Однако окупаемость видеокарты довольно печальная, особенно когда уже есть устройства ASIC, которые майнят в 10 раз быстрее и внутри у них там по 10 процессоров с видеокарт. Стоят дешевле и окупаются быстрее.

Если повезло и вы сгенерировали красивый хеш раньше всех, то собираете все доступные вам транзакции в блок и он рассылается остальным. Эти транзакции считаются выполнеными. Вам начисляют награду(на данный момент это 12.5BTC, сейчас около 40000$), все остальные говорят "красаучик чо, возьми с полки 12.5BTC", и блокчейн биткоина двигается вперед на 1 блок. Пока я писал этот текст сгенерили 10 блоков, т.е. людям уже раздали около $400 000. Однако биткоин капитализируется быстрее, и за это время в его стоимость всякие смертные уже вложили, например, $600 000. Этим обусловливается рост курса.

Если вы создаете транзакцию в РФ, а следующий блок создали и запаковали где-то в Штатах, то есть вероятность, что сервер, которому повезло найти хеш, ещё не увидел вашей транзакции. Так бывает, минуты 2-3 нужно что бы транзакция распостранилась по сети и все участники о ней узнали(и проверили её). В таком случае блок выпущен, но вашей транзакции в нём нет и вы ждете следующего блока. Деньги с вашего адреса списаны не будут до те пор, пока не появится блок с этой транзакцией. Т.е. все участники сети должны утвердить эту транзакцию, и только тогда перевод монеток будет официально подтвержден. И никакой банк при всём желании не сможет скомуниздить ваши кровные. Потому что решает большинство, и большинство видит что у вас действительно есть эта денежка. А хэш они ложили на то, что банку пришла бумажка "сверху" заморозить ваши счета. Деньги принадлежат адресу, и точка. Ключ от адреса есть только у вас. Значит ваши деньги с:

Чем больше блоков создается, тем меньше награда. Раньше было 50BTC, каждые 210 000 блоков награда уменьшается вдвое. Если вы сгенерили хеш и запаковали блок, вы соответственно получите награду на свой адрес в виде особой транзакции + некий процент со всех транзакций, которые были вами запакованы. Типа комиссии, вроде как мотивация генерить блоки дальше.

Кажется всё. Выпейте чаю, пожмакайте котика. Спасибо, что прочитали. Я знаю, было сложно. Но вы молодец, что осилили это :) Хорошего вам вечера.

Показать полностью
10

Нашёл баг)

Привет, @admin, привет @0x00. Заметил я тут одну неприятную баговину. Если "вставочная в ленту" реклама повторяется 2 раза(по типу "УСПЕЙТЕ КУПИТЬ НОВЫЙ ТЕЛЕФОН XXX ОТ КОМПАНИИ YYY ВСЕГО-ЛИШЬ ЗА ПОЛТОРЫ_ПОЧКИ$", ну китайцы которые, я особо не вчитывался), то скролл ленты через D(или стрелочку справа) после второй рекламы перекатывает тебя на следующий пост... после первой =) Всё остальное (мышка, колёсико, стрелочки) работает как надо. Такой вот вечный цикл. Приятных вам выходных =)

Нашёл баг) Пикабу, Админ, 0x00, Баг
18

В тему блокировок

Читаю http://pikabu.ru/story/v_gosdumu_planiruetsya_vnesti_proekt_... и понимаю один момент.
Итак, хотят запретить распостранение инструкций "как обойти блокировку". То есть они вполне себе понимают, что люди используют прокси и VPN в своих целях, ну как минимум знают, что это.

В кратце, VPN - шифрование данных между компьютерами, невозможно взломать/раскодировать/прочитать/изменить со стороны. Абсолютная гарантированная анонимость.


Немного реальности. Реальные террористы, экстремисты, биткоин-майнеры, хакеры и прочие ребята вне закона всегда сидят через VPN. Всегда. Всегда защищены, всегда анонимны, всегда невидимы.


А роскомнадзор банит рутрекер, потому что кто-то качает фильмы/музыку, и продюсеры теряют свою прибыль. Банит лурк, потому что там - о господи! - люди пишут то, что реально думают без фильтрации того, что можно писать, а что нет.


Ну да, ведь вербовка ИГИЛ в интернете это не так важно для страны, давайте-ка лучше поработаем на благо какого-то и без того не худого дядечки, увеличивая размер его кошелька. Зачем напрягаться и вставлять палки в колёса хакерам, давайте обычному люду вставлять, отличная видимость деятельности.


Ужас.

В тему блокировок Роскомнадзор, Бюджет
5

Какой вкус у CocaCola Vanilla?

К моему больному удивлению, обнаружил что никто из моих друзей не обладает настолько больным воображением как у меня... Друзяшкам понравилось, так что выкладываю:
Итак, что делать если вы скучаете по той самой "ванильной" коле, которую почти не продают в снг уже 15 лет(или даже не пробовали)?
Нам понадобится:
1. Литр колы
2. Пломбир. Можно обычную морожку, только стаканчик снимите с неё.
3. Кружка и чайная ложка
Гайд:
Берем в руки кружку. В неё пломбир. Ждем пока он немного растает и растечется тонким слоем по дну. Сверху немного наливаем колу, но не доверху. Получаем очень милую пену, которую можно съесть ложечкой. Пены будет много, она будет классная НО это не конечная цель. Конечная цель - это сама жидкость в кружке. После съедения пены у вас останется пломбир + кола.
Ваш напиток богов готов. Очень надеюсь, что понравится тем, у кого в городе на прилавках не продают)
-10

Старое

Привет! Помогите найти игру. Ей уже лет 15, играл когда ещё был совсем мелкий.

Игра - атмосферный стелс от первого лица, играем девушкой. Лежала в коробке с логотипом "Фаргус", на лицевой стороне толстенький мужик в черно-белой тельняшке(коробка может быть от другой игры). Присутствуют полосатые одежды(либо это ГГ, либо противник). Можно бросать сюрикены, но кроме них есть и другое оружие.

Начало игры - темная деревушка. Ближе к середине есть бой в доме, который поднимается в воздух из-за торнадо, после драки улетаем оттуда на зонтике.

Больше, к сожалению, ничего не помню. На пикабу и в гугле уже искал, но тренд "типа фаргус", к сожалению, забивает результаты мусором. Не нашёл.
289

Вдохновленный постом http://pikabu.ru/story/_2298256

я сделал макет, мой банк согласился распечатать мне эту карту. Выкладываю на тот случай, если пригодится кому-то ещё(в комментах чистый вариант)
Вдохновленный постом http://pikabu.ru/story/_2298256 я сделал макет, мой банк согласился распечатать мне эту карту. Выкладываю на тот случай, если пригодится кому-то ещё(в комментах чистый вариант)

Мы ищем frontend-разработчика

Мы ищем frontend-разработчика

Привет!)


Мы открываем новую вакансию на позицию frontend-разработчика!

Как и в прошлые разы для backend-разработчиков (раз, два), мы предлагаем небольшую игру, где вам необходимо при помощи знаний JS, CSS и HTML пройти ряд испытаний!


Зачем всё это?

Каждый день на Пикабу заходит 2,5 млн человек, появляется около 2500 постов и 95 000 комментариев. Наша цель – делать самое уютное и удобное сообщество. Мы хотим регулярно радовать пользователей новыми функциями, не задерживать обещанные обновления и вовремя отлавливать баги.


Что надо делать?

Например, реализовывать новые фичи (как эти) и улучшать инструменты для работы внутри Пикабу. Не бояться рутины и командной работы (по чатам!).


Вам необходимо знать современные JS, CSS и HTML, уметь писать быстрый и безопасный код ;) Хотя бы немножко знать о Less, Sass, webpack, gulp, npm, Web APIs, jsDoc, git и др.


Какие у вас условия?

Рыночное вознаграждение по результатам тестового и собеседования, официальное оформление, полный рабочий день, но гибкий график. Если вас не пугает удаленная работа и ваш часовой пояс отличается от московского не больше, чем на 3 часа, тогда вы тоже можете присоединиться к нам!


Ну как, интересно? Тогда пробуйте ваши силы по ссылке :)

Если вы успешно пройдете испытание и оставите достаточно информации о себе (ссылку на резюме, примеры кода, описание ваших знаний), и если наша вакансия ещё не будет закрыта, то мы с вами обязательно свяжемся по email.

Удачи вам! ;)

Показать полностью
Отличная работа, все прочитано!