Bitcoin Forum
June 22, 2024, 04:21:25 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 [2]
21  Bitcoin / Bitcoin Discussion / Re: BitDNS and Generalizing Bitcoin on: January 31, 2011, 08:39:25 AM

3. The upkeep of the BitDNS network should be paid for either by every domain name owner paying a sort of rent to miners that produce BitDNS blocks, or through DNS transaction fees. Whenever a BitDNS transaction occurs, the recipient will be required to supply a Bitcoin address. Each miner on the BitDNS network will set a block solving fee they feel comfortable with. When a miner works on solving a BitDNS block, he will check the main bitcoin network to verify that domain owners have paid sufficient rent or transaction fees to miners of previous blocks. Any domains that have not paid, the miner will be entitled to make themselves owners of it.


Rents should be due at specific bitcoin block #s so that any temporary forks on the bitcoin chain won't result in permanent forks on the BitDNS chain.  Once all miners see the same rent payment / non-payment at the said bitcoin block #, the fork will heal by global acceptance or rejection of the take-over block.  Might even want to have a "look-back" of a few hours in the bitcoin chain to eliminate this source of instability.
22  Bitcoin / Development & Technical Discussion / Re: [RFC] Trusted build process on: January 30, 2011, 11:57:03 PM
I have an initial implementation of the VM based build process.

The code is here: https://github.com/devrandom/gitian-builder

You will also need a build descriptor file, which is here: https://gist.github.com/803438 .  The file wxWidgets-2.9.1.tar.bz2 goes in the ./inputs directory.

This builds a 64 bit executable with an sha256sum of 53c586ca76d6548a722c11ab3e51936d2bc185d60cd7234314896aa0c1ae5d1e.  Let me know if you get anything different.  My host is Ubuntu Maverick, but this should not matter to the result.  The environment report is captured in the result directory.

Still to do:

* Generate a tar.gz file instead of just an executable.  This will require fixing the timestamps and compiling for 32 and 64 bits.
* Pin the deb package versions so that future upgrades to the target OS don't cause changes to the result.
23  Bitcoin / Development & Technical Discussion / Re: [RFC] Trusted build process on: January 26, 2011, 05:49:39 PM
The Linux distributions have a maintainers who are preparing to build sources. If you 'aptitude source package-name' a source package and compile it after checking src signature by yourself it's safe enough.

There is, however, the probability of a "third level" trojan , which can not be detected if has not been investigated source of bitcoin and source of compiler, but it is too high level matter and is can not resolved at this level of abstraction.

The threat model that I think we could target here is a compromise of the build process, either by the builder or by a third party attacking their build environment.  An assertion from multiple builders that [source checksum, build script, build environment checksum] produces [executable checksum] gives high assurance that no such compromise occurred.

I'm going to spend some time on this for the linux environment in the next few days.
24  Bitcoin / Development & Technical Discussion / Re: [RFC] Trusted build process on: January 25, 2011, 08:54:25 PM
Just to list potential sources of non-determinism that I know of when building on linux:

  • zip/gzip (timestamps)
  • tar (timestamps)
  • dependencies (libraries, headers)
  • compilers
  • things I am forgetting right now Wink

For other platforms there might be additional sources.  For things like zip/gzip/tar, it would be best to have a fixup tool that sets the timestamps to an agreed value.  For dependencies and compilers, we need a reference build platoform, such as a VM build script.

In the future, it would be good to build an entire distribution from scratch and then use that as a trusted base.
As the bitcoin economy grows, there may come a time when that makes sense, but I think it's a while in the future still.

My initiative (mentioned above) is for software distribution as a whole.  For that, it would be good to based all software distribution on multiple code signers.  For bitcoin itself, I agree that it's not yet appropriate, since there are easier attack vectors at this point.
25  Bitcoin / Development & Technical Discussion / Re: [RFC] Trusted build process on: January 25, 2011, 08:29:31 PM
The build environment can be specified as a VM build script.  Such as script will be relatively simple and easy to audit.

On Ubuntu/Debian, this could be done with a vmbuilder setup.  This would include vmbuilder config files and execscripts.  It would still be good to capture the set of packages installed, maybe with aptproxy or possibly just the version list and sha sums, so that the build is fully reproducible.

This of course assumes that the distributions are reliable, as we would depend on the distribution signature to certify that the distribution wasn't tampered with and is free of trojans.  In the future, it would be good to build an entire distribution from scratch and then use that as a trusted base.
26  Bitcoin / Development & Technical Discussion / Re: [RFC] Trusted build process on: January 25, 2011, 03:47:06 AM
I started an initiative ( https://gitian.org/  ) for exactly this purpose.  My motivational article is here: http://hyper.to/blog/link/attack-scenarios-software-distribution/

What is needed is a deterministic build process.  I would love to collaborate on tools to achieve this.
Pages: « 1 [2]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!