• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Flatly)
  • No Skin
Collapse
SmartHoldem Community

Community

TechnoL0gT

TechnoL0g

@TechnoL0g
About
Posts
269
Topics
115
Groups
8
Followers
11
Following
4

Posts

Recent Best Controversial

    Рефакторинг sthjs-wrapper
  • TechnoL0gT TechnoL0g

    Проведен рефакторинг sthjs-wrapper

    соотвественно обновлены

    • https://api.smartholdem.io/#js-api-wrapper-0-1-6
    • https://github.com/smartholdem/faucet

    модуль также доступен в npm https://www.npmjs.com/package/sthjs-wrapper

    установка

    npm install --save sthjs-wrapper
    

    инициализация перед использованием

    // init
    var smartholdemApi = require("sthjs-wrapper");
    var network = "main" //or "dev"
    smartholdemApi.init(network);
    

    использование

    var smartholdemApi = require("sthjs-wrapper")
    smartholdemApi.getBalance("Address of the account", (error, success, response) => {
        console.log(response);
    });
    

  • Заметки по доверенной среде выполнения (TEESH)
  • TechnoL0gT TechnoL0g

    Trusted Execution Environment SmartHoldem (TEESH) набор программных компонентов, поддерживающих на устройстве безопасную среду выполнения операций экосистемы SmartHoldem.

    Состоит из:

    • Операционной системы (SH Trusty ОС), работающей на процессоре, поддерживающем TEE
    • Драйверов для ядра Linux, обеспечивающих взаимодействие с приложениями, работающими под SH Trusty OS
    • Набора библиотек для взаимодействия с доверенными приложениями, выполняемыми внутри SH Trusty OS, использующего драйверы ядра
    • API для взаимодействия с распределенными узлами SmartHoldem из внешнего небезопасного мира

    Обычно TEESH процессор — это отдельный микропроцессор в системе или виртуальный экземпляр основного процессора. TEESH процессор изолирован от остальной системы механизмами защиты памяти и операций ввода-вывода, реализованными на аппаратном уровне.

    Основной процессор устройства считается «не доверенным» и не может получать доступ к определённым областям ОЗУ, аппаратным регистрам и безопасным зонам, в которых хранятся секретные данные (например — криптоключи)
    Для любых операций, требующих эти секретные данные, ПО обращается к TEESH (защищенному) процессору.

    Самый популярный пример всего этого в экосистеме Android — это DRM framework, используемый для защиты контента. ПО, работающее в Trusted Execution Environment процессоре, может получать доступ к специфичным для этого устройства ключам, которые нужны для расшифровки защищённого контента. При хорошо организованной защите от программных атак, основной процессор видит только зашифрованный контент.

    Другие примеры использования Trusted Execution Environment: полнодисковое шифрование, многофакторная аутентификация, защита от сброса устройства, защита карт памяти, беспроводная трансляция защищённого контента, безопасная обработка PIN кодов и отпечатков пальцев.

    Trusty предоставляет API для разработчиков двух классов приложений:

    • Доверенные приложения или сервисы, работающие на TEE процессоре
    • Обычные/не доверенные приложения, которые работают на основном процессоре и используют сервисы, предоставляемые доверенными приложениями

    ПО, работающее на основном процессоре, может использовать Trusty API для подключения к доверенным приложениям и обмениваться с ними различными сообщениями, подобно тому, как работают сетевые сервисы через IP. Используя определённый протокол, приложения определяют формат данных и семантики этих сообщений. Надёжность доставки этих сообщений гарантируется инфраструктурой, лежащей в основе Trusty (в виде драйверов, работающих на основном процессоре). Все сообщения асинхронны.

    Доверенные сервисы

    Доверенные приложения работают как изолированные процессы под ядром ОС Trusty. Каждый процесс работает в песочнице с собственной виртуальной памятью, которая управляется средствами MMU. Ядро распланировывает эти процессы на основе приоритетов; цикличность планирования задаётся защищённым синхронизатором тактов, все Trusty приложения имеют одинаковый приоритет.

    Приложения для ОС Trusty могут быть написаны на C/C++.

    Структура приложений

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

    Доверенные приложения написаны как сервисы, управляемые событиями и ожидающие команды от других приложений или от приложений, работающих в основном процессоре. Доверенные приложения могут быть клиентами других доверенных приложений-сервисов.

    Одним из видов подтверждения доверия является цифровая подпись, производителю которой пользователь доверяет или хэш сверки подписи в блокчейн.


    Интересно использование чипов SoC (систем на кристалле). Подробная статья тут. это и есть ASIC с спец функциями. К примеру в устройствах Android используется этот чип для обеспечения безопасной среды и хранения ключей.

    Пример системы на процессоре A9

    Внешние доверенные устройства

    Идея вынести выполнение критических операций на отдельное специализированное устройство не нова. К критическим операциям в данном случае стоит отнести работу с ключами и контроль обрабатываемой информации, в нашем варианте это RNG. То есть в этих устройствах необходимо обеспечить генерацию ключей, выполнение криптографических операций и контроль поступаемых на обработку данных. Так же необходимо обеспечить механизм разграничения прав доступа к устройству и обеспечить неизменность исполняемого кода.
    Задачу по безопасной работе с ключами достаточно давно и весьма эффективно решают смарткарты и токены с криптографией на борту. Ключи генерируются аппаратно в устройствах, криптографические операции выполняются в устройствах, ключи никогда не покидают устройств. Разграничение прав доступа наиболее часто осуществляется с помощью PIN кода. Защита исполняемой программы от модификации обеспечивается производителем чипов на аппаратном уровне. Для борьбы с атаками направленными на несанкционированное использование криптографических возможностей, развитие данных устройств идет по пути добавления функциональности контроля достоверности/целостности данных.
    Реализация контроля достоверности данных, поступаемых на обработку, в доверенных устройствах может быть различной. Существует три основных механизма контроля:

    Доверенный механизм ввода данных. Реализуется с помощью клавиатур ввода данных физически располагаемых на устройстве. Характерным примером являются так называемые «криптокалькуляторы», к примеру Ledger Nano S, на клавиатуре которых производится набор платежных реквизитов и затем на основе секрета устройства (или секрета платежной карты) формируется код подтверждения платежа. Основным недостатком решения является необходимость ввода данных вручную. В банковской сфере, для устранения этого неудобства, в устройство может быть добавлена функциональность хранения списка контрагентов.
    Визуальный контроль данных, осуществляемый с помощью дисплея доверенного устройства. В отличии от первого способа, данные формируются в недоверенной среде, а затем отображаются на экране доверенного устройства. Корректность данных проверяет пользователь устройства. В случае подтверждения пользователем корректности данных, формируется код подтверждения.

    Устройства могут иметь различный форм фактор и иметь различные интерфейсы обмена данными. В настоящее время являются самыми удобными для пользователя решениями по созданию доверенной среды.
    Получение данных из доверенного источника с криптографической проверкой авторства. Получение данных от доверенного сервера приложений и расшифровка (проверка подписи) в доверенном устройстве. Может сочетается с визуальным контролем данных.

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

    Перспективы

    • Использование в генерации RNG SmartHoldem на стороне пользователя
    • Эффективно решить поставленную задачу без некого, отдельного от основного компьютера, устройства не удается.
    • При использовании загрузки с доверенного носителя для обеспечения безопасности ограничивается функциональность загружаемой ОС.
    • Внешние подключаемые устройства наращивают свою функциональность.

    Механизм TEE в мобильных устройствах:

    0_1532266225014_Otkrytye_sistemy.SUBD_1(8049)_500.png

    Источник: https://source.android.com/security/trusty/


  • География Нод платформы SmartHoldem
  • TechnoL0gT TechnoL0g

    Отдельная карта также доступна тут https://smartholdem.io/nodesmap.html


  • Обновление FullNode-A v0.1.2
  • TechnoL0gT TechnoL0g

    @mkbeh Один из методов упакованный снапшот, регулярно обновляемый, через некоторое время будет переведен в p2p режим, как торрент протокол. Сама структура данных имеет высокую энтропию и предсказуемость, что способствует созданию направленных методов сжатия, сократив объем в сотни и возможно в тысячи раз (зачастую в монетах 1.0 данные между пирами передаются не упакованными, по блочно, почему бы не хэшировать по 10800 блоков (24 час) за 1 раз? при синхронизации...).


  • Добавлена документация API JS Wrapper
  • TechnoL0gT TechnoL0g

    @patinity да эта библиотека создана для упрощения взаимодействия с API SmartHoldem и дочерними blockchain. Библиотека постоянно дорабатывается и доабвляются новые функции.


  • Обновление FullNode-A v0.1.2
  • TechnoL0gT TechnoL0g

    Обновления Node-A

    • Секретный ключ вынесен в отдельный файл secret.json (для совместимости также работает старый вариант с файлом config.smartholdem.json). При сохранении первой секретной фразы адреса делегата в secret.json теперь нет необходимости указывать ее заново во время обновлений.

    • Добавлена быстрая синхронизация блокчейн с помощью скрипта

    sh firststart.sh
    

    тестирование проводилось на заведомо слабом VPS-сервере с параметрами 2x2.2ГГц, 1Гб RAM, 20Гб HDD. Время полной синхронизации блокчейн SmartHoldem с нуля занимает не более 2х минут.

    • Обновлены некоторые библиотеки связанные с лучшей безопасностью и стабильностью.

    Для гарантированного обновления Node-A до последней версии используйте следующие команды:

    !Внимание! Вероятнее всего секретная фраза из файла config.smartholdem.json >> secret["ваша фраза"] будет удалена, не забудьте ее записать.

    cd smartholdem-node-a
    forever stop app.js
    

    здесь будет задан вопрос о перезаписи некоторых файлов, пишите y <ENTER>

    git checkout -p
    git pull
    

    Результат выполнения примерно следующий:
    0_1525049755727_resultsh.jpg

    Обновляем модули

    npm install
    

    Если давно не обновлялись, секретная фраза будет удалена, вам необходимо ее указать заново, рекомендуется указывать в файле secret.json

    nano secret.json
    

    Файл

    {
      "secret": ["здесь ваша секретная фраза"]
    }
    

    CTRL+o, CTRL+x

    sh update.sh
    

    По завершении всех операций вы увидите лог работы вашей обновленной ноды.

    P.S. Также в Node-А SmartHoldem успешно работают исключения - это одна из будущих функций монеты EOS, которая на данный момент лишь анонсирована.


  • Итоги на 28/04/2018
  • TechnoL0gT TechnoL0g

    Блок 1401917

    • Разработчикам создана раздача тестовых (DEV) монет, необходимых в тестировании API SmartHoldem без затрат настоящих монет.

    • Обозреватель блоков тестовой сети DEV Explorer

    • Делегатам - улучшенная безопасность нод А. Вы можете сгенерировать вторую парольную фразу к своему адресу, но на сервере использовать первую, что гарантирует полную безопасность в случае компроментации первой фразы. После активации Все дальнейшие исходящие операции адреса необходимо проводить при использовании двух фраз. Протестировано в DevNet. Комиссия включения второй фразы 5 STH.
      Помните! В случае утери парольной фразы вы не сможете получить доступ к вашим активам!

    • Обновлен SmartHoldem API Wrapper при работе с транзакциями, идентификацией типа сети, подбор случайных нод.

    • Обновлен API JS в ветках mainnet & desktop wallet, исправления в валидации адреса и типов сетей (sidechains)

    • Обновлены скрипты faucet

    • Добавлены локальные версии Windows генератора "бумажных" кошельков, работает без подключения к сети.

    • Обновлен обозреватель блоков. Переводы, поддержка альтернативных сетей, блокчейнов, добавлен функционал графиков и мониторинга будущих курсов STH & Связываемых токенчейн.

    • Обновлена документация API SmartHoldem по API Wrapper и примерам использования.


  • Desktop Wallet SmartHoldem
  • TechnoL0gT TechnoL0g

    @djvovik в версии 1.0.3 возможно выбрать путь к установке


  • Full Node Level A Delegate. Тех. вопросы, ответы.
  • TechnoL0gT TechnoL0g

    @crazy_miner необходимо открыть порт 6100


  • Вопросы от чайника
  • TechnoL0gT TechnoL0g

    @puaro1900 Синхронизируйте время на PC


  • Итоги 16/04/2018
  • TechnoL0gT TechnoL0g

    @patinity в настоящее время ведется работа/иссследования по созданию виртуальной машины (vm) выполнения контрактов.

    в качестве кандидатов языки: lua, node vm, c++ (ciyam) + пару эксзотических.

    нам необходим на входе простой для понимания разработчиков язык контрактов, к примеру в lua возможно в формате js записать контракт (в отличии от солидити более понятен людям) и на выходе получить выполняемый в vm байткод.

    Haskell достаточно тепизирован, что исключает лишние ошибки при создании контрактов и может выступать как один из кандидатов на реализацию виртуальной контрактной машины в SmartHoldem (это по вопросу использования в крипте).

    К примеру EOS используют WASM на clang, напоминает vm nodejs, который слегка не безопасен в стандартной реализации (мое субъективное мнение).


  • Добавлена документация API JS Wrapper
  • TechnoL0gT TechnoL0g

    API JS Wrapper это дополнительный слой API SmartHoldem

    добавлен в документацию https://api.smartholdem.io/#js-api-wrapper


  • Подпись сообщений с помощью ключа SmartHoldem
  • TechnoL0gT TechnoL0g

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

    К примеру при участии в ico вам может потребоваться подтверждение владения адресом, подпись контента в p2p сетях, авторство (в сочетании с хэшированием) или при авторизации на сайте поддерживающем API SmartHoldem. Либо при других операция где необходимо подтвердить владение адресом.

    Подписание сообщения:

    • откройте SmartHoldem приложение
    • выберите свой адрес > подпись сообщения
    • нажмите ПОДПИСЬ
    • укажите секретную фразу и сообщения
    • вы получите запись с подписанным сообщением
    • нажмите скопировать

    пример результата

    {"publickey":"03675c61dcc23eab75f9948c6510b54d34fced4a73d3c9f2132c76a29750e7a614","signature":"304402207d067ac09b1462289e43e701e43933580b195f40b643188e8e6330424db680de022027dff63053337a428cd8f04de675efb9aad57236c5acfad3c2b85ea7bf51efd3","message":"hello community"}

    Теперь возможно проверить действительность подписавшего сообщение:

    Проверка сообщения:

    • нажмите ПРОВЕРИТЬ
    • укажите открытый ключ, подпись и сообщение
    • появится сообщение о подтверждении подписи, если сообщение прошло проверку

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

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


  • Итоги 16/04/2018
  • TechnoL0gT TechnoL0g

    @xoz9in said in Итоги 16/04/2018:

    Не хватает реферальной сылки на кран что бы ребя раскидывали по всему интернету наш проект))) Это одна из самых действующих реклам))) Добавьте пожалуйста реферальную сылочку😋

    Уточнение: указавший свою уник ссылку получает часть монеты от реферала? или какое другое вознаграждение?


  • Итоги 16/04/2018
  • TechnoL0gT TechnoL0g

    Блок 1267623

    Версия кошелька SmartHoldem v1.0

    Много bug fix и технических доработок

    некоторые дополнения запланированы в ближайших версиях 1.0.1, 0.2 итд..

    SmartHoldem API Wrapper

    Дополнительный слой взаимодействия с API SmartHoldem
    https://github.com/smartholdem/sthjs-wrapper

    документация тут

    Скрипт SmartHoldem крана Alpha

    https://faucet.smartholdem.io/

    Говорили некотрое время назад о скрипте крана SmartHoldem,
    Как всегда весь код открыт на git
    Alpha версия тут
    Срипт представляет собой полноценное приложение взаимодействия с экосистемой SmartHoldem, возможно использовать как шаблон для других приложений и обучения работы с экосистемой.

    Содержит:

    • работу с базой данный mysql
    • конфигурирование с config.json
    • аналог задачника crontab
    • примечание к выплате
    • frontend собран с стандартным bootstrap + jquery
    • backend на nodejs с собственным api, роутерами, контроллерами итд
    • поддержка google recaptcha
    • настройка минимальной суммы для отправки
    • настройка комиссий
    • для лучшего взаимодействия с экосистемой SmartHoldem опубликован слой между API SmartHoldem и приложением API Wrapper, через него работает кран.

    Логика крана:

    • Каждые 30 минут, посетитель указывает свой адрес, подтверждает, что он не бот, жмет submit. В бд записывается транзакция на отправку 0.15 STH.
    • Для получения платежа посетителю необходимо набрать минимальную сумму 1 STH, (т.е. зайти на кран как минимум 2 раза 0.30 STH в alpha).
    • Автоматические платежи запланированы 1 раз в сутки для сокращения комиссий (в alpha 1 раз в час).

    Фонд крана невелик,т.к. для тестов

    Версия крана рабочая, но возможны баги.
    !Кран как и другие наработки никогда не были включены в дорожную карту, продолжая следовать правилу - мы просто делаем более возможного, не устанавливая сроков.

    Простой мониторинг сети

    Добавлен простейший мониторинг сети html+js на git

    Обновление API

    API SmartHoldem


  • Improved version of wallet v1.0.0
  • TechnoL0gT TechnoL0g

    0_1523646579162_sh_desktopwallet.jpg
    Work on the official SmartHoldem Wallet continues. With each release, the functionality of the wallet is getting better and more usability for users. In this update SmartHoldem Wallet added +10 000 new lines of code.

    New version of SmartHoldem Wallet 1.0.0 available https://github.com/smartholdem/smartholdem-wallet/releases

    • Added languages: Arabic, Korean, Serbian, Chinese (Taiwan), Japanese, Portuguese (Brazil).

    • Option - bind a purse to the trusted node ip.

    • Sending payment function with a message.

    • The experimental function of multi payments from a csv-file, up to 20 (the idea is taken from the old service webmoney - experimentally).

    • Customizable design of the user interface.

    • Management of networks and sidechains (experimentally, in progress).

    • Exporting Address Transactions to a File.

    • Updated version of electron to 1.8.4.

    • Updating the engine framework.

    • Fixed qr-code recognition (ntegration with uri apps is being developed SHIP-001).

    • The voting system is simplified (now it looks more convenient).

    • The function of recording into blockchain the second secret phrase to the address is added (use with caution, since after activation it is necessary to know 2 phrases).

    • The field for displaying a note in the table has been added to the transaction list.

    • The main Internet resources of the ecosystem have been added to the help menu.

    • Corrected shutdown screenshots work.

    • Improved application setup for windows (now a normal installer with a choice of installation path).

    • Update MacOs Installer.

    • Update Linux Installer.

    • More than minor 96 fixes.

    Additional functionality and decentralized applications are planned in the next versions.

    0_1523657632719_walletScreen.jpg


  • Простой пример отправки транзакции PHP Curl
  • TechnoL0gT TechnoL0g

    Простой пример отправки транзакции через PHP Curl с примечанием к платежу:

    !Важно отправлять данные на доверенную ноду, т.е. на вашу.

    <?php
    $url = 'http://node_ip:6100/api/transactions';
    $data = json_encode((object) array(
                "secret" => "секретная фраза адреса отправителя",
                "amount" => 10000000, //0.1 STH в Satoshi
                "recipientId" => "Sa9JKodiNeM7tbYjxwEhvvG1kBczhQxTN3", //адрес получателя
                "vendorField" => "any message" // опциональное поле 64 байт
            ));
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json', 'Content-Type: application/json'));
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    $response = curl_exec($ch);
    curl_close($ch);
    
    $result = json_decode($response, true); //convert to array
    print_r($result); //show result
    

    Результат выполнения при успехе примерно следующий:

    Array ( 
         [success] => 1 
         [transactionId] => 97fc4c43279a27e7c28a4058ce06219434a0b4f97e6bf5a12f9ebb41a739652a
    ) 
    

    *При использовании двух парольных фраз добавьте поле secondSecret

    Пример добавлен в документацию


  • Новая версия SmartHoldem Wallet 1.0.0
  • TechnoL0gT TechnoL0g

    @nrz самая важная функция в версии 1.0 примечание к платежу, таким образом мы упростили в N-раз прием платежей, без необходимости отслеживать тысячи адресов, т.е. любой новичек сможет организовать прием на своем ресурсе или в приложении, не говоря про биржи.

    Простейший пример добавлен в документацию API


  • Новая версия SmartHoldem Wallet 1.0.0
  • TechnoL0gT TechnoL0g

    @ozik Друзья для гурманов добавлена unpacked/portable версия под win64 тут

    результат проверки неупакованного файла


  • Новая версия SmartHoldem Wallet 1.0.0
  • TechnoL0gT TechnoL0g

    @ozik да это простой упаковщик. Когда новый антивирус с малой базой не понимает что это - по умолчанию прописывают разное.

    Вижу https://www.virustotal.com/#/file/35be707c97a6008a03e48242f35566351142454a4890dddc6b3492a07f1c903f/detection

    bkav ругается, странный сервис, вероятно из новых, скорее всего с сигнатурами ребята намудрили.

    В одной из версий была проблема с авастом, так мы с ними связались и все разрешилось.

    Эта проблема была у gamenet https://forums.comodo.com/av-false-positivenegative-detection-reporting-b154.0/-t112601.0.html с комодо. Свяжемся с этим странным сервисом bkav.

  • 1
  • 2
  • 5
  • 6
  • 7
  • 8
  • 9
  • 13
  • 14
  • 7 / 14
  • Login

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search