Search content
Sort by

Showing 13 of 13 results by storr
Post
Topic
Board Development & Technical Discussion
Re: What would it take to make a 51% attack on the whole bitcoin network?
by
storr
on 18/09/2011, 15:49:44 UTC
Not agree. Idea isn't in just adding memory requirements to the POW but making the POW seriously memory-constrained. Say 1 POW needs 1 million sequential computations and 32M of RAM at a whole for each computation and that 32M can't be shared between POWs because there are different data. So the only way to implement such POW in ASIC is to add 32M of RAM to the chip wasting its area and dramatically increasing its cost and reducing its efficiency. And you can't make 32M of on-ASIC RAM cheaper than 32M of DDR module RAM.

1) OK, it is usefull to make ASIC less effective. But it is not enough. At least, they can use 20,000-40,000 GPUs to make the 51% attack. We need one more solution for this case.

2) What new POW do you suggest? Your scheme with N=32M/32=1M ? IMHO, it is not good because calculation of 2^20 sha256 is too time-consuming. Each node (not only miners) needs to calculate POW each time when recieves a new block. Do you have another one idea? We can remember results of intermediate steps 0,8,16,24,32,40,48,63 of sha256 calculation, for example. It is 8 times more information,
but 2^17 calculations of sha256 is very time-consuming too.

Bad idea. No one can prevent me from making millions of nodes each of which trusts to each other. Newly connected nodes have to trust my malicious sub-network with high probability only because of its size.
If you propose to dedicate one bootstrap node and make it trusted by default (hard-coding certificate into client for example) you just invent PKI in its traditional form and that trusted-by-default node would become a central authority and would perform central-bank like functions. That's not we're all want to happen with Bitcoin.

Yes, if we will make "net of trust", then an attacker with more then 50% of computational power can create "alternative reality" in bitcoin, i mean alternative block chain, that will begin with the same generic block but then diverses with the "real" block chain. In fact, in this case can exist more then two block chains. And for a node that connects to the net, there will be impossible understand wich of them to connect and belief. IMHO, this problem can be solved only by out-of-bitcoin methods. All sites that work with bitcoin may\have to publish in what reality\block chain they work. I belief that they can detect which block chain is real. And usual users will check from time to time that they live in the same reality. It is not excellent, but I don't see any better solution. At least, by this approach it is possible to eliminate other problems of 50%+ attack:

Reverse transactions that the atacker sends while he's in control
Prevent some or all transactions from gaining any confirmations
Prevent some or all other generators from getting any generations
Post
Topic
Board Development & Technical Discussion
Re: What would it take to make a 51% attack on the whole bitcoin network?
by
storr
on 16/09/2011, 21:16:24 UTC
I worked for 5 years for a company that creates ASIC chips, and I understand the process well enough. My estimation is that it is possible to create such an ASIC that will feed the same power as Radeon 5870 (for example), and calculate 20-100 times more hashes. It is not surprising because the chip is special-purpose, and GPU is universal. I suppose that it is possible to create such an ASIC in 6-12 months. The power of network now is approximately 12 Thash, that is equivalent to ~ 20000-40000 GPUs. That means that 2000 such chips would be enough to attain more than 50% of the computing power. I think, the cost of creating such a number of chips is approximately 5 million dollars. Indeed, the major part of this money would be spent on designing the chip, not on manufacture. Therefore, to create 10,000 chips like this, one would need approximately 10 million dollars. And 10,000 chips is 80% of the nets computing power.

So, I think that ASIC is the most possible way to accomplish 51% attack.

What can we invent to prevent net destruction? I have thought about it but I have not found any decision. IMHO, change POW method is useful only for the first time, because we can change our miners quickly, but it is not possible to change an ASIC chip. They would need to make another one (+3-6 months). Adding memory requirements in POW method is good idea, but it changes not much. Let us say, not 10 but 20 million dollars per 80% of the nets computing power.

I think the better way to find the decision is to think about changing a way of cooperation of nodes. For example it is possible to create a system of trust between nodes. If one node makes some suspicious actions (destributes a new block that not contains a majority part of transactions or new block chain that removes the last 10 blocks), its "rank" decreases. If a node destribute good information, its "rank" increased. Information from nodes with too low "rank" is skipped. Its only a raw idea, I know. I just want to show the direction of how else it could be.

Anyway, what we can do just now (except finding decision) is to recognize the problem. And change in wiki the status of this vulnerability from "Probably not a problem" to "Might be a problem".
What do you think?


Post
Topic
Board Разное
Topic OP
Хочу сделать свой клиент видимым из сети.
by
storr
on 07/08/2011, 21:18:54 UTC

Всем привет.

Я тут на досуге решил немного помочь биткоину.
Хочу сделать так, чтобы к моему клиенту могли коннектиться другие клиенты и скачивать информацию о блоках и всем прочем.
Сейчас покачто эта информация идет только в мою сторону.

Вот думаю, как бы мне это сделать, с учетом того что сижу я за провайдером и белого IP у меня нет.
Чтобы "открыть" порты попробую воспользоваться услугами http://www.no-ip.com/

Но вот не знаю:
1) А как сказать клиенту свой IP? Сомневаюсь что он сумеет вычислить его автоматически правильно.
2) А как определить, что другие клиенты ко мне коннектятся и скачивают информацию?
Post
Topic
Board Development & Technical Discussion
Re: Compiling with Visual Studio
by
storr
on 01/07/2011, 10:35:46 UTC
Thank you, EricJ2190.

I tried to build with your makefile and achieved success.
Post
Topic
Board Development & Technical Discussion
Re: Compiling with Visual Studio
by
storr
on 30/06/2011, 21:04:59 UTC
If you haven't done so, you need to edit your makefile to make sure it's INCLUDEPATHS and LIBPATHS point to the proper directory of your libraries.

If that isn't it, can you post the error?

After launch Bitcoin.exe throws an Access violation exception in function _initterm_e. It even not enters in WinMain function.
Also Dependency Walker sais "Error processing the module's imports table".

This is my parameters of compilation:
cl /MDd /c /nologo /EHsc /GR /Zm300 /Zi /Os /D_DEBUG /DWIN32 /D__WXMSW__ /D_WINDOWS /DNOPCH /DUSE_UPNP /I"../../boost_1_43_0"  /I"../../db-4.7.25.NC/build_windows"  /I"../../openssl-1.0.0d/include"  /I"../../wxwidgets-2.9.1/lib/vc_lib/mswud"  /I"../../wxwidgets-2.9.1/include"  /I"../../upnpc-exe-win32-20110215" /DGUI /Foobj\util.obj util.cpp util.cpp

This is my parameters of linking:
link /nologo /SUBSYSTEM:WINDOWS /DEBUG /OUT:bitcoin.exe /LIBPATH:"../../boost_1_43_0/stage/lib"  /LIBPATH:"../../db-4.7.25.NC/build_windows/Debug"  /LIBPATH:"../../openssl-1.0.0d/out32dll"  /LIBPATH:"../../wxwidgets-2.9.1/lib/vc_lib" obj\util.obj obj\script.obj obj\db.obj obj\net.obj obj\irc.obj obj\main.obj obj\rpc.obj obj\init.obj cryptopp\obj\sha.obj cryptopp\obj\cpu.obj obj\ui.obj obj\uibase.obj obj\ui.res wxmsw29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib libboost_system-vc100-mt-gd.lib  libboost_filesystem-vc100-mt-gd.lib  libboost_program_options-vc100-mt-gd.lib  libboost_thread-vc100-mt-gd.lib  libdb47d.lib  libeay32.lib  "../../upnpc-exe-win32-20110215/miniupnpc.lib"  kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib ws2_32.lib shlwapi.lib
 
Could you show your parameters of compilation\linking?
Post
Topic
Board Development & Technical Discussion
Compiling with Visual Studio
by
storr
on 30/06/2011, 12:02:17 UTC
Hi all!

I am trying to build bitcoin with VC2010 Express. It compiles but doesn't work.
I think the problem is in inconsistency between compilation/linking keys of libraries and bitcoin.

As far as I understand, there are many guys here who builds bitcoin with some version
of Visual Studio. Could you help me, please? I want to build buitcoin with any Visual Studio version.
Could you share your project file and tell how you build libraries?
Or maybe there is a ready link for this?

I build libraries in this way:

cd wxWidgets-2.9.1\build\msw
nmake -f makefile.vc

cd openssl-1.0.0d
perl Configure VC-WIN32 no-asm
ms\do_ms
nmake -f ms\ntdll.mak

db-4.7.25.NC\build_windows\Berkeley_DB.dsw

cd boost-1.43.0
bootstrap (makes bjam)
bjam toolset=msvc-10.0 threading=multi --build-type=complete stage

Get upnpc-exe-win32-20110215.zip and unzip it to \upnpc-exe-win32-20110215
Get miniupnpc-1.5.20110215.tar.gz and copy *.h to \upnpc-exe-win32-20110215\miniupnpc

Thanks!
Post
Topic
Board Development & Technical Discussion
Re: Deterministic wallets
by
storr
on 26/06/2011, 23:14:04 UTC
Am I right that if use seed encryption, then the same  large random seed  S can be used by backup many wallets simultaneosly? One wallet for each password.
Post
Topic
Board Development & Technical Discussion
Sources talks
by
storr
on 24/06/2011, 14:40:15 UTC

Hi all!

I wonder where developers discuss about particularities of sources of original Bitcoin client?
I have some questions about sources, but I don't know where to ask them.
This forum seemed too high-level for such questions, IMHO.
Is there any place special for this?

Post
Topic
Board Разное
BitDollar кто-нибудь пробовал?
by
storr
on 20/06/2011, 06:23:28 UTC

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

Кто-нибудь пробовал? Какие отзывы?
Post
Topic
Board Новички
Re: Проблемы с Mt. Gox
by
storr
on 19/06/2011, 21:20:02 UTC
Ничего себе!

И как там люди, которые тысячами BTC торгуют?
Так и выводят, по 70 в сутки?

Как-то по-лохотронски. Ввести можешь скока хочешь, а выводить - по децелу.
Я бы ещё понял такое ограничение когда BTC шёл по 10 центов. Но сейчас ...
Post
Topic
Board Разное
Re: bitlaundry.appspot.com не возвращает деньги
by
storr
on 18/06/2011, 05:34:19 UTC
Hi, Mike.

I began to collect additional information for you and just in case launched bitcoin -rescan.
All money that had lost was found with it. I have to make this check earlier.

I am very sorry to disturb you.

Regards,
Petr

Мой клиент какое-то время был включен с другим кошельком, и от этого "прозевал"
некоторые транзакции с тем кошельком, на который я переводил деньги из  bitlaundry.appspot.com
Когда я начал собирать дополнительную информацию об операции, на всякий случай запустил
bitcoin -rescan, который и нашел мои денежки. Очень сожалею, что не догадался сделать этого раньше,
и приношу свои извинения Майку за это недоразумение.

Инцидент исчерпан.

P.S. Пользуйтесь bitcoin -rescan, когда деньги не доходят!
Post
Topic
Board Новички
Проблемы с Mt. Gox
by
storr
on 17/06/2011, 21:03:04 UTC
Пытаюсь вывести BTC с Mt.Gox-а, а он мне пишет:

Your request was over the maximum authorized per day. Please ask for a larger daily limit in BTC/day and include your account user name at btcupd@mtgox.com to increase your limit.

При этом удалось снять всего 70 BTC.

У кого-нибудь уже такое было?
Что за фигня, где на их сайте написано о таких ограничениях?
 
Post
Topic
Board Разное
bitlaundry.appspot.com не возвращает деньги
by
storr
on 17/06/2011, 18:34:09 UTC
Заложил туда немного чтобы почистить.
Должны были вернуть около 16, вернули только 9.

На сайте написано:
Closed for maintenance. We'll be back in a day or so. Existing payments will continue to go out.

Я так понимаю, что под этим лозунгом пропали мои денежки.
К счастью немного, но все равно неприятно.

Кто-нибудь в курсе, что там происходит?