Bitcoin Forum
April 24, 2024, 01:05:29 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Poll
Question: Is this important to you?
Not important - 9 (30%)
Nice to have - 9 (30%)
Important! - 12 (40%)
Total Voters: 30

Pages: [1]
  Print  
Author Topic: Deterministic/verified _secure_ Mac Bitcoin-Qt builds  (Read 2774 times)
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
May 26, 2012, 08:47:51 AM
Last edit: May 26, 2012, 05:02:50 PM by Luke-Jr
 #1

Background:
Currently, before a new release of Bitcoin-Qt is published to SourceForge, it must be compiled by 3 different people who verify that they have produced the same exact binaries. This is done to protect against a variety of attack vectors: a single builder could include a trojan or backdoor into their binaries. No matter how much this person is trusted, their ability puts them at risk of being forced (eg, by gunpoint or legal action) to do so, or potential to do so accidentally (eg, if their build system is infected itself). Additionally, there is one person to impersonate or man-in-the-middle-attack, and the chance (5-10% in a person's lifetime, according to a quick Google) the person may begin to go insane. It also leaves open a question to the masses should that person die, of whether his successor is just as trustworthy.

However, right now, these thrice-verified builds are only possible for Linux and Windows using the Gitian framework. So far, Gavin has been personally responsible for the Mac OS X binaries, and he (and the community) incurs all the risks above as a result.

My proposal:
I have succeeded in building bitcoind (the JSON-RPC server) for Mac OS X under Gitian, and verified that this build is deterministic (able to be compared with others' builds). In addition to the cross-compiler and dependencies of bitcoind, I have also succeeded in building the dependencies required for Bitcoin-Qt under Gitian - except for Nokia Qt itself. To build Qt, I need to go back to the cross-compiler and figure out how to get the Objective-C compiler working. Then I will need to configure Qt for cross-compiling using it, and ensure the output is deterministic enough to produce a deterministic Bitcoin-Qt build based on it. This is going to be a lot more work, especially since nobody seems to have ever cross-compiled Qt for Mac OS X before.

Therefore, I am asking for donations to help fund completing this effort: 1D8jkYpkcJUQ6BJzjAATAEBjHdgVhvisAV

P.S. My work thus far on this specific project is all published in these Gitorious repositories.

1713963929
Hero Member
*
Offline Offline

Posts: 1713963929

View Profile Personal Message (Offline)

Ignore
1713963929
Reply with quote  #2

1713963929
Report to moderator
Activity + Trust + Earned Merit == The Most Recognized Users on Bitcointalk
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1713963929
Hero Member
*
Offline Offline

Posts: 1713963929

View Profile Personal Message (Offline)

Ignore
1713963929
Reply with quote  #2

1713963929
Report to moderator
1713963929
Hero Member
*
Offline Offline

Posts: 1713963929

View Profile Personal Message (Offline)

Ignore
1713963929
Reply with quote  #2

1713963929
Report to moderator
Red Emerald
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500



View Profile WWW
May 29, 2012, 07:23:13 AM
 #2

Good luck!

Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
May 30, 2012, 07:59:03 PM
 #3

bump

danieldaniel
Hero Member
*****
Offline Offline

Activity: 854
Merit: 1000


View Profile
June 04, 2012, 08:33:39 PM
 #4

"[...] and the chance (5-10% in a person's lifetime, according to a quick Google) the person may begin to go insane. It also leaves open a question to the masses should that person die, of whether his successor is just as trustworthy."
>5-10% in a person's lifetime
Oh crap!  That explains a lot.

Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
June 04, 2012, 08:36:21 PM
 #5

FWIW, my bitcoind build is confirmed to work on 10.5 (Leopard), 10.6, and 10.7 (Lion)

ErebusBat
Hero Member
*****
Offline Offline

Activity: 560
Merit: 500

I am the one who knocks


View Profile
June 04, 2012, 08:48:07 PM
 #6

luke-jr:  Would this include a secure build of Armory?  It is very hit or miss as to weather or not it will build on OSX.

Also it might be helpful to include a thermometer so potential donors are aware of where we sit.

░▒▓█ Coinroll.it - 1% House Edge Dice Game █▓▒░ • Coinroll Thread • *FREE* 100 BTC Raffle

Signup for CEX.io BitFury exchange and get GHS Instantly!  Don't wait for shipping, mine NOW!
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
June 04, 2012, 08:50:17 PM
 #7

luke-jr:  Would this include a secure build of Armory?  It is very hit or miss as to weather or not it will build on OSX.
I wasn't planning on it (until your post, I thought Armory was Python and didn't have anything to build!), but maybe once Bitcoin-Qt is done I can look into it. Note that gitian itself only runs on Ubuntu, though - that is, this won't help building on Mac itself, just producing binaries that run on Mac.

Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
June 15, 2012, 03:03:56 AM
 #8

I just released bitcoind 0.5.6rc2 for Mac OS X using what I developed here so far, if anyone wants to try it out...

Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
June 19, 2012, 12:00:03 AM
 #9

A lot of interest (well, over 2/3 anyhow), but not so much willing to donate to the cause Sad

In the meantime, bitcoind 0.5.6rc2 seems to be working good, so I've documented the process as a pullrequest for upstream.

Pages: [1]
  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!