Bitcoin Forum
December 06, 2016, 08:17:05 AM *
News: To be able to use the next phase of the beta forum software, please ensure that your email address is correct/functional.
 
   Home   Help Search Donate Login Register  
Pages: « 1 [2]  All
  Print  
Author Topic: О "тонких" клиентах  (Read 3655 times)
rPman
Legendary
*
Offline Offline

Activity: 1078


View Profile WWW
June 17, 2012, 04:17:36 PM
 #21

Тогда этот клиент получается не очень-то и "тонким"...
O_o
electrum\lib\wallet.py ~ 40кб (и там мне кажется много лишнего)
И не нужно хранить и проверять базу blockchain

В крайнем случае формирование транзакции можно взять из любых других альтернативных клиентов, может быть отдельно кто уже писал в виде утилиты. да хотя бы выцепить из C++ кода bitcoin.

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

Здесь не может находиться ваша реклама Smiley
Protect a future of bitcoin, use p2pool
Donation in BTC: 19fv5yYtfWZ9jQNjx2ncmu1TTrvg5CczZe
1481012225
Hero Member
*
Offline Offline

Posts: 1481012225

View Profile Personal Message (Offline)

Ignore
1481012225
Reply with quote  #2

1481012225
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1481012225
Hero Member
*
Offline Offline

Posts: 1481012225

View Profile Personal Message (Offline)

Ignore
1481012225
Reply with quote  #2

1481012225
Report to moderator
1481012225
Hero Member
*
Offline Offline

Posts: 1481012225

View Profile Personal Message (Offline)

Ignore
1481012225
Reply with quote  #2

1481012225
Report to moderator
1481012225
Hero Member
*
Offline Offline

Posts: 1481012225

View Profile Personal Message (Offline)

Ignore
1481012225
Reply with quote  #2

1481012225
Report to moderator
ArsenShnurkov
Legendary
*
Offline Offline

Activity: 1386



View Profile
June 17, 2012, 04:26:40 PM
 #22

Тогда этот клиент получается не очень-то и "тонким"...

При правильно настроенном кешировании скриптов это не-очень-то и важно...
m0Ray
Sr. Member
****
Offline Offline

Activity: 364



View Profile
June 17, 2012, 04:30:23 PM
 #23

Тогда этот клиент получается не очень-то и "тонким"...
O_o
electrum\lib\wallet.py ~ 40кб (и там мне кажется много лишнего)
И не нужно хранить и проверять базу blockchain
А сам интерпретатор питона сколько весит?

В крайнем случае формирование транзакции можно взять из любых других альтернативных клиентов, может быть отдельно кто уже писал в виде утилиты. да хотя бы выцепить из C++ кода bitcoin.
... и написать на JavaScript... Бедный браузер на слабеньком мобильном процессоре, он же повесится!

Львиная доля кодинга в таком клиенте - это алгоритм выяснения, нужно ли действительно генерировать транзакцию (вы ведь должны какой то механизм предусмотреть, иначе если напрямую слать команды от веб-сервера на ваш секретный сервер, то ничем это не будет отличаться от 'обычный кошелек на сервере', просто взломщику придется чуть подольше покопаться с вашим кодом), - это всякие проверки на взломы, контроль итогового баланса, аномальные транзакции и т.п.
Обычный кошелёк на сервере. Под логином и паролем, которые передаются по защищённому каналу (HTTPS). Чем плохо?

IT-услуги широкого профиля за биткойн.
V for Vendetta, not for «vvhite ribbon»
rPman
Legendary
*
Offline Offline

Activity: 1078


View Profile WWW
June 17, 2012, 05:00:19 PM
 #24

А сам интерпретатор питона сколько весит?
Это настолько фигня мелкая, что недостойна даже упоминания. Питон сейчас можно запустить почти на всем что питается электричеством... если не понятно, даже на 8-битных avr-ках запускают (понятно что именно это извращение но как пример). Не нравится python, возьмите реализацию из клиента на C++, будет быстро и компактно.

В крайнем случае формирование транзакции можно взять из любых других альтернативных клиентов, может быть отдельно кто уже писал в виде утилиты. да хотя бы выцепить из C++ кода bitcoin.
... и написать на JavaScript... Бедный браузер на слабеньком мобильном процессоре, он же повесится!
С фига ли повесится? Всего то подписать транзакцию своим ключом, к тому же на это можно и время потратить, секунды - не проблема (конечно если у вас проект, который в секунду десятки исходящих транзакций требует - вы можете подумать о чем то более производительном)

Львиная доля кодинга в таком клиенте - это алгоритм выяснения, нужно ли действительно генерировать транзакцию (вы ведь должны какой то механизм предусмотреть, иначе если напрямую слать команды от веб-сервера на ваш секретный сервер, то ничем это не будет отличаться от 'обычный кошелек на сервере', просто взломщику придется чуть подольше покопаться с вашим кодом), - это всякие проверки на взломы, контроль итогового баланса, аномальные транзакции и т.п.
Обычный кошелёк на сервере. Под логином и паролем, которые передаются по защищённому каналу (HTTPS). Чем плохо?
Значит не понял!

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

Лучше разделить весь сервис на две составляющие:
1. Обычная серверная - обрабатывает всю логику, интерфейс пользователя (веб) и т.п. - тяжелый, требует ресурсы и много кода, тут запущен и обычный bitcoind исключительно для анализа входящих транзакций.
2. Небольшая, секретная, управляющая исходящими транзакциями.

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

Главный се6рвер может даже не иметь возможности переслать любые деньги на адрес, пусть он оперирует терминами своего сервиса - 'вывести с депозита пользователя XXX сумму YYY' и уже злоумышленник не сможет украсть все средства сервиса одной транзакцией.

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

Здесь не может находиться ваша реклама Smiley
Protect a future of bitcoin, use p2pool
Donation in BTC: 19fv5yYtfWZ9jQNjx2ncmu1TTrvg5CczZe
m0Ray
Sr. Member
****
Offline Offline

Activity: 364



View Profile
June 17, 2012, 05:26:56 PM
 #25

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

IT-услуги широкого профиля за биткойн.
V for Vendetta, not for «vvhite ribbon»
rPman
Legendary
*
Offline Offline

Activity: 1078


View Profile WWW
June 17, 2012, 06:54:00 PM
 #26

Для ЭТОГО случая я уже сказал.. Electrum готовое решение, работает на python, запускается и на Android (а это железо от 100$ с экраном), хотя да его нужно причесать, инсталятор под Android, и по мелочи...

Здесь не может находиться ваша реклама Smiley
Protect a future of bitcoin, use p2pool
Donation in BTC: 19fv5yYtfWZ9jQNjx2ncmu1TTrvg5CczZe
m0Ray
Sr. Member
****
Offline Offline

Activity: 364



View Profile
June 17, 2012, 07:19:52 PM
 #27

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

IT-услуги широкого профиля за биткойн.
V for Vendetta, not for «vvhite ribbon»
LZ
Moderator
Legendary
*
Offline Offline

Activity: 1456


Satoshi everywhere!


View Profile WWW
June 17, 2012, 08:05:54 PM
 #28

А вот и не подеретесь! Больше клиентов хороших и разных! Wink

"Never invest unless you can afford to lose your entire investment." © S3052
mad
Newbie
*
Offline Offline

Activity: 19


View Profile
June 17, 2012, 11:09:09 PM
 #29

Обязательно посмотри это http://bitcoinjs.org/
m0Ray
Sr. Member
****
Offline Offline

Activity: 364



View Profile
June 18, 2012, 12:25:30 AM
 #30

Видел.

IT-услуги широкого профиля за биткойн.
V for Vendetta, not for «vvhite ribbon»
tenzor
Sr. Member
****
Offline Offline

Activity: 316


View Profile
June 18, 2012, 12:30:41 AM
 #31

Я что-то не понимаю проблему.
Откуда тонкий клиент будет брать все необходимые для работы js-ки?
m0Ray
Sr. Member
****
Offline Offline

Activity: 364



View Profile
June 18, 2012, 12:49:02 AM
 #32

Откуда тонкий клиент будет брать все необходимые для работы js-ки?
Хоть с локального диска. В идеале - с микровебсервера, встроенного в узловое ПО, тогда не надо будет заморачиваться с обновлениями клиентской части.

IT-услуги широкого профиля за биткойн.
V for Vendetta, not for «vvhite ribbon»
xyu
Full Member
***
Offline Offline

Activity: 184



View Profile
June 19, 2012, 06:44:58 AM
 #33

В публичной альфе есть еще http://safeb.it/ - без всякого сервера, просто приложение для хрома, незнаю, работает ли он вообще.
А вообще, как многие уже тут высказались, было бы интереснее сделать на джаваскрипте генерацию ключей и подписку транзакций, а на сервер возложить лишь работу по распространению этих транзакций, вот это было бы круто.
Lis
Sr. Member
****
Offline Offline

Activity: 303


Spice must flow!


View Profile
July 19, 2012, 12:22:54 PM
 #34

Тогда этот клиент получается не очень-то и "тонким"...
А если команды "домашнему" кошельку слать через xmpp? Защита по jid получается. На крайний случай к некоторым командам можно пароль прикрутить.

You would like to thank?
btc: 14tAPpwzrfZqBeFVvfBZHiBdByYhsoFofn
Andrew Vorobyov
Hero Member
*****
Offline Offline

Activity: 565



View Profile
July 24, 2012, 05:01:08 PM
 #35

Обязательно посмотри это http://bitcoinjs.org/

Я предлагаю сделать клиента на этот сервер. Через пару лет будут разные скины, модули и т.д... Только не C++

Pages: « 1 [2]  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!