[BTC-dev] The Bitcoin Foundation: STATE OF BITCOIN ADDRESS

Shane Kinney modsix at gmail.com
Wed Jul 1 04:59:46 UTC 2015

URL: <http://therealbitcoin.org/ml/btc-dev/attachments/20150630/attachment_2e34704542ae70006f14ffb51082d5501be9f876.txt>
Hash: SHA512

 ..::[ The Bitcoin Foundation: STATE OF BITCOIN ADDRESS ]::..

     [        Date: 2015.06.29                          ]
     [   Co-Chairs: mod6 [R.01] && ben_vulpes [R.02]    ]

0x00] Introduction

   It is with great honor and privilege that The Bitcoin Foundation embraces
   this opportunity to address the public on the state of current progress,
   obstacles and continuing steps in our mission.

   The month of June has been as busy as any to date.  The Reference
   Implementation is being further strengthened by continued work to de-cruft
   the codebase.  Other major efforts this month include our goal to provide
   a canonical environment and toolchain in which to build a true static
   Reference Implementation.

0x01] Accomplishments

   [ Gentoo uClibC-hardened Guide for Physical Systems ]:

     Throughout the month, much arduous effort was put into the creation of a
     Guide to building an x86-64 Gentoo uClibC-hardened environment on physical
     hardware.  mod6, along with the instrumental assistance of trinque [R.03]
     successfully complete this process.  After repeating the process manually
     two times, a Guide [R.04] with steps was created along with a guide with
     examples [R.05].  Both trinque and mod6 have independently verified that
     both guides work as designed.  Before these are posted to the btc-dev
     mailing list [R.06] for posterity, we will wait for 3rd parties to
     validate its steps and content.

     The Bitcoin Foundation would like to thank to trinque for his efforts
     throughout this adventure.

   [ Doxygen Source Code Browser for v0.5.3.1-RELEASE ]:

     mod6 created a doxygen [R.07] source code browser for the Reference
     Implementation versions v0.5.3.1-RELEASE [R.08] and v0.5.3.1-RELEASE +
     selected patches { [R.09] } [R.0A].

   [ Submitted Patches ]:

     During the course of June, asciilifeform [R.0B] submitted all of the
     following patches for consideration:

     0x010: Removal of Hard-Coded Seeds [R.0C]

            Removes the hard-coded array of node seeds [listed in hexadecimal

     0x011: Removal of `showmyip.com' Mechanism [R.0D]

            Removes the external requests to www.showmyip.com and

     0x012: Full DNS Thermonuke [R.0E]

            Abolishes all invocations of DNS from Reference Implementation.

     0x013: Full IRC Demolition; Manual External IP Setting; Version Bump [R.0F]

            Removed IRC seed process and mechanisms for determining own
            external IP.

     0x014: Static Builder [R.10]

            An archive of applied patches ready to be compiled with either the
            `stator.sh' or `static_bitcoin_only.sh' contained within.

     0x015: Raw Block Extractor [R.11]

            Mechanism added to write raw block out to given file in binary

     0x016: Raw Block Eater [R.12]

            Mechanism added to receive the next block from a binary file on the
            local disk.

     0x017: Checksums of Blocks from mircea_popescu's [R.13] Blockchain

            Upon the creation of Raw Block Extractor, asciilifeform ran a
            a script [R.14] and created checksums for each block [R.15] with
            a signature file [R.16].  This was done because of suspected
            shenanigans of a router in the path to mircea_popescu's node:

     The Bitcoin Foundation would like to thank asciilifeform for his continued
     outstanding efforts to decruft the Reference Implementation.

0x02] Complications and Obstacles

   [ Testing of BDB's set_memory_max option ]:

     Last month there was some brief discussion surrounding testing setting
     BDB's DbEnv::set_memory_max option to both 8Mb and 4Mb.  However, the
     R.I. utilizes BDB v4.8.30 and it was later detected that this option is
     not available in this version.

   [ Valgrind & IgProf Profiles ]:

     In the beginning of June, mod6 built Valgrind [R.18] and IgProf [R.19] on
     an x86-64 instance of Debian 6 with glibc.  Even though mod6 was able to
     build both Valgrind and IgProf he was not able to take a successful profile
     with either tool against v0.5.3.1-RELEASE.  Only a small amount of time
     was spent in this endeavour.  When these problems arose, mod6 changed focus
     to other, more pressing, objectives.  Profiling with these two useful tools
     will be revisited at a later date.

   [ Building Static Reference Implementation with uClibC & GCC ]:

     Upon completing the Gentoo Setup Guide for uClibC-hardened for physical
     hardware [R.04], mod6 attempted to build the R.I. [ v0.5.3.1-RELEASE +
     patches { Kills Integer, Gentoo Sanity, Orphanage Thermonuke, & TX Orphange
     Amputation } ] but was not able to make a successful build with uClibC
     v0.9.33.2 and GCC versions v4.5.4 or v4.8.4 [R.1A].  This error seems to
     be a linking issue with uClibC.  decimation [R.1B] discovered a message
     posted to the GCC mailing list that attempts to fix this problem [R.1C].
     mod6 attempted to apply the patch specified in the message via Gentoo's
     ebuild facility and manually; however, the patch could not be applied
     cleanly.  Upon further inspection the patch seems to call to structure
     members that do not exist in GCC v4.5.4 or v4.8.4.  mod6 then created
     and applied his own patch to accomplish the same alterations with calls
     to proper struct members as specified in the email patch, but ultimately
     was unable to successfully complete the compilation of GCC.

     A moderate amount of time was spent working through this problem through
     the month of June.  Alternate approaches to resolve this issue will be
     attempted in the near future.

0x03] Continuing Steps

   [ Continued Testing of New Patches ]:

     As described in section 0x01 there are a number of new patches available
     and there much needed regression testing of all submitted patches.  Until
     we have uClibC linking the Reference Implementation on Gentoo properly,
     much of this regression testing will be taking place on a glibc

   [ Resolution of uClibC Linking Problem ]:

     Another main focus will be to find some resolution to the uClibC linking
     issue so we can move away from glibc altogether.  As much work was done
     with this in June, there is still a number of options and configurations
     to try in this area.

0x04] Conclusion

   The Bitcoin Foundation would like to bestow our sincerest thanks and
   gratitude to the contributors and community for its support and insight.

[ References ]:


  [R.01]: 027A 8D7C 0FB8 A166 4372 0F40 7217 05A8 B71E ADAF
  [R.02]: 4F79 0794 2CA8 B89B 01E2 5A76 2AFA 1A9F D2D0 31DA
  [R.03]: FC66 C0C5 D98C 42A1 D4A9 8B6B 42F9 985A FAB9 53C4
  [R.04]: $URL/gentoo-stage3-amd64-uclibc-hardened-guide.txt
  [R.05]: $URL/gentoo-stage3-amd64-uclibc-hardened-guide-wFullExamples.txt
  [R.06]: http://thebitcoin.foundation/mailman/listinfo/btc-dev
  [R.07]: http://www.doxygen.org
  [R.08]: http://thebitcoin.foundation/doxygen/v0_5_3_1/
  [R.09]: $URL/doxygen/v0_5_3_1-wPatchesApplied/v0531-wPatchesApplied.txt
  [R.0A]: http://thebitcoin.foundation/doxygen/v0_5_3_1-wPatchesApplied/
  [R.0B]: 1721 5D11 8B72 3950 7FAF ED98 B982 28A0 01AB FFC7
  [R.0C]: http://thebitcoin.foundation/ml/btc-dev/2015-June/000098.html
  [R.0D]: http://thebitcoin.foundation/ml/btc-dev/2015-June/000099.html
  [R.0E]: http://thebitcoin.foundation/ml/btc-dev/2015-June/000100.html
  [R.0F]: http://thebitcoin.foundation/ml/btc-dev/2015-June/000101.html
  [R.10]: http://thebitcoin.foundation/ml/btc-dev/2015-June/000102.html
  [R.11]: http://thebitcoin.foundation/ml/btc-dev/2015-June/000104.html
  [R.12]: http://thebitcoin.foundation/ml/btc-dev/2015-June/000105.html
  [R.13]: 6160 E1CA C8A3 C529 66FD 7699 8A73 6F0E 2FB7 B452
  [R.14]: http://www.loper-os.org/pub/turdsums/readme_s.txt
  [R.15]: http://www.loper-os.org/pub/turdsums/sums.txt.gz
  [R.16]: http://www.loper-os.org/pub/turdsums/sums.txt.gz.sig
  [R.17]: http://thebitcoin.foundation/misc/mystery_hop_traceroute.txt
  [R.18]: http://valgrind.org
  [R.19]: http://igprof.org
  [R.1A]: http://thebitcoin.foundation/misc/uclibc-build-error.txt
  [R.1B]: 22B3 4B42 FE44 14F8 36EB ACD6 106F EE1B 40AA 2A95
  [R.1C]: http://gcc.gnu.org/ml/gcc-patches/2015-02/msg00410.html

Version: GnuPG v1.4.10 (FreeBSD)


More information about the BTC-dev mailing list