Блокчейн

Блокчейн: простое объяснение
Эта статья представляет шаг за шагом введение в блокчейн

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

Изначальная сложность исходит из идеи, что нечто представленное в виде цифрового объекта может быть безопасно передано одной стороной другой стороне. Представьте, что вы хотите перевести деньги, которые лежат на счету в банке, какому-то другому человеку. Обычно это выполняется электронной транзакцией — физически деньги не передаются. Здесь все просто. Но такая транзакция подразумевает доверие банку. А возможно ли, что бы цифровой объект, хранящийся на моем компьютере и представляющий собой деньги, был безопасно передан на чужой компьютер без вовлечения банка? Да, это возможно. Однако, независимо от того, как этот электронный объект выглядит, он всегда может быть скопирован. Именно это и создает проблему известную как «двойное расходование» (double-spending) — возможность сделать оплату больше одного раза теми же самыми деньгами. Эта проблема не была решена достаточно хорошо до появления первой криптовалюты, Биткоин, в 2009.

В последующие годы появились другие криптовалюты следуя тому же принципу блокчейн, который решает проблему «двойной оплаты» без участия банка. Электронные объекты передаются от одного человека другому без возможности копирования и двойной оплаты посредством помещения однго хешчейна внутрь другого. Что такое хешчейн? Давайте сначала вспомним что такое хеш.

Хеш функции

Хеш функция — это способ преобразования данных произвольной длины в цифровую строчку фиксированной длины, называемой хеш. Одна из самых простых хеш- функций — это деление по модулю. Любая цифровая строчка может быть преобразована в число (возможно очень большое); это число можно поделить на константу; и остаток от деления будет результат — хеш. Очевидно что результат будет меньше константы, а значит и длина хеша короче. Эта хеш-функция простая, но в то же время она не используется слишком часто, потому что часто хотелось бы иметь еще и другое свойство — одностороннее вычисление. Должно быть легко вычислить хеш, но подобрать входные данные к заданному хешу трудно, а лучше, что бы вообще было невозможно.

Хеш-функции с таким свойством иногда называют криптографическими хеш- функциями, если необходимо их отличить от других. Такие функции переваривают биты входных данных очень запутанным способом что бы восстановление входных данных по хешу было невозможным. Наиболее известные криптографические функции это MD5, SHA1, SHA2. Пример MD5:

MD5(«abc») = 900150983cd24fb0d6963f7d28e17f72

Результатом является 128-битная строчка показанная здесь в шестнадцатеричном формате.

Если хеш результат представленный в какой-либо форме дать опять на вход хеш- функции, то получится новый хеш. Если этот процесс повторять и результаты собрать в последовательность, мы получим хешчейн.

Хешчейн

Хешчейн — это последовательность гомогенных блоков данных, попросту блоков, соединенных вместе хеш-функцией. Рисунок 1 схематично показывает простой хешчейн.

Рисунок 1

Каждый блок состоит из хеша и пэйлоуда (payload — полезная нагрузка). Хеш каждого блока вычисляется из целого предыдущего блока. Пэйлоуд каждого блока — это произвольные данные. Такой хешчейн обладает важным свойством: данные в блоке не могут быть изменены без нарушения целостности цепочки. Например если пэйлоуд первого блока изменить, тогда нужно изменить хеш второго блока, а значит и третьего, и так далее.

Следующий шаг — разрешить только одному человеку создавать новый блок в цепочке. Одним из способов является криптография публичного ключа (PKC — Public Key Cryptography).

Криптография Публичного Ключа

Основная идея PKC такая же, как и у хеш-функций — одностороннее вычисление. Имея некоторые данные m любой может вычислить зашифрованное значение Enc(m). Но только тот, кто знает специальный ключ шифра, может сделать обратное вычисление, то есть найти m из Enc(m). Этот процесс называется раcшифрование.

Для достижения PKC нужно создать так называемую пару ключей: публичный и приватный. Публичный ключ используется для шифрования данных и может быть открыт для всех. Приватный ключ используется для расшифрования и должен быть сохранен в секрете.

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

Рисунок 2

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

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

Второй сценарий противоположен первому. Предположим Алис шифрует некоторые данные используя свой собственный приватный ключ (либо шифрует только хеш взятый от этих данных) и затем открывает все: и изначальные данные и шифр. Теперь любой человек, знающий публичный ключ, может проверить что шифр действительно вычислен с помощью приватного ключа связанного с этим публичным ключом. Такая проверка работает как удостоверение что именно Алис сделала шифрование. Этот процесс и зашифрованная часть называются цифровой подписью.

Рисунок 2 показывает первый сценарий. Во втором сценарии приватный и публичный ключи поменяны местами. Давайте проследим еще раз. Алис вычисляет хеш из документа m и шифрует этот хеш своим приватным ключом, затем публично открывает документ и зашифрованный хеш. Теперь любой может взять хеш из документа и в то же время расшифровать зашифрованный хеш используя публичный ключ Алис. Если оба значения одинаковые, это значит, что Алис в самом деле подписала документ m. Этот сценарий цифровой подписи как раз тот, который нужен для хешчейн.

Закрепление Хешчейна Криптографией Публичного Ключа

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

Рисунок 3
(из оригинальной статьи Сатоши Накомото про Биткоин)

Рисунок 3 показывает как PKC может быть использована в хешчейн.

Хешчейн с авторизацией PKC может исполнять функцию безопасной передачи цифровых объектов, называемых токенами. Предположим, один хешчейн представляет токен. Это может быть нечто, чему в реальном мире присвоена некоторая ценность. Владелец последнего блока является владельцем этой ценности, потому что только он может передать ее кому-то другому. Однако такой тип хешчейна, реализованный как есть, потребовал бы определенного центрального места, где блоки реально создаются, хранятся, и могут быть проверены. Мы приходим опять к концепции банка — места требующее доверия.

Блокчейн

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

Рисунок 4

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

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

Социальный Стимул

В сети Биткоина глобальным хешчейном служит база данных распределенная среди многих компьютеров. Этот глобальный хешчейн содержит много внутренних хешчейнов представляющих некоторые ценные токены называемые биткоинами. Новые блоки созданные на внутренних хейшчейнах называются транзакциями, потому что они представляют изменения владельцев биткоинов. Владелец определенного биткоина создает новый блок на соответствующем внутреннем хешчейне и публикует этот блок как новую транзакцию, которую нужно включить в следующий блок внешнего хешчейна. Публикует — это значит рассылает всем другим участникам сети P2P Биткоин. Как только новый блок внешнего хешчейна создан, он публикуется таким же образом.

Любой участник может создать новый блок для внешнего хешчейна включив в него опубликованные транзакции. Но это не просто. Для избежания хаоса все участники придерживаются определенного набора правил — протокола. И кто нарушает эти правила, тот игнорируется остальными. Протокол основан на трех принципах:

  1. создание нового блока требует существенных вычислительных мощностей;
  2. создание нового блока имеет награду, так что многие хотели бы потратить усилия на успешное создание нового блока;
  3. и если случится ветвление, то самая длинная ветвь побеждает.

 

 

Первое условие требует, чтобы хеш, взятый из блока с некоторым случайным модификатором, начинался с определенным количеством нулевых битов. Так что случайный модификатор подбирается до тех пор, пока в результате не будет нужное количество нулевых битов. Это требование делает создание блока трудным.

С другой стороны, тот кто создал блок получает некоторое количество новоиспеченных внутренних хешчейнов представляющих ценность — биткоинов. Это тоже есть часть протокола. Более того, поскольку биткоины представляют в каком-то смысле валюту и внутренние хешчейны содержат транзакции в этой валюте, владельцы транзакций могут предлагать небольшую часть стоимости транзакции создателю нового блока глобального хешчейна. Таким образом, создатель нового блока получает новоиспеченные биткоины плюс все оплаты собранные из транзакций помещенных в блок.

Третье правило гарантирует только одну действующую копию базы данных респределенную среди многих компьютеров. Очевидно то, что многие пытаясь создать блоки, создают их независимо разными. Поскольку распространение блоков не мгновенное, новые блоки могут быть созданы поверх независимо созданных блоков. Такая ситуация заставляет глобальный хешчейн ветвиться. Третье правило определяет одну самую длинную ветвь верной. Это правило работает без проблем, так как создание блоков занятие трудное, а значит вероятность что две или более ветви выживут падает очень быстро.

Мы видим, что внешний хешчейн играет роль центрального хранилища реально заменяя авторитарный орган. Поскольку внешний хешчейн глобальный, он хранит элементы внутренних хешчейнов однозначно и надежно связывая токены с их владельцами, в то же время делая невозможным «двойную оплату». База данных внешнего хешчейна распределена среди многих не доверяющих друг другу сторон. Это исключает возможность обязать все сообщество таких сторон следовать некоторому внешнему предписанию, такому как политический закон.

Так что же такое Блокчейн?

Блокчейн — это определенная организация хешчейнов внутри другого хешчейна. Внешний хешчейн должен быть основан на наборе правил, которые создают баланс между удобством использования, простотой, стимулом, доверием и полномочиями. Его предназначение — это избавление от центрального органа, который может контролироваться и быть злоупотребленным людьми. Внутренние хешчейны должны иметь механизм авторизации, чтобы можно было владеть чем-то, что представляет собой определенную ценность. Механизм авторизации не обязательно должен быть PKC. Например, Hasq хешчейн намного проще и использует только хеш-функции для механизма авторизации.

Как правильно гуглить

  • Кто из нас не ищет в Google все, что только можно. Однако, мало кто знает, как же делать это правильно. Смотрите 15 советов о том, как правильно «гуглить» все на свете:

    1. Чтобы найти точную фразу или форму слова — возьмите ее в кавычки. «дивлюсь я на небо»

    2. Чтобы найти слово из цитаты, которое вы забыли — поставьте всю цитату в кавычки, а пропущенное слово отметьте звездочкой. Готово! «Мама * давай»

    3. Как найти любое слово из нескольких перечисленных. Надо прописать все варианты через вертикальный слэш |. гостиница | отель | хостел

    4. Чтобы найти слова в пределах одного предложения, используйте ampersand — знакомый всем значок &. Лучшие музеи мира & Париж

    5. Если нужно найти документ с определенным словом, поставьте перед ним +, только без пробела. Николаевский зоопарк +тигр

    6. Иногда необходимо исключить слово из поиска. Для этого перед нужными словами поставьте минус. Наполеон -торт

    7. Ища информацию на определенном сайте, вставьте слово «site» и поставьте после него двоеточие. Конституція України site:rada. gov. ua (без пробела)

    8. Чтобы найти определенный тип документа, впишите оператор «mime», поставьте двоеточие и тип нужного документа. заявление на загранпаспорт mime:pdf

    9. С помощью оператора «lang» можно искать информацию на определенном языке. После него — поставить двоеточие и написать язык. Например, если это русский — то поставить ru, английский — en и т.д. void glClearColor lang:ru

    10. Для поиска синонимов используйте символ ~ перед словом. Таким образом откроются все ссылки на страницы со словами, похожими на ваше, при этом не содержащие это же слово. ~необычные шарфы -необычные

    11. Как прогуглить значение слова? Ввести в поиск define: и узнать. define: коучинг

    12. Если вам надо узнать величину или курс валют, просто введите запрос в строке. 1 кг в фунтах

    13. Точное время по городу найдется с помощью слов «время» и » город» в строке поиска. time Киев

    14. Калькулятор. Чтобы подсчитать уравнение, вбейте пример в поиск и получите результат. 695+583

    15. Прогноз погоды по городу на несколько дней найдется при вводе слов «weather» и «город». weather Москва

Бизнес в интернете

Одним из самых успешных «офисов» в мире, который объединяет для работы миллионы людей, сегодня, несомненно, является Интернет. В нем можно отлично заработать, не выходя из дома, получить прибавку к зарплате или просто сделать свое хобби оплачиваемым. И если вовремя и грамотно создать свой бизнес в Интернете, можно не только получить прибыль, но и прославиться.

Почему Интернет так хорош?

Заработок в сети имеет массу преимуществ и не подойдет он только тем, кто испытывает острую необходимость ежедневно общаться с людьми и выезжать в офис. Впрочем, даже в этом случае интернет-общение может решить проблему. В остальном «виртуальный бизнес» отличается исключительно достоинствами:

1. Создать и развить его очень легко – иногда даже легче, нежели реальный бизнес, ведь в большинстве случаев в сети не нужно создавать предприятия, содержать офисы и проходить согласования в разных инстанциях

2. Он не требует наличия диплома – опять-таки в большинстве случаев интернет-бизнес можно развить на основе хобби, и для этого будут нужны лишь желание, определенные умения и навыки, а вовсе не специальное образование

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

4. Бизнесмен может чувствовать полную свободу действий – бизнес в Интернете позволяет в любое время прерываться, уезжать в длительный отпуск, брать выходные, а при необходимости можно наоборот ускориться, поработать круглые сутки, и это будет влиять на прибыль так, как заранее запланировал сам «виртуальный» предприниматель

Более того, преимуществом работы в сети является отсутствие крупных стартовых вложений. Зачастую для нее будет нужен лишь компьютер с доступом к сети и определенным набором программ! При этом начальные этапы работы можно проводить «на ощупь» – не имея каких-либо знаний в данной сфере, а когда появится первый заработок, его можно будет потратить на курсы повышения квалификации. Впрочем, эти «курсы» вполне можно пройти и бесплатно – интернет-бизнес дает широкие возможности самообразования, когда достаточно изучить какие-либо пособия, уже имеющиеся в сети, или связаться со специалистами, находящимися там же.

Что приносит хорошую прибыль?

Современные идеи бизнеса в Интернете необыкновенно разнообразны, и смело можно утверждать: заработать можно на любой из них, независимо от интересов предпринимателя. Список поистине огромен, и в нем стоит выделить лишь самые популярные и прибыльные направления:

1. Заработок на САР – сервисах активной рекламы. Деньги поступают за просмотр определенных сайтов, регистрацию на них, клики по баннерам или чтение документов. Как правило, прибыль в этом случае невелика, но для начала такой бизнес в Интернете вполне подойдет. Впоследствии можно создать такой сервис самостоятельно.

2. Прибыль от файлообменников. Размещая определенные материалы на соответствующих ресурсах и грамотно их рекламируя, можно неплохо зарабатывать, однако еще более высокую прибыль принесет создание самого файлообменника для пользователей

3. Заработок в сфере торговли. Это огромная платформа для действий! Такой интернет-бизнес может предполагать:
— создание нового интернет-магазина
— работу в качестве партнера уже существующей торговой точки
— разработку инвестиционных проектов для других ресурсов
— продажу продукции собственного производства на специальных платформах или на собственном сайте

4. Копирайтинг, рерайтинг и другая работа для тех, кто умеет писать различные тексты. Наполнять сайты контентом можно по-разному: воспользовавшись уже существующими платформами, связывающими авторов и заказчиков, или создав собственный бизнес в Интернете, предполагающий наличие своего сайта и постоянные переговоры с потенциальными заказчиками

5. Дизайн сайтов. Работу можно искать по тем же принципам, что в предыдущем случае

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

7. Создание, продвижение, раскрутка сайтов. Лучшая работа для программистов, которые не желают трудиться в офисе. Можно создать виртуальную веб-студию, которая будет приносить даже более высокий доход, нежели традиционная – предпринимателю не нужно будет тратиться на ее содержание

Другие идеи бизнеса в Интернете

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

1. Предоставление юридических или медицинских консультаций в Интернете (для этого следует иметь определенные знания и соответствующий диплом)

2. Разработка стартапов «на продажу»

3. Создание онлайн — калькуляторов по любой тематике (например, расчет стоимости техосмотра авто, расчет кредита, ипотеки и т.д.)

4. Создание онлайн-бирж для объединения бизнесменов разного уровня, инвесторов, заказчиков, разработка электронных торговых площадок

5. Отслеживание интересных предложений для клиентов (например, скидок в магазине или привлекательных акций)

6. Заработок на рекламе (для тех, у кого есть свой сайт) – баннерная, контекстная, тизерная реклама подчас приносят хорошую прибыль

7. Создание платежных систем или обменников виртуальной валюты на реальные деньги, а также вывод средств клиентов с виртуальных бирж

8. Заработок на собственном блоге (он должен быть достаточно популярным) – написание постов под заказ, привлечение посетителей, раскрутка литературного проекта и т.д.

9. Перепродажа каких-либо товаров (косметики, аксессуаров и др.) с иностранных аукционов и интернет-магазинов

10. «Продажа» контактов – отличный способ заработать на тех, кто ищет сотрудников или работу

11. Веб — организация вечеринок и других событий – специальный сайт позволяет приглашать гостей, составлять списки подарков, вести учет расходов и т.д.

12. Создание «справочных» сайтов – например, ресурсов, на которых содержится вся информация о такси, тематических магазинах, различных заведениях в конкретном населенном пункте.

 2401230701

Первые iPhone без традиционной кнопки Home появятся не раньше 2017 года

В будущем смартфоны iPhone будут лишены традиционной и такой узнаваемой кнопки Home. Правда, произойдёт это, как пишет AppleInsider, произойдёт это не раньше 2017 года.

Осведомлённые источники на условиях анонимности сообщили, что сейчас компания Apple работает над созданием дисплея для iPhone со встроенной кнопкой Home и сканером отпечатков пальцев. Вполне возможно, что для этого подойдёт технология Force Touch, используемая в Apple Watch и новом 12-дюймовом MacBook. Она обеспечивает дисплею чувствительность к силе нажатия. Впрочем, источники предупредили, что внедрение дисплеев с заменой традиционной кнопке Home является долгосрочной целью и появится в iPhone не раньше, чем через два года.

www.overclockers.ru