Bitcoin Forum
June 16, 2024, 08:30:57 PM *
News: Voting for pizza day contest
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 [4]  All
  Print  
Author Topic: Доработка официального клиента.  (Read 6971 times)
rastapool
Sr. Member
****
Offline Offline

Activity: 423
Merit: 250



View Profile
September 07, 2012, 11:40:31 AM
 #61

Quote
Цепочка должна быть достоверна
У 100% майнеров, да. Но что плохого может произойти, если пользователь использует лёгкий клиент и подключился к серверу на котором недостоверная цепочка? Он потеряет свои деньги? Нет, на сколько я знаю это невозможно таким путём. Его транзакция не подтвердится? Да, майнеры её не подтвердят, и он не сможет потратить свои деньги. Но всё что ему нужно будет сделать, это подключиться к другому серверу с достоверной цепочкой. А посмотреть дошли ли до тебя деньги можно в онлайне на каком-либо сервисе который держит у себя полную цепочку, их уже несколько, а будет ещё больше.
Quote
Придумаете алгоритм
Я не до конца понимаю как это всё сейчас работает, поэтому и спрашиваю. Но по тому представлению которое я имею, я не вижу проблемы в лёгких клиентах.
Quote
можно создавать "банки"
И это будет, но даже это не станет той централизацией которая сможет навредить Биткоину.
Единственное что важно, это децентрализация тех кто составляет блоки, остальное не есть проблемой.

The parasite hates three things: free markets, free will, and free men.
Napster is down - this is the END of illegal file sharing!
nLockTime
Member
**
Offline Offline

Activity: 167
Merit: 10



View Profile
September 07, 2012, 12:21:20 PM
 #62

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

Придумаете алгоритм, который позволит без критичных допущений реализовать функционал
Проще простого — можно зашить в клиент контрольные суммы всех блоков, кстати и загружать их можно будет без дополнительных проверок. А проблему инициализации БД в любом случае нужно решать либо выделенными серверами, либо путем распараллеливания загрузки блоков...
ShadowAlexey
Donator
Legendary
*
Offline Offline

Activity: 968
Merit: 1002



View Profile
September 07, 2012, 01:23:29 PM
 #63

Придумаете алгоритм, который позволит без критичных допущений реализовать функционал
Проще простого — можно зашить в клиент контрольные суммы всех блоков, кстати и загружать их можно будет без дополнительных проверок. А проблему инициализации БД в любом случае нужно решать либо выделенными серверами, либо путем распараллеливания загрузки блоков...
Т.е. а с чего вы взяли что стоит доверять данным, которые были забиты кем то?  Ведь легко можно пропатчить клиент... И где получать эти самые данные для проверки их корректности в клиенте?
Вы не с той стороны смотрите на проблему, кто будет решать какому серверу доверять? А если его ломанут?
nLockTime
Member
**
Offline Offline

Activity: 167
Merit: 10



View Profile
September 07, 2012, 02:50:58 PM
 #64

Т.е. а с чего вы взяли что стоит доверять данным, которые были забиты кем то?  Ведь легко можно пропатчить клиент...
Ну так его в любом случае можно пропатчить — "официальные" сборки выкладываются с контрольными суммами для проверки

И где получать эти самые данные для проверки их корректности в клиенте?
Сами данные это по сути сокращенная БД для тонкого клиента, которая содержит только хэши блоков, но распространять ее, конечно, лучше в двоичном виде, и соответственно проверять на корректность также можно с помощью контрольной суммы

кто будет решать какому серверу доверять?
А чего ему доверять, если он только выдает блоки по запросу клиентов... Ну да, может не найти то что на самом деле в базе есть, или даже подсунуть какой-нибудь orphan-блок с недействительной транзакцией. Но какая выгода самому сервису от этого? Даже в текущей реализации (без сокращенной БД) тонкие клиенты могут подгружать дополнительные 6 блоков впереди и проверять их proof-of-work
elbrus (OP)
Member
**
Offline Offline

Activity: 84
Merit: 10



View Profile
September 07, 2012, 07:09:53 PM
Last edit: September 07, 2012, 08:14:13 PM by elbrus
 #65

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

Неважно будет чей коммит. Достаточно найти противоречие с вашим заявлением. И все.

Сейчас уже понятны лишь две вещи:
1) вам в модераторы никак нельзя (из-за ваших манер);
2) инженер из вас так себе (пока это очевидно мне; не уверен что всем);
3) время нас рассудит.
1) у кого что болит, да и не вам это решать при всем возможном уважении;
Вопросов нет не мне решать. Есть люди (здесь на форуме) достойнее вас. Вы - годитесь в седнего юзера (а-ля penek, ukigo, ...) но не более.

2) вам нужно перезарядить хрустальный шар, к тому же профайлинг - это первое, о чем должен вспоминать нормальный инженер;
Z-z-z-z...

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

Ну а дальше я пока воздержусь от комментариев. Сейчас я лишь часть прокомментировал, оставив "самое вкусное" на потом. Но я вам обещаю прокомментировать все остальное. Время еще не подошло.

Разговор еще не закончен.

Чтобы не плодить субтреды в это теме, я здесь подготовил сюрприз: https://bitcointalk.org/index.php?topic=106453.0. Всех приглашаю к рассмотрению моего предложения. Любая конструктивная критика приветствуется.
LiveFree
Newbie
*
Offline Offline

Activity: 38
Merit: 0


View Profile
September 08, 2012, 02:54:37 PM
 #66

Почему не сделать все гораздо проще. Пусть Гевин выкладывает на основном сайте два дистрибутива. Маленький и большой. Маленький, как сейчас. Большой - это маленький + вся цепочка блока в момент создания дистрибутива.
Tengo
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
October 07, 2012, 02:48:23 PM
Last edit: October 07, 2012, 03:06:39 PM by Tengo
 #67

Electrum использует серверы для хранения блоков, как здесь обсуждалось.
MultiBit не использует серверы, но и не требует загрузки полной цепочки для полноценной работы.
Возможность создания тонких P2P-клиентов была заложена в Bitcoin. Это – Merkle tree. Для проверки proof of work достаточно загрузить лишь заголовки блоков. Для проверки факта вхождения транзакции в блок нужен заголовок блока и несколько хешей. Если считать, что в цепочке нет неправильных блоков, то транзакции несложно проверять, даже не имея всех данных.
Tengo
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
October 31, 2012, 12:15:28 AM
 #68

Electrum может проверять транзакции по заголовкам блоков.
https://github.com/spesmilo/electrum/blob/master/lib/verifier.py
Pages: « 1 2 3 [4]  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!