-----BEGIN PGP SIGNED MESSAGE----- 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 format]. 0x011: Removal of `showmyip.com' Mechanism [R.0D] Removes the external requests to www.showmyip.com and checkip.dyndns.org. 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 format. 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: 213.130.38.26 [R.17] 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 environment. [ 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 ]: URL=http://thebitcoin.foundation [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 EOF -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (FreeBSD) iQIcBAEBCgAGBQJVk2HKAAoJEHIXBai3Hq2vI0IQAL+xXta+0Gc6U57NujNSn0Ma PmdtP3pxiOhyU5+IpowWRnHJoT6UoJFDDS+ZP/6JqxaP9kLnedsf/+JleFtWt+T7 oMeU9YBLx/4pfp29IANDMUmxV/oonnczMTQdFQwoEZxTHVdCBL+1Tc+xLOtO3FME TmRcDfxt71FPcNlopIbfj1ZhcQ1lrZ0zfSJPjioG2BxY5/2ZqMboRHHTp/ml07o5 ifPQ4vtsjZtS7yFQT2EwZu3qBgBkKHttJf3uoJXD5u5lfoJUmOpTJR6QWY/ttzk5 CjQURqI8iR2FTby0WYU0/ehuhfSFYR/qyhBc0tAVD1kSJ3yZ+W3YkJCf2FUhHhdo D4xls1wEII9kOTmmR08J+6PDgItnKKB5gPBiUyvGvOYKcuRNUHzpsb2FnN4u2yA9 4GXeS3piN2GXyzoJIO2Xa3fODxEsgVy1OV2gVyecKheMi31CcHBx5ot1fx41PR2A 5rSiFR5lgcWBgsrZylIpQo1JdA1B+TG8QrtQ1TjpAHZvXhGRux3L90N4ADzz3FPQ qieX85OmAqqinuQtFuQke15BILIhsWnzCQsCZzs2+LKO0d0zmC9wHErjUxWOvoVV R/Tyw6uarn31WbDIDmHeldaCCR3twK7pNInsvcjaoAl0XAV1AfI+29boM4CCSdTm 4/WKt8yLBdDWX5zlA9/N =0+jf -----END PGP SIGNATURE-----