* update to modern, supported Ruby 2.0 version
* update gems to current versions using Bundler
* make jekyll configs confirm to current version
* switch deb package dependencies to cross-platform rvm
* ignore bundled dependencies
* some README mods as per @harding + @saivann
As suggested by @gmaxwell (thanks!), I tried to make clearer the benefit
of hardened keys:
* Described hardened keys as a solution in the first sentence of the
Hardened Keys subsection.
* Reordered the text so that the problem is described before the
solution, making the presence of a solution clearer.
* Added a prefatory sentence to the description of the two key
derivation formulas again describing the hardened formula as a
solution.
As suggested by @vbuterin (thanks!), I added a paragraph describing that
HD wallets don't use normal derivation on the master key so they don't
have an effective master public key. (See end of the diff.)
This is a fairly large diff because of the reordering, but no new
clauses were added besides those described above.
_includes/guide_wallets.md:
* Fix formula given for normal child key derivation to state that public
keys must also be provided to the HMAC hash function. This required
updating both text and images.
* Add one-paragraph warning about ancestor key compromise when the
ancestor extended public key is compromised along with a descended
private key. Update img/dev/en-hd-private-parent-to-private-child.*
to help illustrate this warning.
en/developer-reference.md:
* Remove %include% of previously-removed file which caused new versions
of Jekyll to die.
_includes/guide_transactions.md:
* Expand the security part of the Avoiding Key Reuse subsection to also
describe why creating more than one signature with the same private
key might be a problem. Based on feedback from @luke-jr. Thanks!
_includes/guide_transactions.md:
* Assertions that pay-to-public-key (unhashed) was "used in all coinbase
transactions" and "is more convenient" have been removed: the first
statement because its provably untrue; the second because it's debatable
(spending unhashed keys requires fewer bytes, so it might be more
convenient). Based on feedback from @TierNolan. Thanks!
_includes/guide_transactions.md:
* DOS expanded to "denial of service" to improve readability and avoid
conflation with Disk Operating System. Change based on feedback from
@luke-jr. Thanks!
_includes/guide_mining.md:
* Dropped assertion that `getblocktemplate` can't reuse an established
socket. Change based on feedback from @luke-jr. Thanks!
_includes/guide_contracts.md:
* Dropped opening sentences to Contracts section, which were a holdover
from when contracts was a subsection of Transactions. New opening
sentence is now similar to the summary sentences which open all other
sections. Change based on feedback from @mikehearn. Thanks!
* Deleted USA-centric example from second paragraph and merged remaining
parts of the first two paragraphs into a single opening paragraph with
no example. Change based on feedback from @mikehearn. Thanks!
* Removed mention of placeholder byte from multisig example. Change
based on feedback from @mikehearn. Thanks!