[BTC-dev] The Bitcoin Foundation: STATE OF BITCOIN ADDRESS
Shane Kinney
modsix at gmail.com
Mon Feb 2 04:47:45 UTC 2015
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
..::[ The Bitcoin Foundation: STATE OF BITCOIN ADDRESS ]::..
[ Date: 2015.01.31 ]
[ 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.
January saw a blizzard of activity and endless discussion. The Foundation
spent its time running debuggers, profiling the Reference Implementation's
memory use, writing scripts to reliably trim the 0.5.3 Satoshi codebase
into a usable form, and towards the end of the month, patching the very
servers on which the Reference Implementation testing happens.
The Foundation and its supporters also laid down many log lines on the
topics of: ideal blockchain download behaviour; minimum feature set for the
Reference Implementation "node"; and versioning schemes, among many other
topics.
0x01] Accomplishments
[ Root Cause Out Of Memory Crash / Full Sync Defect ]:
We spent much time testing, debugging, and memory profiling to track down
a recurring crash during initial sync. The daemon eventually exhausts all
available memory, which in turn triggers the kernel to issue the SIGKILL.
The discovered root cause of the OOM-kill: the mapOrphanBlocks data
structure grows unboundedly.
[ Tabling of Checkpoints Patch ]:
During the course of last month, mod6 developed a patch to remove block
checkpoints. The removal of this in its entirety is a bit premature and
will be tabled for the time being. Later, the configuration for the
checkpoints will most likely be moved outside of the Reference
Implementation code and into a configuration file.
[ Update Version Numbers ]:
In accordance with The Bitcoin Foundations goal to produce a patched
release of the source code, a patch was required to update to the new
version number. ben_vulpes [R.02] produced this patch [R.03] and the new
version number has been decided: 0.5.3.1.
[ Patch & Compile Script ]:
Throughout the month individuals have requested a script to automate the
patching and building of the v0.5.3 codebase with submitted patches to
assist with regression testing. mod6 [R.01] undertook this task; however,
this task does come with challenges. Mainly this comes down to people
using different environments and different versions of binaries. We are
actively working to resolve the issues in the script prototype. When it's
ready for general consumption, a link to the script and a signature file
will be posted to the website [R.04]. The foundation would like to thank
all of those who helped to test this script. Also, special thanks to
jurov [R.05] for his help to squash bugs.
[ Portatronic ]:
asciilifeform [R.06] has embarked on a project to convert "Pogo plugs" into
field-ready 0.5.3 nodes. This entails scripting the coercion of the Pogo
from its shipped state into one capable of running a full reference node.
This project is ongoing and been exiting to watch - currently about
190`000 blocks have been downloaded by the functional prototype.
The Foundation applauds his work.
0x02] Complications and Obstacles
[ Orphans / Lost Children / Disconnected Blocks ]:
The unbounded "orphan blocks" data structure referenced above is a symptom
of deeper and more concerning flaws in the Reference Implementation
codebase. Currently, blocks are consumed from one host until it can no
longer, then moves on to another host. Often, these blocks are received
out of order, which causes these disconnected blocks (a.k.a. ``Orphans'')
to pile up inside of the data structure until the host has exhausted all
available memory.
0x03] Continuing Steps
[ Orphans / Lost Children / Disconnected Blocks ]:
We will begin to formulate a proposed solution to this issue in the near
future.
[ Patch & Compile Script ]:
We are in the home stretch of producing and debugging a robust script that
takes a vintage 0.5.3 codebase, automatically prunes it and then patches it
in the correct order. When this script is thoroughly vetted and ready for
public use we will post it to the Foundation's website.
[ Release Package ]:
The Bitcoin Foundation aims to make a release of the patched Reference
Implementation in February, provided all regression testing passes as
required. When the release is complete it will be posted to the
btc-dev [R.07] mailing list as well as the Foundation website [R.04].
0x04] Conclusion
The Bitcoin Foundation would like 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]: http://thebitcoin.foundation/ml/btc-dev/2015-January/000029.html
[R.04]: http://thebitcoin.foundation
[R.05]: BBB0 A999 5003 7551 F533 850A 677A BD62 D0AE E7D7
[R.06]: 1721 5D11 8B72 3950 7FAF ED98 B982 28A0 01AB FFC7
[R.07]: http://thebitcoin.foundation/mailman/listinfo/btc-dev
EOF
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.13 (FreeBSD)
iQIcBAEBCgAGBQJUzv8tAAoJEHIXBai3Hq2vkaEP/122FCMItPaneGSTqxRiddGU
SKvcy3cwf3JZnnFqDWKVoN2Pi2Ef6Fo+YFyhWwA7BNjYFGQiCGQHlsaP7GkKpTQK
edpaGOPCZDK8i7xhFuf6pQU4tRizMeHKWq98JE1UaHMa6QANwhggkpchex8qXM/Y
vsCBTOndXKandWCxYXOuXf2SSgPtsf+hDeFy/YjBaCVPFLweEIsWvMlhFbDa0BF2
SJAa+0tg7m9kjlSdWpf0edSQ8FKXxlZLZhKS7x/TwEJb6WlhNrm4gNxPcnNTwKpY
KedsMkedwXyTz+KrKHIIPvHIg/QIx0+vONATOstItIcgzFFPZ5a9o2Yjhkfnnc3A
mt1P8h+VZsfyZMK9CKkJEop1nyxmasexOmp2DhYlDXRiKNNozg0N3Ok4BZQGyHZW
fOg+/VSQ3wnhcf0q1b3fcmoQBVN/2j/0eF0dLpVtUHzErdLNjPOKiWkqtF39mqWV
6DbFL1QYUnpj7l2wP7vcBwB29XsMKmq+B/R1Ii1KnVuxDwsWWRg8Q5sXnjVq6bXL
fI8bxzb+wUCa7NcqWjkM0ZrqP0W6w4P1iW8Ys6DFDq2ElHCyfnsKwceWE61W0goN
pQNUI/gM5VlXPEILtP72dPB8fsiwA9ftOadhc9heDG+qZTOMKJH+7ZMGblfp68iZ
OWp3UmwsjAy2ufDOEw1U
=17ae
-----END PGP SIGNATURE-----
More information about the BTC-dev
mailing list