Blockchain Verification · bitcoin-s

Breaking bitcoin mining: Machine learning to rapidly search for the correct bitcoin block header nonce

submitted by arunsupe to MachineLearning [link] [comments]

Zen Protocol stays up to date with what’s happening on Bitcoin. Miners add Bitcoin block headers to Zen, then everyone—miners and nodes—agrees on which headers are in the Bitcoin chain with the most work.

Zen Protocol stays up to date with what’s happening on Bitcoin. Miners add Bitcoin block headers to Zen, then everyone—miners and nodes—agrees on which headers are in the Bitcoin chain with the most work. submitted by gshellai24 to u/gshellai24 [link] [comments]

Zen Protocol stays up to date with what’s happening on Bitcoin. Miners add Bitcoin block headers to Zen, then everyone—miners and nodes—agrees on which headers are in the Bitcoin chain with the most work.

Zen Protocol stays up to date with what’s happening on Bitcoin. Miners add Bitcoin block headers to Zen, then everyone—miners and nodes—agrees on which headers are in the Bitcoin chain with the most work. submitted by gshellai24 to u/gshellai24 [link] [comments]

The re-design of the Bitcoin block header to avoid a new class of attacks that may affect mining

The re-design of the Bitcoin block header to avoid a new class of attacks that may affect mining submitted by xrandr to Bitcoin [link] [comments]

Machine learning to rapidly search for the correct bitcoin block header nonce.

submitted by qkdhfjdjdhd to servocomputers [link] [comments]

[Blog] Careless Learner: Machine learning to rapidly search for the correct bitcoin block header nonce by Arun Subramanian | 2015 March 19

submitted by urmyheartBeatStopR to datagangsta [link] [comments]

Finding SHA256 partial collisions via the Bitcoin blockchain

This is not a cryptocurrency post, per se. I used Bitcoin's blockchain as a vehicle by which to study SHA256.
The phrase "partial collision" is sometimes used to describe a pair of hashes that are "close" to one another. One notion of closeness is that the two hashes should agree on a large number of total bits. Another is that they should agree on a large number of specific (perhaps contiguous) bits.
The goal in Bitcoin mining is essentially (slight simplification here) to find a block header which, when hashed twice with SHA256, has a large number of trailing zeros. (If you have some familiarity with Bitcoin, you may be wondering: doesn't the protocol demand a large number of leading zeros? It does, kind of, but the Bitcoin protocol reverses the normal byte order of SHA256. Perhaps Satoshi interpreted SHA256 output as a byte stream in little endian order. If so, then this is a slightly unfortunate choice, given that SHA256 explicitly uses big endian byte order in its padding scheme.)
Because Bitcoin block header hashes must all have a large number of trailing zeros, they must all agree on a large number of trailing bits. Agreement or disagreement on earlier bits should, heuristically, appear independent and uniform at random. Thus, I figured it should be possible to get some nice SHA256 partial collisions by comparing block header hashes.
First, I looked for hashes that agree on a large number of trailing bits. At present, block header hashes must have about 75 trailing zeros. There are a little over 2^19 blocks in total right now, so we expect to get a further ~38 bits of agreement via a birthday attack. Although this suggests we may find a hash pair agreeing on 75 + 38 = 113 trailing bits, this should be interpreted as a generous upper bound, since early Bitcoin hashes had fewer trailing zeros (as few as 32 at the outset). Still, this gave me a good enough guess to find some partial collisions without being overwhelmed by them. The best result was a hash pair agreeing on their final 108 bits. Hex encodings of the corresponding SHA256 inputs are as follows:
(I will emphasize that these are hex encodings of the inputs, and are not the inputs themselves.) There were a further 11 hash pairs agreeing on at least 104 trailing bits.
Next, I searched for hashes that agree on a large number of total bits. (In other words, hash pairs with low Hamming distance.) With a little over 2^19 blocks, we have around (2^19 choose 2) ~= 2^37 block pairs. Using binomial distribution statistics, I estimated that it should be possible to find hash pairs that agree on more than 205 bits, but probably not more than 210. Lo and behold, the best result here was a hash pair agreeing on 208 total bits. Hex encodings of the corresponding SHA256 inputs are as follows:
There were 8 other hash pairs agreeing on at least 206 total bits.
So how interesting are these results, really? One way to assess this is to estimate how difficult it would be to get equivalent results by conventional means. I'm not aware of any clever tricks that find SHA256 collisions (partial or full) faster than brute force. As far as I know, birthday attacks are the best known approach.
To find a hash pair agreeing on their final 108 bits, a birthday attack would require 2^54 time and memory heuristically. Each SHA256 hash consists of 2^5 bytes, so 2^59 is probably a more realistic figure. This is "feasible", but would probably require you to rent outside resources at great expense. Writing code to perform this attack on your PC would be inadvisable. Your computer probably doesn't have the requisite ~600 petabytes of memory, anyway.
The hash pair agreeing on 208 of 256 bits is somewhat more remarkable. By reference to binomial distribution CDFs, a random SHA256 hash pair should agree on at least 208 bits with probability about 2^-81. A birthday attack will cut down on the memory requirement by the normal square root factor - among ~2^41 hashes, you expect that there will be such a pair. But in this case, it is probably necessary to actually compare all hash pairs. The problem of finding the minimum Hamming distance among a set doesn't have obvious shortcuts in general. Thus, a birthday attack performed from scratch would heuristically require about 2^81 hash comparisons, and this is likely not feasible for any entity on Earth right now.
I don't think these results carry any practical implications for SHA256. These partial collisions are in line with what one would expect without exploiting any "weaknesses" of SHA256. If anything, these results are a testament to just how much total work has been put into the Bitcoin blockchain. Realistically, the Bitcoin blockchain will never actually exhibit a SHA256 full collision. Still, I thought these were fun curiosities that were worth sharing.
submitted by KillEveryLastOne to crypto [link] [comments]

Attacking bitcoin with classical simulation of quantum computers?

Bitcoin is a digital currency based on blockchains. Each block in a blockchain contains transaction information, and bitcoin miners "mine" each block in order to verify the transactions. When a miner mines a block, he receives a hefty reward (6.25 bitcoins).
To mine a block, a miner has to do this: SHA256(SHA256(bitcoin block header info))) to produce a hash with a certain amount of leading zeroes.
Now, let's say I want to produce a hash with 94 bits of leading zeroes. If we use the classical brute force method, we would need to iterate through 2^94 SHA256(SHA256(x))) hashes before finding a valid hash output. However, if we use quantum computers, which implement Grover's algorithm, which provides a quadratic speedup, we would only need to iterate through 2^47 hashes.
Is this doable with a quantum computer simulator on a classical computer? If we need to iterate through 2^47 hashes, then 47 qubits should suffice. From what I know, 47 qubits can be simulated on a classical system. Therefore, if we use a 47-qubit quantum computer simulator, can we find a bitcoin block hash with 94 bits of leading zeroes? If so, how long would this take (months? years?)?
I'm not very familiar with quantum computers yet; I'm only starting to learn about it.
submitted by Palpatine88888 to QuantumComputing [link] [comments]

A few questions about bitcoin mining

Newbie here.
I'm not yet familiar with bitcoin mining, just a bit interested. The bitcoin block header, as we all know, is consisted of the nonce, the timestamp, the Merkle root, nBits, and the hash of the previous block. Miners usually increment the nonce by 1, until they exhaust all 2^32 possibilities and find the solution.
However, I have read that it is very common for miners to exhaust all 2^32 combinations and not find a solution at all. As a result, they have to make slight changes to the timestamp and/or the Merkle root to calculate even more combinations.
Therefore, what is the probability of a miner exhausting 2^32 combinations without finding a valid nonce in a specific block? Does it have something to do with the bitcoin mining "difficulty" thingy? I'm so confused right now......
submitted by Palpatine88888 to Bitcoin [link] [comments]

Insurance files timestamp proofs using bitcoin!!

We show you TIMESTAMP PROOF wikileak torrents!!! You want attestation!! Big win very wikileaks. FTW Julian Assange?? REMAINS SAFE.
sha256 insurance file torrents
620ec1c72a087f39da0ed4544b13661959243861d94de32bc467e22bd156b2c8 2016-06-03_insurance.aes256.torrent 0c7fcd70aea059af6afede372a35f41e5cd4d745a08e94a9e47b6b3bb932b081 wikileaks-insurance-20120222.tar.bz2.aes.torrent c8adcb0f0a066d77d2850046849d6c6ddcc52a73d4a4280eb845745e885489d2 wlinsurance-20130815-A.aes256.torrent 56ada05ed025d135db3e5ee0762bcf7116a3e5c66354b37fb507a4d57add2923 wlinsurance-20130815-B.aes256.torrent 1f1c20edb6e4c69300a198ea8c5c85de5b3680d7841d82c93ab875c2e9f472da wlinsurance-20130815-C.aes256.torrent 
Those files dispute twitter yes?? Youu need proofs??? Super critical must checks!!
Timestamping!!!!! See See
base64 encoded OpenTimestamps PARTIALS
2016-06-03_insurance.aes256.torrent.ots AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEIYg7BxyoIfznaDtRUSxNmGVkkOGHZTeMrxGfiK9FWssjwECn+cxB1pjJeP/uwzRhxqMsI8SB7U4MeGSLvP0fSahJqAhBeIaKGopy9OXuXIEkWUd69BwjwIEfYO6XYzgoGgUAzHL7nH1/zsAgiWyS++i7k5g75aABDCPEgJ1s54XTqmox0s9moXpgH+NcrbXLI9Uo2xipxwFSAQ6QI8CAc0iMVj0AjyyqAeqOmCiv8my8i7pAbwgIHnjGtfjk50AjwIC8jjDcZEKGr+WS/WtD2yz8doGhnC+4X23St9Vgxg+wjCPAg3GV8OBcAWoNHMHtTgm0KSO3rpGr3fIVZRymk3+VDbMQI8CAzeTBpzTxxzzG6Sn795AY5VbfgtuKFBiTqaqZaShH/NwjwIGd+HRYcs/1zkOLg7g0OfkDTG2pM66M3NUg5Ymy8P3T+CPAgO0dPFWNAsKJSWOV4bbTrPunHzRvhv8ZpCxDyS9dTjcYI8CBlV/HfxtaCbdhWA1qavmhMTqFGH5nU/sYiMf91taKM0AjwICdX7N3wWWYx3eDCFGn1PvWswQYDVwXrZp/3pFXNMZitCP/wEC3cLhmtPEZYWGHFX8AI2DUI8QRYBlxs8AjoBcaj/FjwEgCD3+MNLvkMji4taHR0cHM6Ly9hbGljZS5idGMuY2FsZW5kYXIub3BlbnRpbWVzdGFtcHMub3Jn8BB+v2Vqz09usWndEEHBSY35CPEEWAZcbPAI4yFyq58B490Ag9/jDS75DI4sK2h0dHBzOi8vYm9iLmJ0Yy5jYWxlbmRhci5vcGVudGltZXN0YW1wcy5vcmc= wikileaks-insurance-20120222.tar.bz2.aes.torrent.ots AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEIDH/NcK6gWa9q/t43KjX0HlzU10WgjpSp5HtrO7kysIHwEGekeLNDtc+4EWWKWkj4XucI8CDbjCmAM6VlOoImr8lhBcE1F1X3QSZdK/gKl6WVbn5zoQjwINM3TPOAERCFXSJ5NY99u1msYQL43SxqnFZJENHlsp7CCPAge2XBkc4qKe5znkFpQF1xtuqO2QbxU2RlAlyN16UjN+UI8CBawzF05vi8lM9vEf6XzhmmbLifz03oW9VhEVKuuatioQjwIKkMX472dtv/kdfwdPVY3232Uvl7HymX1A6iukrDzJDhCPEgHLqZCPRWG8m/eU0v7RCUWyrN5uJx1DU9+vlxQphHyDgI8CDq6y5UQHXq7pzlF81Et1lawZ2z0TGynZoEA2rkB1NrrwjxIDG56+af6NmUnS1FbRpawWHv8zZKnF7wZxoZf3bu+sIyCPEg7nUSrpPAX4mpES4o/+l8PNdFV+vMFPg8TBM+8w2YqtYI8SAZLh2NevewJyRUXF52ChFpHOabr6i6Mo7mwW7aS/v0yQj/8BAt3C4ZrTxGWFhhxV/ACNg1CPEEWAZcbPAI6AXGo/xY8BIAg9/jDS75DI4uLWh0dHBzOi8vYWxpY2UuYnRjLmNhbGVuZGFyLm9wZW50aW1lc3RhbXBzLm9yZ/AQfr9las9PbrFp3RBBwUmN+QjxBFgGXGzwCOMhcqufAePdAIPf4w0u+QyOLCtodHRwczovL2JvYi5idGMuY2FsZW5kYXIub3BlbnRpbWVzdGFtcHMub3Jn wlinsurance-20130815-A.aes256.torrent.ots AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEIyK3LDwoGbXfShQBGhJ1sbdzFKnPUpCgOuEV0XohUidLwENpD/C5rWB/RfyzWMF283ssI8SDPExB02U8wBlYOU/shtN747Gp1BzUHtfmvLqeRESvHnwjxIBqzlGQwdP+OaQJO9DWAJ6TCx8Gm9b9DBoMUVLc4rSfxCPAgZRaOuID+vFtcH/M97dhKzHdZZjRdMFjguU5eQtsuMDYI8SCkZNcKTaElNVogwb/FXdR+DvJzNJWyoTiCBwYWMAdFeQjwIKkMX472dtv/kdfwdPVY3232Uvl7HymX1A6iukrDzJDhCPEgHLqZCPRWG8m/eU0v7RCUWyrN5uJx1DU9+vlxQphHyDgI8CDq6y5UQHXq7pzlF81Et1lawZ2z0TGynZoEA2rkB1NrrwjxIDG56+af6NmUnS1FbRpawWHv8zZKnF7wZxoZf3bu+sIyCPEg7nUSrpPAX4mpES4o/+l8PNdFV+vMFPg8TBM+8w2YqtYI8SAZLh2NevewJyRUXF52ChFpHOabr6i6Mo7mwW7aS/v0yQj/8BAt3C4ZrTxGWFhhxV/ACNg1CPEEWAZcbPAI6AXGo/xY8BIAg9/jDS75DI4uLWh0dHBzOi8vYWxpY2UuYnRjLmNhbGVuZGFyLm9wZW50aW1lc3RhbXBzLm9yZ/AQfr9las9PbrFp3RBBwUmN+QjxBFgGXGzwCOMhcqufAePdAIPf4w0u+QyOLCtodHRwczovL2JvYi5idGMuY2FsZW5kYXIub3BlbnRpbWVzdGFtcHMub3Jn wlinsurance-20130815-B.aes256.torrent.ots AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEIVq2gXtAl0TXbPl7gdivPcRaj5cZjVLN/tQek1XrdKSPwEO2lx6UzOFnz24Bx/dToNJoI8CCAFe8K9R+UiJ4QSBodRaRsKzThCKVWkDLZjXhzjISamAjwID7fXZuzTZJXoqie9X50LlKvXiN/1JkfDrGs9n/XU6JLCPEgiUKlqQExsSDv1T8X/W6FvQYPPLMs/M821+TsajW1ln0I8SCkZNcKTaElNVogwb/FXdR+DvJzNJWyoTiCBwYWMAdFeQjwIKkMX472dtv/kdfwdPVY3232Uvl7HymX1A6iukrDzJDhCPEgHLqZCPRWG8m/eU0v7RCUWyrN5uJx1DU9+vlxQphHyDgI8CDq6y5UQHXq7pzlF81Et1lawZ2z0TGynZoEA2rkB1NrrwjxIDG56+af6NmUnS1FbRpawWHv8zZKnF7wZxoZf3bu+sIyCPEg7nUSrpPAX4mpES4o/+l8PNdFV+vMFPg8TBM+8w2YqtYI8SAZLh2NevewJyRUXF52ChFpHOabr6i6Mo7mwW7aS/v0yQj/8BAt3C4ZrTxGWFhhxV/ACNg1CPEEWAZcbPAI6AXGo/xY8BIAg9/jDS75DI4uLWh0dHBzOi8vYWxpY2UuYnRjLmNhbGVuZGFyLm9wZW50aW1lc3RhbXBzLm9yZ/AQfr9las9PbrFp3RBBwUmN+QjxBFgGXGzwCOMhcqufAePdAIPf4w0u+QyOLCtodHRwczovL2JvYi5idGMuY2FsZW5kYXIub3BlbnRpbWVzdGFtcHMub3Jn wlinsurance-20130815-C.aes256.torrent.ots AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEIHxwg7bbkxpMAoZjqjFyF3ls2gNeEHYLJOrh1wun0ctrwEFi2OueyJJWy2pXF4T8wKGsI8SCcsZ6cdQgf9XMUQyh8Ys2Vdrz4d/MgCs8AdVaYLUrdPgjwID7fXZuzTZJXoqie9X50LlKvXiN/1JkfDrGs9n/XU6JLCPEgiUKlqQExsSDv1T8X/W6FvQYPPLMs/M821+TsajW1ln0I8SCkZNcKTaElNVogwb/FXdR+DvJzNJWyoTiCBwYWMAdFeQjwIKkMX472dtv/kdfwdPVY3232Uvl7HymX1A6iukrDzJDhCPEgHLqZCPRWG8m/eU0v7RCUWyrN5uJx1DU9+vlxQphHyDgI8CDq6y5UQHXq7pzlF81Et1lawZ2z0TGynZoEA2rkB1NrrwjxIDG56+af6NmUnS1FbRpawWHv8zZKnF7wZxoZf3bu+sIyCPEg7nUSrpPAX4mpES4o/+l8PNdFV+vMFPg8TBM+8w2YqtYI8SAZLh2NevewJyRUXF52ChFpHOabr6i6Mo7mwW7aS/v0yQj/8BAt3C4ZrTxGWFhhxV/ACNg1CPEEWAZcbPAI6AXGo/xY8BIAg9/jDS75DI4uLWh0dHBzOi8vYWxpY2UuYnRjLmNhbGVuZGFyLm9wZW50aW1lc3RhbXBzLm9yZ/AQfr9las9PbrFp3RBBwUmN+QjxBFgGXGzwCOMhcqufAePdAIPf4w0u+QyOLCtodHRwczovL2JvYi5idGMuY2FsZW5kYXIub3BlbnRpbWVzdGFtcHMub3Jn 
base64 encoded OpenTimestamps
2016-06-03_insurance.aes256.torrent.ots AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEIYg7BxyoIfznaDtRUSxNmGVkkOGHZTeMrxGfiK9FWssjwECn+cxB1pjJeP/uwzRhxqMsI8SB7U4MeGSLvP0fSahJqAhBeIaKGopy9OXuXIEkWUd69BwjwIEfYO6XYzgoGgUAzHL7nH1/zsAgiWyS++i7k5g75aABDCPEgJ1s54XTqmox0s9moXpgH+NcrbXLI9Uo2xipxwFSAQ6QI8CAc0iMVj0AjyyqAeqOmCiv8my8i7pAbwgIHnjGtfjk50AjwIC8jjDcZEKGr+WS/WtD2yz8doGhnC+4X23St9Vgxg+wjCPAg3GV8OBcAWoNHMHtTgm0KSO3rpGr3fIVZRymk3+VDbMQI8CAzeTBpzTxxzzG6Sn795AY5VbfgtuKFBiTqaqZaShH/NwjwIGd+HRYcs/1zkOLg7g0OfkDTG2pM66M3NUg5Ymy8P3T+CPAgO0dPFWNAsKJSWOV4bbTrPunHzRvhv8ZpCxDyS9dTjcYI8CBlV/HfxtaCbdhWA1qavmhMTqFGH5nU/sYiMf91taKM0AjwICdX7N3wWWYx3eDCFGn1PvWswQYDVwXrZp/3pFXNMZitCP/wEC3cLhmtPEZYWGHFX8AI2DUI8QRYBlxs8AjoBcaj/FjwEv8Ag9/jDS75DI4uLWh0dHBzOi8vYWxpY2UuYnRjLmNhbGVuZGFyLm9wZW50aW1lc3RhbXBzLm9yZwjwIAkuszqsTHhdSiVjRMypZF414MZcas2dZoa37SHIF9aRCPAg5CW83bvhSkStXBQFPvMNeQwvgMfpOHjP5Yq3NgKjXg8I8CCaNcdS1lzRwldhEATb6/Hh0SuNuEH5C8KeGuaAF9kNiAjxIMID2bhWmpJh2LaEelXkG6vgC/aRj6UDVl3u3pnS/PKQCPAggN4YQydHZpDvRwtBpH2X+nPNvURl1K0/BXPKericWDgI8CAmaygyNasTw/aoIenqRdc1YpltXBWU5fv8DTgqdkVOcQjxrgEBAAAAAbn99zMYMRrT/GahujdtOEWF6d24eCq8l5vtQn8qxKWnAAAAAEhHMEQCIA/4ZuMnhOlkLpmiYS+ew8INp2hF7iNWqNmq7odixDrXAiAAxJQWo5obbMRMPbDssp4Xatdo9EpwQtYDCdvHEst9fAH9////Ak4UOgAAAAAAIyEC9FsImsN9ancYiYNcqDiV812p13rtWUfjNzmsTRSpGfesAAAAAAAAAAAiaiDwBNGiBgAICPEgZNXmKjhtUdjJNnioYMhRi68efqCforIUKthSuVq+UekICPAgRVtu2ZYqU7m3ZMceRS5GkKPUnWzf5g3tPRIrjlKt+xgICPAgGyqA+YyInYbKTE5/kgf+rQrlKI8RkO7E91bPMXsQwgMICPEgUQxLXM8wsLirbTEa1wC6pFe4BaTanxqhfzIw81CABT4ICPAgd3+yhYGOl3S9C0YjAch0R+zxOCCkm14dXmzGPPFYtOoICPAgb634mPqmbOtV+Kue4KFAS7rKS8Tx5kGMnXS2g9vEAP4ICPEgRmYe0SEqBAMCPOQjrVv/D47Ns+5dufSN+O4yrcXryeoICPEgIu1Hj3eIpQGDEYc2bpKcZAaW+a0TAN5JWjxXrhtZqFQICPEgv2iimFWnNncn43eK5msHFDpUwWqYFPUoev6bGYfJD/MICPEg1s/5RFdmTqS/q/NJG1eoUL2v9TQVd3lDxZyNbsYvTJwICPEg/TZhQWWU0rNDhVKvSPj3X3GNea6EE4yUBAhhdLGjPy0ICPAgzCneKsvkKof2GyiUOLnjvCw3jDM1ybPlQZ6n/QOvL4AICAAFiJYNc9cZAQPUxRrwEH6/ZWrPT26xad0QQcFJjfkI8QRYBlxs8AjjIXKrnwHj3QCD3+MNLvkMjiwraHR0cHM6Ly9ib2IuYnRjLmNhbGVuZGFyLm9wZW50aW1lc3RhbXBzLm9yZw== wikileaks-insurance-20120222.tar.bz2.aes.torrent.ots AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEIDH/NcK6gWa9q/t43KjX0HlzU10WgjpSp5HtrO7kysIHwEGekeLNDtc+4EWWKWkj4XucI8CDbjCmAM6VlOoImr8lhBcE1F1X3QSZdK/gKl6WVbn5zoQjwINM3TPOAERCFXSJ5NY99u1msYQL43SxqnFZJENHlsp7CCPAge2XBkc4qKe5znkFpQF1xtuqO2QbxU2RlAlyN16UjN+UI8CBawzF05vi8lM9vEf6XzhmmbLifz03oW9VhEVKuuatioQjwIKkMX472dtv/kdfwdPVY3232Uvl7HymX1A6iukrDzJDhCPEgHLqZCPRWG8m/eU0v7RCUWyrN5uJx1DU9+vlxQphHyDgI8CDq6y5UQHXq7pzlF81Et1lawZ2z0TGynZoEA2rkB1NrrwjxIDG56+af6NmUnS1FbRpawWHv8zZKnF7wZxoZf3bu+sIyCPEg7nUSrpPAX4mpES4o/+l8PNdFV+vMFPg8TBM+8w2YqtYI8SAZLh2NevewJyRUXF52ChFpHOabr6i6Mo7mwW7aS/v0yQj/8BAt3C4ZrTxGWFhhxV/ACNg1CPEEWAZcbPAI6AXGo/xY8BL/AIPf4w0u+QyOLi1odHRwczovL2FsaWNlLmJ0Yy5jYWxlbmRhci5vcGVudGltZXN0YW1wcy5vcmcI8CAJLrM6rEx4XUolY0TMqWReNeDGXGrNnWaGt+0hyBfWkQjwIOQlvN274UpErVwUBT7zDXkML4DH6Th4z+WKtzYCo14PCPAgmjXHUtZc0cJXYRAE2+vx4dErjbhB+QvCnhrmgBfZDYgI8SDCA9m4VpqSYdi2hHpV5Bur4Av2kY+lA1Zd7t6Z0vzykAjwIIDeGEMnR2aQ70cLQaR9l/pzzb1EZdStPwVzynq4nFg4CPAgJmsoMjWrE8P2qCHp6kXXNWKZbVwVlOX7/A04KnZFTnEI8a4BAQAAAAG5/fczGDEa0/xmobo3bThFhenduHgqvJeb7UJ/KsSlpwAAAABIRzBEAiAP+GbjJ4TpZC6ZomEvnsPCDadoRe4jVqjZqu6HYsQ61wIgAMSUFqOaG2zETD2w7LKeF2rXaPRKcELWAwnbxxLLfXwB/f///wJOFDoAAAAAACMhAvRbCJrDfWp3GImDXKg4lfNdqdd67VlH4zc5rE0UqRn3rAAAAAAAAAAAImog8ATRogYACAjxIGTV5io4bVHYyTZ4qGDIUYuvHn6gn6KyFCrYUrlavlHpCAjwIEVbbtmWKlO5t2THHkUuRpCj1J1s3+YN7T0SK45SrfsYCAjwIBsqgPmMiJ2GykxOf5IH/q0K5SiPEZDuxPdWzzF7EMIDCAjxIFEMS1zPMLC4q20xGtcAuqRXuAWk2p8aoX8yMPNQgAU+CAjwIHd/soWBjpd0vQtGIwHIdEfs8TggpJteHV5sxjzxWLTqCAjwIG+t+Jj6pmzrVfirnuChQEu6ykvE8eZBjJ10toPbxAD+CAjxIEZmHtEhKgQDAjzkI61b/w+OzbPuXbn0jfjuMq3F68nqCAjxICLtR493iKUBgxGHNm6SnGQGlvmtEwDeSVo8V64bWahUCAjxIL9oophVpzZ3J+N3iuZrBxQ6VMFqmBT1KHr+mxmHyQ/zCAjxINbP+URXZk6kv6vzSRtXqFC9U0FXd5Q8WcjW7GL0ycCAjxIP02YUFllNKzQ4VSr0j4919xjXmuhBOMlAQIYXSxoz8tCAjwIMwp3irL5CqH9hsolDi547wsN4wzNcmz5UGep/0Dry+ACAgABYiWDXPXGQED1MUa8BB+v2Vqz09usWndEEHBSY35CPEEWAZcbPAI4yFyq58B490Ag9/jDS75DI4sK2h0dHBzOi8vYm9iLmJ0Yy5jYWxlbmRhci5vcGVudGltZXN0YW1wcy5vcmc= wlinsurance-20130815-A.aes256.torrent.ots AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEIyK3LDwoGbXfShQBGhJ1sbdzFKnPUpCgOuEV0XohUidLwENpD/C5rWB/RfyzWMF283ssI8SDPExB02U8wBlYOU/shtN747Gp1BzUHtfmvLqeRESvHnwjxIBqzlGQwdP+OaQJO9DWAJ6TCx8Gm9b9DBoMUVLc4rSfxCPAgZRaOuID+vFtcH/M97dhKzHdZZjRdMFjguU5eQtsuMDYI8SCkZNcKTaElNVogwb/FXdR+DvJzNJWyoTiCBwYWMAdFeQjwIKkMX472dtv/kdfwdPVY3232Uvl7HymX1A6iukrDzJDhCPEgHLqZCPRWG8m/eU0v7RCUWyrN5uJx1DU9+vlxQphHyDgI8CDq6y5UQHXq7pzlF81Et1lawZ2z0TGynZoEA2rkB1NrrwjxIDG56+af6NmUnS1FbRpawWHv8zZKnF7wZxoZf3bu+sIyCPEg7nUSrpPAX4mpES4o/+l8PNdFV+vMFPg8TBM+8w2YqtYI8SAZLh2NevewJyRUXF52ChFpHOabr6i6Mo7mwW7aS/v0yQj/8BAt3C4ZrTxGWFhhxV/ACNg1CPEEWAZcbPAI6AXGo/xY8BL/AIPf4w0u+QyOLi1odHRwczovL2FsaWNlLmJ0Yy5jYWxlbmRhci5vcGVudGltZXN0YW1wcy5vcmcI8CAJLrM6rEx4XUolY0TMqWReNeDGXGrNnWaGt+0hyBfWkQjwIOQlvN274UpErVwUBT7zDXkML4DH6Th4z+WKtzYCo14PCPAgmjXHUtZc0cJXYRAE2+vx4dErjbhB+QvCnhrmgBfZDYgI8SDCA9m4VpqSYdi2hHpV5Bur4Av2kY+lA1Zd7t6Z0vzykAjwIIDeGEMnR2aQ70cLQaR9l/pzzb1EZdStPwVzynq4nFg4CPAgJmsoMjWrE8P2qCHp6kXXNWKZbVwVlOX7/A04KnZFTnEI8a4BAQAAAAG5/fczGDEa0/xmobo3bThFhenduHgqvJeb7UJ/KsSlpwAAAABIRzBEAiAP+GbjJ4TpZC6ZomEvnsPCDadoRe4jVqjZqu6HYsQ61wIgAMSUFqOaG2zETD2w7LKeF2rXaPRKcELWAwnbxxLLfXwB/f///wJOFDoAAAAAACMhAvRbCJrDfWp3GImDXKg4lfNdqdd67VlH4zc5rE0UqRn3rAAAAAAAAAAAImog8ATRogYACAjxIGTV5io4bVHYyTZ4qGDIUYuvHn6gn6KyFCrYUrlavlHpCAjwIEVbbtmWKlO5t2THHkUuRpCj1J1s3+YN7T0SK45SrfsYCAjwIBsqgPmMiJ2GykxOf5IH/q0K5SiPEZDuxPdWzzF7EMIDCAjxIFEMS1zPMLC4q20xGtcAuqRXuAWk2p8aoX8yMPNQgAU+CAjwIHd/soWBjpd0vQtGIwHIdEfs8TggpJteHV5sxjzxWLTqCAjwIG+t+Jj6pmzrVfirnuChQEu6ykvE8eZBjJ10toPbxAD+CAjxIEZmHtEhKgQDAjzkI61b/w+OzbPuXbn0jfjuMq3F68nqCAjxICLtR493iKUBgxGHNm6SnGQGlvmtEwDeSVo8V64bWahUCAjxIL9oophVpzZ3J+N3iuZrBxQ6VMFqmBT1KHr+mxmHyQ/zCAjxINbP+URXZk6kv6vzSRtXqFC9U0FXd5Q8WcjW7GL0ycCAjxIP02YUFllNKzQ4VSr0j4919xjXmuhBOMlAQIYXSxoz8tCAjwIMwp3irL5CqH9hsolDi547wsN4wzNcmz5UGep/0Dry+ACAgABYiWDXPXGQED1MUa8BB+v2Vqz09usWndEEHBSY35CPEEWAZcbPAI4yFyq58B490Ag9/jDS75DI4sK2h0dHBzOi8vYm9iLmJ0Yy5jYWxlbmRhci5vcGVudGltZXN0YW1wcy5vcmc= wlinsurance-20130815-B.aes256.torrent.ots AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEIVq2gXtAl0TXbPl7gdivPcRaj5cZjVLN/tQek1XrdKSPwEO2lx6UzOFnz24Bx/dToNJoI8CCAFe8K9R+UiJ4QSBodRaRsKzThCKVWkDLZjXhzjISamAjwID7fXZuzTZJXoqie9X50LlKvXiN/1JkfDrGs9n/XU6JLCPEgiUKlqQExsSDv1T8X/W6FvQYPPLMs/M821+TsajW1ln0I8SCkZNcKTaElNVogwb/FXdR+DvJzNJWyoTiCBwYWMAdFeQjwIKkMX472dtv/kdfwdPVY3232Uvl7HymX1A6iukrDzJDhCPEgHLqZCPRWG8m/eU0v7RCUWyrN5uJx1DU9+vlxQphHyDgI8CDq6y5UQHXq7pzlF81Et1lawZ2z0TGynZoEA2rkB1NrrwjxIDG56+af6NmUnS1FbRpawWHv8zZKnF7wZxoZf3bu+sIyCPEg7nUSrpPAX4mpES4o/+l8PNdFV+vMFPg8TBM+8w2YqtYI8SAZLh2NevewJyRUXF52ChFpHOabr6i6Mo7mwW7aS/v0yQj/8BAt3C4ZrTxGWFhhxV/ACNg1CPEEWAZcbPAI6AXGo/xY8BL/AIPf4w0u+QyOLi1odHRwczovL2FsaWNlLmJ0Yy5jYWxlbmRhci5vcGVudGltZXN0YW1wcy5vcmcI8CAJLrM6rEx4XUolY0TMqWReNeDGXGrNnWaGt+0hyBfWkQjwIOQlvN274UpErVwUBT7zDXkML4DH6Th4z+WKtzYCo14PCPAgmjXHUtZc0cJXYRAE2+vx4dErjbhB+QvCnhrmgBfZDYgI8SDCA9m4VpqSYdi2hHpV5Bur4Av2kY+lA1Zd7t6Z0vzykAjwIIDeGEMnR2aQ70cLQaR9l/pzzb1EZdStPwVzynq4nFg4CPAgJmsoMjWrE8P2qCHp6kXXNWKZbVwVlOX7/A04KnZFTnEI8a4BAQAAAAG5/fczGDEa0/xmobo3bThFhenduHgqvJeb7UJ/KsSlpwAAAABIRzBEAiAP+GbjJ4TpZC6ZomEvnsPCDadoRe4jVqjZqu6HYsQ61wIgAMSUFqOaG2zETD2w7LKeF2rXaPRKcELWAwnbxxLLfXwB/f///wJOFDoAAAAAACMhAvRbCJrDfWp3GImDXKg4lfNdqdd67VlH4zc5rE0UqRn3rAAAAAAAAAAAImog8ATRogYACAjxIGTV5io4bVHYyTZ4qGDIUYuvHn6gn6KyFCrYUrlavlHpCAjwIEVbbtmWKlO5t2THHkUuRpCj1J1s3+YN7T0SK45SrfsYCAjwIBsqgPmMiJ2GykxOf5IH/q0K5SiPEZDuxPdWzzF7EMIDCAjxIFEMS1zPMLC4q20xGtcAuqRXuAWk2p8aoX8yMPNQgAU+CAjwIHd/soWBjpd0vQtGIwHIdEfs8TggpJteHV5sxjzxWLTqCAjwIG+t+Jj6pmzrVfirnuChQEu6ykvE8eZBjJ10toPbxAD+CAjxIEZmHtEhKgQDAjzkI61b/w+OzbPuXbn0jfjuMq3F68nqCAjxICLtR493iKUBgxGHNm6SnGQGlvmtEwDeSVo8V64bWahUCAjxIL9oophVpzZ3J+N3iuZrBxQ6VMFqmBT1KHr+mxmHyQ/zCAjxINbP+URXZk6kv6vzSRtXqFC9U0FXd5Q8WcjW7GL0ycCAjxIP02YUFllNKzQ4VSr0j4919xjXmuhBOMlAQIYXSxoz8tCAjwIMwp3irL5CqH9hsolDi547wsN4wzNcmz5UGep/0Dry+ACAgABYiWDXPXGQED1MUa8BB+v2Vqz09usWndEEHBSY35CPEEWAZcbPAI4yFyq58B490Ag9/jDS75DI4sK2h0dHBzOi8vYm9iLmJ0Yy5jYWxlbmRhci5vcGVudGltZXN0YW1wcy5vcmc= wlinsurance-20130815-C.aes256.torrent.ots AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEIHxwg7bbkxpMAoZjqjFyF3ls2gNeEHYLJOrh1wun0ctrwEFi2OueyJJWy2pXF4T8wKGsI8SCcsZ6cdQgf9XMUQyh8Ys2Vdrz4d/MgCs8AdVaYLUrdPgjwID7fXZuzTZJXoqie9X50LlKvXiN/1JkfDrGs9n/XU6JLCPEgiUKlqQExsSDv1T8X/W6FvQYPPLMs/M821+TsajW1ln0I8SCkZNcKTaElNVogwb/FXdR+DvJzNJWyoTiCBwYWMAdFeQjwIKkMX472dtv/kdfwdPVY3232Uvl7HymX1A6iukrDzJDhCPEgHLqZCPRWG8m/eU0v7RCUWyrN5uJx1DU9+vlxQphHyDgI8CDq6y5UQHXq7pzlF81Et1lawZ2z0TGynZoEA2rkB1NrrwjxIDG56+af6NmUnS1FbRpawWHv8zZKnF7wZxoZf3bu+sIyCPEg7nUSrpPAX4mpES4o/+l8PNdFV+vMFPg8TBM+8w2YqtYI8SAZLh2NevewJyRUXF52ChFpHOabr6i6Mo7mwW7aS/v0yQj/8BAt3C4ZrTxGWFhhxV/ACNg1CPEEWAZcbPAI6AXGo/xY8BL/AIPf4w0u+QyOLi1odHRwczovL2FsaWNlLmJ0Yy5jYWxlbmRhci5vcGVudGltZXN0YW1wcy5vcmcI8CAJLrM6rEx4XUolY0TMqWReNeDGXGrNnWaGt+0hyBfWkQjwIOQlvN274UpErVwUBT7zDXkML4DH6Th4z+WKtzYCo14PCPAgmjXHUtZc0cJXYRAE2+vx4dErjbhB+QvCnhrmgBfZDYgI8SDCA9m4VpqSYdi2hHpV5Bur4Av2kY+lA1Zd7t6Z0vzykAjwIIDeGEMnR2aQ70cLQaR9l/pzzb1EZdStPwVzynq4nFg4CPAgJmsoMjWrE8P2qCHp6kXXNWKZbVwVlOX7/A04KnZFTnEI8a4BAQAAAAG5/fczGDEa0/xmobo3bThFhenduHgqvJeb7UJ/KsSlpwAAAABIRzBEAiAP+GbjJ4TpZC6ZomEvnsPCDadoRe4jVqjZqu6HYsQ61wIgAMSUFqOaG2zETD2w7LKeF2rXaPRKcELWAwnbxxLLfXwB/f///wJOFDoAAAAAACMhAvRbCJrDfWp3GImDXKg4lfNdqdd67VlH4zc5rE0UqRn3rAAAAAAAAAAAImog8ATRogYACAjxIGTV5io4bVHYyTZ4qGDIUYuvHn6gn6KyFCrYUrlavlHpCAjwIEVbbtmWKlO5t2THHkUuRpCj1J1s3+YN7T0SK45SrfsYCAjwIBsqgPmMiJ2GykxOf5IH/q0K5SiPEZDuxPdWzzF7EMIDCAjxIFEMS1zPMLC4q20xGtcAuqRXuAWk2p8aoX8yMPNQgAU+CAjwIHd/soWBjpd0vQtGIwHIdEfs8TggpJteHV5sxjzxWLTqCAjwIG+t+Jj6pmzrVfirnuChQEu6ykvE8eZBjJ10toPbxAD+CAjxIEZmHtEhKgQDAjzkI61b/w+OzbPuXbn0jfjuMq3F68nqCAjxICLtR493iKUBgxGHNm6SnGQGlvmtEwDeSVo8V64bWahUCAjxIL9oophVpzZ3J+N3iuZrBxQ6VMFqmBT1KHr+mxmHyQ/zCAjxINbP+URXZk6kv6vzSRtXqFC9U0FXd5Q8WcjW7GL0ycCAjxIP02YUFllNKzQ4VSr0j4919xjXmuhBOMlAQIYXSxoz8tCAjwIMwp3irL5CqH9hsolDi547wsN4wzNcmz5UGep/0Dry+ACAgABYiWDXPXGQED1MUa8BB+v2Vqz09usWndEEHBSY35CPEEWAZcbPAI4yFyq58B490Ag9/jDS75DI4sK2h0dHBzOi8vYm9iLmJ0Yy5jYWxlbmRhci5vcGVudGltZXN0YW1wcy5vcmc= 
Now You Verify
ots verify 2016-06-03_insurance.aes256.torrent.ots ots info 2016-06-03_insurance.aes256.torrent.ots 
File sha256 hash: 620ec1c72a087f39da0ed4544b13661959243861d94de32bc467e22bd156b2c8 Timestamp: append 29fe731075a6325e3ffbb0cd1871a8cb sha256 prepend 7b53831e1922ef3f47d26a126a02105e21a286a29cbd397b9720491651debd07 sha256 append 47d83ba5d8ce0a068140331cbee71f5ff3b008225b24befa2ee4e60ef9680043 sha256 prepend 275b39e174ea9a8c74b3d9a85e9807f8d72b6d72c8f54a36c62a71c0548043a4 sha256 append 1cd223158f4023cb2a807aa3a60a2bfc9b2f22ee901bc202079e31ad7e3939d0 sha256 append 2f238c371910a1abf964bf5ad0f6cb3f1da068670bee17db74adf5583183ec23 sha256 append dc657c3817005a8347307b53826d0a48edeba46af77c85594729a4dfe5436cc4 sha256 append 33793069cd3c71cf31ba4a7efde4063955b7e0b6e2850624ea6aa65a4a11ff37 sha256 append 677e1d161cb3fd7390e2e0ee0d0e7e40d31b6a4ceba337354839626cbc3f74fe sha256 append 3b474f156340b0a25258e5786db4eb3ee9c7cd1be1bfc6690b10f24bd7538dc6 sha256 append 6557f1dfc6d6826dd856035a9abe684c4ea1461f99d4fec62231ff75b5a28cd0 sha256 append 2757ecddf0596631dde0c21469f53ef5acc106035705eb669ff7a455cd3198ad sha256 -> append 7ebf656acf4f6eb169dd1041c1498df9 sha256 prepend 58065c6c append e32172ab9f01e3dd verify PendingAttestation('') -> append 2ddc2e19ad3c46585861c55fc008d835 sha256 prepend 58065c6c append e805c6a3fc58f012 verify PendingAttestation('') sha256 append 092eb33aac4c785d4a256344cca9645e35e0c65c6acd9d6686b7ed21c817d691 sha256 append e425bcddbbe14a44ad5c14053ef30d790c2f80c7e93878cfe58ab73602a35e0f sha256 append 9a35c752d65cd1c257611004dbebf1e1d12b8db841f90bc29e1ae68017d90d88 sha256 prepend c203d9b8569a9261d8b6847a55e41babe00bf6918fa503565deede99d2fcf290 sha256 append 80de184327476690ef470b41a47d97fa73cdbd4465d4ad3f0573ca7ab89c5838 sha256 append 266b283235ab13c3f6a821e9ea45d73562996d5c1594e5fbfc0d382a76454e71 sha256 prepend 0100000001b9fdf73318311ad3fc66a1ba376d384585e9ddb8782abc979bed427f2ac4a5a7000000004847304402200ff866e32784e9642e99a2612f9ec3c20da76845ee2356a8d9aaee8762c43ad7022000c49416a39a1b6cc44c3db0ecb29e176ad768f44a7042d60309dbc712cb7d7c01fdffffff024e143a0000000000232102f45b089ac37d6a771889835ca83895f35da9d77aed5947e33739ac4d14a919f7ac0000000000000000226a20 append d1a20600 sha256 sha256 prepend 64d5e62a386d51d8c93678a860c8518baf1e7ea09fa2b2142ad852b95abe51e9 sha256 sha256 append 455b6ed9962a53b9b764c71e452e4690a3d49d6cdfe60ded3d122b8e52adfb18 sha256 sha256 append 1b2a80f98c889d86ca4c4e7f9207fead0ae5288f1190eec4f756cf317b10c203 sha256 sha256 prepend 510c4b5ccf30b0b8ab6d311ad700baa457b805a4da9f1aa17f3230f35080053e sha256 sha256 append 777fb285818e9774bd0b462301c87447ecf13820a49b5e1d5e6cc63cf158b4ea sha256 sha256 append 6fadf898faa66ceb55f8ab9ee0a1404bbaca4bc4f1e6418c9d74b683dbc400fe sha256 sha256 prepend 46661ed1212a0403023ce423ad5bff0f8ecdb3ee5db9f48df8ee32adc5ebc9ea sha256 sha256 prepend 22ed478f7788a501831187366e929c640696f9ad1300de495a3c57ae1b59a854 sha256 sha256 prepend bf68a29855a7367727e3778ae66b07143a54c16a9814f5287afe9b1987c90ff3 sha256 sha256 prepend d6cff94457664ea4bfabf3491b57a850bdaff53415777943c59c8d6ec62f4c9c sha256 sha256 prepend fd3661416594d2b3438552af48f8f75f718d79ae84138c9404086174b1a33f2d sha256 sha256 append cc29de2acbe42a87f61b289438b9e3bc2c378c3335c9b3e5419ea7fd03af2f80 sha256 sha256 verify BitcoinBlockHeaderAttestation(434900) 
bitcoin block 434900 blockhash 00000000000000000360c7470ddfb09df16421140688cd1aee88949e7b779c6d 2016-10-16
submitted by DataIntegrityEntity to WikiLeaks [link] [comments]

I brought BTCRelay up to date again in preparation for the relaunch of

BTCRelay gives Ethereum smart contracts access to Bitcoin block headers. Some of you might have noticed that for the last half year or so no one had submitted block headers to BTCRelay and it had fallen behind the Bitcoin main chain. Over the last few weeks I have worked on bringing it up to date again in preparation for the relaunch of - a lottery which determines the winner based on the hash of a specific Bitcoin block. As of today it is fully synced again.
Shout-out to ConsenSys as well, who were very helpful in the process. Thanks!
For the near future I plan to keep BTCRelay updated and for now will set the access fee to zero. That means free access to recent Bitcoin data! I hope you build something cool! :-)
submitted by vnovak to ethereum [link] [comments]

Cost estimate for operating a Doge-Relay: 3500 USD a month in transaction fees

I was thinking about how to finance the Dogecoin <-> Ethereum connection and tried to estimate the operating costs. My assumptions:
This gives: 500000 gas/minute * 0.000000050 ETH/gas * 3.50 USD/ETH * 60 minutes/hour * 24 hours/day * 30 days/month = 3780 USD/month
Any errors in my calculation? Will this be affordable?
submitted by jav_rddt to ethereum [link] [comments]

Idea on combining bitcoin and ethereum via contract and sidechain

I think would be super neat is if it was possible to make a sort of bridge between Ethereum and Bitcoin. I've yet to develop any smart contracts so take this idea with a grain of salt / not sure if it's possible but seems like it could be.
If there was an eth contract that kept updated with Bitcoin block headers you could have contracts which called into it and could tie transactions to blocks and future block heights. This could be done by allowing multiple competing chain and realigning the forks after so many blocks.
On Bitcoin side there could be some colored coin or sidechain which allowed linking to the above listed subcontract. If a sidechain could follow different rules ie would watch Ethereum subcontract and when it was fulfilled could finish the Bitcoin transaction (this I know absolutely 0 on, not sure if possible). This could enable using Bitcoin as the medium of exchange while keeping $ transferred in Bitcoin (minus the fees required to use Ethereum gas).
Why not just use Ethereum for this and sidestep Bitcoin completely? If we assume Bitcoin Cash will continue to have cheaper transaction fees than Ethereum (which I think is fair to assume, at least for this thought experiment) you could have very many transactions completed on Bitcoin when the contract was fulfilled, allowing for lower fees overall for the end users.
Curious on what you think of this idea. If it is completely unfeasible then... we should find out how to make it happen! The way I see Ethereum is that it is the king of smart contracts-- but this flexibility has a price. I see Bitcoin cash as the king of cheap dumb transactions-- but it is quite limited in its ability. If we could better unify them I think it'd be a force multiplier!
submitted by t_bptm to ethereum [link] [comments]

About ASICBoost | Sergio Demian Lerner | Oct 02 2016

Sergio Demian Lerner on Oct 02 2016:
Please Peter Todd explain here all what you want to say about a patent of a
hardware design for an ASIC.
Remember that ASICBoost is not the only patent out there, there are at
least three similar patents, filed by major Bitcoin ASIC manufacturers in
three different countries, on similar technologies.
That suggest that the problem is not ASICBoot's: you cannot blame any
company from doing lawful commerce in a FREE MARKET.
It is a flaw in Bitcoin design that could be corrected if the guidelines I
posted in [1] had been followed.
-------------- next part --------------
An HTML attachment was scrubbed...
submitted by dev_list_bot to bitcoin_devlist [link] [comments]

New BIP: Hardfork warning system | Johnson Lau | Dec 01 2016

Johnson Lau on Dec 01 2016:
This BIP defines a change in consensus rules regarding to block nVersion, and define a concept of generalized block header to implement a hardfork warning system for full nodes and light nodes.
For better formatting, visit github
BIP: ?
Title: Hardfork warning system
Author: Johnson Lau
Status: Draft
Type: Standard
Created: 2016-12-01
This BIP defines a change in consensus rules regarding to block nVersion, and define a concept of generalized block header to implement a hardfork warning system for full nodes and light nodes.
Softfork and hardfork are the 2 majors categories of consensus rules change. Generally, softforks make some previously valid blocks invalid, while hardforks make some previously invalid blocks valid. Bitcoin has successfully introduced a number of new functions through softforks. A built-in warning system is also available in many implementations to warn users for the activation of any unknown softforks.
Some features, however, may not be easily introduced with a softfork. Examples include expanding maximum block resources limits, and changing the average block time interval. When such features are implemented with a hardfork, existing full node implementations would consider such blocks as invalid, and may even ban a peer for relaying such blocks. They are effectively blind to such hardfork rule changes, leaving users to unknowingly transact on a system with potentially different token value. On the other hand, light nodes may blindly follow a hardfork with unknown rule changes and lose the right to choose the previous system.
This BIP defines a change in consensus rules regarding to block nVersion, and define a concept of generalized block header to implement a hardfork warning system for full nodes and light nodes.
Valid block
A block that satisfies all the consensus rules being enforced by a bitcoin protocol implementation. An implementation may intentionally (e.g. a light node) or unintentionally (e.g. unaware of a softfork) not enforcing any part of the current netwrok rules.
Valid blockchain
A blockchain constituting of only valid blocks.
Best valid blockchain
The valid blockchain with highest total proof-of-work.
Valid blockchain fork
A valid blockchain sharing a common ancestral block with the best valid blockchain, but with less total proof-of-work
Generalized block header
Any serialized hexadecimal data with exactly 80 bytes (byte 0 to byte 79). The bytes 4 to 35 are the double-SHA256 hash of another generalized block header. The bytes 72 to 75 are nBits, the target of this generalized block header encoded in the same way as normal bitcoin block header. The 2 most significant bits of the byte 3 are the hardfork notification bits. The semantics of other data in a generalized block header is not defined in any general way. It should be noted that a normal bitcoin block header is a special case of generalized block header.
Generalized block header chain
A chain of generalized block header. A header chain of valid blocks is a special case of a generalized block header chain.
Block nVersion softfork
A softfork is deployed to restrict the valid value of block nVersion. Upon activation, any block with the second highest nVersion bit set becomes invalid (nVersion & 0x40000000)
This softfork will be deployed by "version bits" BIP9 with the name "hfbit" and using bit 2.
For Bitcoin mainnet, the BIP9 starttime will be midnight TBC UTC (Epoch timestamp TBC) and BIP9 timeout will be midnight TBC UTC (Epoch timestamp TBC).
For Bitcoin testnet, the BIP9 starttime will be midnight TBC UTC (Epoch timestamp TBC) and BIP9 timeout will be midnight TBC UTC (Epoch timestamp TBC).
Any bitcoin implementation (full nodes and light nodes) supporting this softfork should also implement a hardfork warning system described below.
Validation of generalized block header
A bitcoin protocol implementation should consider a generalized block header as valid if it satisfies all of the following criteria:
• It is a descendant of the header of a valid block in a valid blockchain (the best valid blockchain or a valid blockchain fork). • It satisfies the proof-of-work requirement: its double-SHA256 value MUST be smaller than its target (encoded as nBits). • Its target MUST NOT be greater than the target of its last ancestral valid block by more than 1024 times. An implementation may decide to use a different threshold (or dynamic threshold), depending on its tolerance against potential DoS attacks by generating many low difficulty headers. However, if the value is set too low, a hardfork with lower difficulty may not be detected.[1] 
In general, a bitcoin protocol implementation should keep an index of all known generalized block header chains, along with the valid blockchain(s). However, if a generalized block header chain is grown on top of a very old valid block, with total proof-of-work much lower than the current best valid bloackchain, it may be safely discarded.
Hardfork warning system in full nodes
Hardfork with unknown rules
If a generalized block header chain with non-trivial total proof-of-work is emerging, and is not considered as a valid blockchain, a hardfork with unknown rules may be happening.
A wallet implementation should issue a warning to its users and stop processing incoming and outgoing transactions, until further instructions are given. It should not attempt to conduct transactions on or otherwise interpreting any block data of the hardfork with unknown rules.
A mining implementation should issue a warning to its operator. Until further instructions are given, it may either stop mining, or ignore the hardfork with unknown rules. It should not attempt to confirm a generalized block header with unknown rules.
Setting of one or both hardfork notification bits is, as defined by BIP34 and this BIP, a hardfork, and should be considered as an indication of a planned hardfork. If a hardfork with unknown rules is happening without any hardfork notification bits set, it is probably an accidental consensus failure, such as the March 2013 fork due to a block database bug (BIP50), and the July 2015 fork following the BIP66 activation.[2]
Hardfork with multiple valid blockchains
If a valid blockchain fork is emerging with non-trivial total proof-of-work, a consensus disagreement may be happening among different miners.
A wallet implementation should issue a warning to its users and stop processing incoming and outgoing transactions, until further instructions are given.
A mining implementation should issue a warning to its operator. Until further instructions are given, it may either stop mining, or mine on top of the best valid chain by its own standard.
Hardfork warning system in light nodes
Light node (usually wallet implementations) is any bitcoin protocol implementations that intentionally not fully enforcing the network rules. As an important part of the hardfork warning system, a light node should observe the hardfork notification bits in block header, along with any other rules it opts to validate. If any of the hardfork notification bits is set, it should issue a warning to its users and stop processing incoming and outgoing transactions, until further instructions are given. It should not attempt to conduct transactions on or otherwise interpreting any block data of the hardfork blockchain, even if it might be able to decode the block data.
Hardfork notification bits
There are 2 hardfork notification bits defined in this BIP. The higher bit has been forbidden since BIP34, and the lower bit is disabled by this BIP. For nodes supporting this BIP, the semantics of the 2 bits are the same: a hardfork is happening. For legacy node, however, setting the higher bit would make them fail to follow the hardforking chain. In a soft-hardfork design (described below), the lower notification bit should be used.
The hardfork warning system is able to detect the following types of hardforks:
Soft-hardfork (with the lower hardfork notification bit)
A soft-hardfork is a technique to implement a hardfork by pretending to create blocks with only a zero output value coinbase transaction, and commit the real transaction Merkle root in the coinbase scriptSig field. With the lower hardfork notification bit set, a node following this BIP will consider this as a hardfork and enter the safe mode, while a legacy node not following this BIP will be effectively broken due to seeing the continuously empty blockchain.
Redefining the nTime field
As the warning system does not interpret the nTime field, redefining it through a hardfork would be detectable. For example, overflow may be allowed to overcome the year 2106 problem.
Redefining the Merkle root hash field and changing block content validation rules
The 32-byte Merkle root hash could be redefined, for example, with a different hashing algorithm. Any block resources limitation and transaction validation rules may also be changed. All such hardforks would be detected by the warning system.
Changing average block interval or difficulty reset
Since the warning system is not bound to a particular proof-of-work target adjustment schedule, a hardfork changing the average block interval or resetting the difficulty will be detectable.
Introducing secondary proof-of-work
Introducing secondary proof-of-work (with non-SHA256 algorithm or fixing the block withholding attack against mining pools) may be detecta...[message truncated here by reddit bot]...
submitted by dev_list_bot to bitcoin_devlist [link] [comments]

BIP draft: Hardfork bit | jl2012 at | Jul 23 2015

jl2012 at on Jul 23 2015:
Please feel free to comment, for technical issues and language
BIP: ??
Title: Hardfork bit
Author: jl2012 <jl2012 at>
Status: Draft
Type: Standard Track
Created: 2015-07-23
This document specifies a proposed change to the semantics of the most
significant bit of the “version” field in Bitcoin block headers, as a
mechanism to indicate a hardfork is deployed. It alleviates certain
risks related to a hardfork by introducing an explicit “point of no
return” in the blockchain. This is a general mechanism which should be
employed by any planned hardfork in the future.
Hardforks in Bitcoin are usually considered as difficult and risky, because:
1) Hardforks require not only support of miners, but also, most
importantly, supermajority support of the Bitcoin economy. As a
result, softfork deployment mechanisms described in BIP 34 or BIP XX
“Version bits” ( are
not enough for introducing hardforks safely.
2) Full nodes and SPV nodes following original consensus rules may not
be aware of the deployment of a hardfork. They may stick to an
economic-minority fork and unknowingly accept devalued legacy tokens.
3) In the case which the original consensus rules are also valid under
the new consensus rules, users following the new chain may
unexpectedly reorg back to the original chain if it grows faster than
the new one. People may find their confirmed transactions becoming
unconfirmed and lose money.
The first issue involves soliciting support for a hardfork proposal,
which is more a political topic than a technical one. This proposal
aims at alleviating the risks related to the second and third issues.
It should be employed by any planned hardfork in the future.
See BIP YY “Motivation and deployment of consensus rules changes”
Hardfork bit: The most significant bit in nVersion is defined as the
hardfork bit. Currently, blocks with this header bit setting to 1 are
invalid, since BIP34 interprets nVersion as a signed number and
requires it to be >=2 (with BIP66, >=3). Among the 640 bits in the
block header, this is the only one which is fixed and serves no
purpose, and therefore the best way to indicate the deployment of a
Flag block: Any planned hardfork must have one and only one flag block
which is the “point of no return”. To ensure monotonicity, flag block
should be determined by block height, or as the first block with
GetMedianTimePast() greater than a threshold. Other mechanisms could
be difficult for SPV nodes to follow. The height/time threshold could
be a predetermined value or relative to other events (e.g. 1000 blocks
/ 10 days after 75% of miner support). The exact mechanism is out of
the scope of this BIP. No matter what mechanism is used, the threshold
is consensus critical. It must be publicly verifiable with only
blockchain data and the programme source code, and preferably
Flag block is constructed in a way that nodes with the original
consensus rules must reject. On the other hand, nodes with the new
consensus rules must reject a block if it is not a flag block while it
is supposed to be. To achieve these goals, the flag block must 1) have
the hardfork bit setting to 1, 2) include a short predetermined unique
description of the hardfork anywhere in its coinbase, and 3) follow
any other rules required by the hardfork. If these conditions are not
fully satisfied, upgraded nodes shall reject the block.
The hardfork bit must be turned off in the decedents of the flag
block, until the deployment of the next hardfork. The requirement of
coinbase message is also limited to the flag block. In the rare case
that multiple hardforks share the same flag block, the coinbase shall
include all relevant messages and the ordeposition of the messages
shall not be consensus critical.
Although a hardfork is officially deployed after the flag block, the
exact behavioural change is out of the scope of this BIP. For example,
a hardfork may not be fully active until certain time after the flag
Automatic warning system: When a flag block is found on the network,
full nodes and SPV nodes should look into its coinbase. They should
alert their users and/or stop accepting incoming transactions if it is
an unknown hardfork. It should be noted that the warning system could
become a DoS vector if the attacker is willing to give up the block
reward. Therefore, the warning may be issued only if a few blocks are
built on top of the flag block in a reasonable time frame. This will
in turn increase the risk in case of a real planned hardfork so it is
up to the wallet programmers to decide the optimal strategy. Human
warning system (e.g. the emergency alert system in Bitcoin Core) could
fill the gap.
As a mechanism to indicate hardfork deployment, this BIP breaks
backward compatibility intentionally. However, without further changes
in the block header format, full nodes and SPV nodes could still
verify the PoW of a flag block and its descendants.
This proposal is also compatible with the BIP XX “Version bits”. The
version bits mechanism could be employed to measure miner support
towards a hardfork proposal, and to determine the height or time
threshold of the flag block. Also, miners of the flag block may still
cast votes for other concurrent softfork or hardfork proposals as
After the flag block is generated, a miner may support either fork but
not both. It is not possible for miners in one fork to attack or
overtake the other fork because the forks are mutually exclusive.
submitted by bitcoin-devlist-bot to bitcoin_devlist [link] [comments]

Spoonnet: another experimental hardfork | Johnson Lau | Feb 06 2017

Johnson Lau on Feb 06 2017:
Finally got some time over the Chinese New Year holiday to code and write this up. This is not the same as my previous forcenet ( ). It is much simpler. Trying to activate it on testnet will get you banned. Trying to activate it on mainnet before consensus is reached will make you lose money.
This proposal includes the following features:
  1. A fixed starting time. Not dependent on miner signalling. However, it requires at least 51% of miners to actually build the new block format in order to get activated.
  2. It has no mechanism to prevent a split. If 49% of miners insist on the original chain, they could keep going. Split prevention is a social problem, not a technical one.
  3. It is compatible with existing Stratum mining protocol. Only pool software upgrade is needed
  4. A new extended and flexible header is located at the witness field of the coinbase transaction
  5. It is backward compatible with existing light wallets
  6. Dedicated space for miners to put anything they want, which bitcoin users could completely ignore. Merge-mining friendly.
  7. Small header space for miners to include non-consensus enforced bitcoin related data, useful for fee estimation etc.
  8. A new transaction weight formula to encourage responsible use of UTXO
  9. A linear growth of actual block size until certain limit
  10. Sighash O(n2) protection for legacy (non-segwit) outputs
  11. Optional anti-transaction replay
  12. A new optional coinbase tx format that allows additional inputs, including spending of immature previous coinbase outputs
Specification [Rationales]:
Extended header:
**Header1 must be exactly 32 bytes of the original transaction hash Merkle root.
**Header2 is the secondary header. It must be 36-80 bytes. The first 4 bytes must be little-endian encoded number of transactions (minimum 1). The next 32 bytes must be the witness Merkle root (to be defined later). The rest, if any, has no consensus meaning. However, miners MUST NOT use this space of non-bitcoin purpose [the additional space allows non-censensus enforced data to be included, easily accessible to light wallets]
**Header3 is the miner dedicated space. It must not be larger than 252 bytes. Anything put here has no consensus meaning [space for merge mining; non-full nodes could completely ignore data in this space; 252 is the maximum size allowed for signal byte CompactSize]
A “backdoor” softfork the relax the size limit of Header 2 and Header 3:
Sighash limitation:
New tx weight definition:
** The total serialised size * 2 * SIGHASH_SCALE_FACTOR (size defined by the witness tx format in BIP144)
** The adjusted size = (Transaction weight by BIP141 - (number of inputs - number of non-OP_RETURN outputs) * 41) * SIGHASH_SCALE_FACTOR
** nSigOps * 50 * SIGHASH_SCALE_FACTOR. All SigOps are equal (no witness scaling). For non-segwit txs, the sigops in output scriptPubKey are not counted, while the sigops in input scriptPubKey are counted.
** SigHashSize defined in the last section
Translating to new metric, the current BIP141 limit is 360,000,000. This is equivalent to 360MB of sighashing, 2MB of serialised size, 4MB of adjusted size, or 80000 nSigOp.
See rationales in this post:
Block weight growing by time:
New coinbase transaction format:
Witness merkle root:
Other consensus changes:

An experimental implementation of the above spec could be found at
Not the same as my previous effort on the “forcenet”, the “spoonnet” is a full hardfork that will get you banned on the existing network.
Haven’t got the time to test the codes yet, not independently reviewed. But it passes all existing tests in Bitcoin Core. No one should use this in production, but I think it works fine on testnet like a normal bitcoind (as long as it is not activated)
Things not implemented yet:
  1. Automated testing
  2. Post-hardfork support for old light wallets
  3. Wallet support, especially anti-tx-replay
  4. New p2p message to transmit secondary header (lower priority)
  5. Full mining and mempool support (not my priority)

Potential second stage change:
Relative to the actual activation time, there could be a second stage with more drastic changes to fix one or both of the following problems:
  1. SHA256 shortcut like ASICBoost. All fixes to ASICBoost are not very elegant. But the question is, is it acceptable to have bitcoin-specific patent in the consensus protocol? Still, I believe the best way to solve this problem is the patent holder(s) to kindly som...[message truncated here by reddit bot]...
submitted by dev_list_bot to bitcoin_devlist [link] [comments]

Bitmain - Regarding Recent Allegations and Smear Campaigns

This is an automatic summary, original reduced by 87%.
Bitmain has shown the ability to adapt and thrive in the constantly changing and extremely challenging Bitcoin mining environment.
Bitmain has continuously been advocating for increasing the Bitcoin block size.
If all mining equipment could use ASICBOOST, it will lower the J/GH cost and the total network hash rate will increase, making the Bitcoin network even stronger.
The ASICBOOST method is not a "Covert attack" on the Bitcoin PoW function.
The best method to leverage ASICBOOST is by using the Bitcoin block header's version bits.
Maxwell has previously attacked one of most important Bitcoin maintainers Gavin Andresen, one of the earliest public Bitcoin advocates and investors Roger Ver, founder and CEO of one of the largest Bitcoin exchanges Brian Armstrong, the first author of Lightning Network Joseph Poon, and now Bitmain's co-CEO Jihan Wu. He has even called his fellow Core contributors who signed the Hong Kong agreement "Dipshits".
Summary Source | FAQ | Theory | Feedback | Top five keywords: Bitcoin#1 Bitmain#2 ASICBOOST#3 miner#4 Maxwell#5
Post found in /btc, /Bitcoin and /BitcoinAll.
NOTICE: This thread is for discussing the submission topic. Please do not discuss the concept of the autotldr bot here.
submitted by autotldr to autotldr [link] [comments]

ELI5: Gregory Maxwell’s Inhibition Proposal – Jimmy Song – Medium

This is an automatic summary, original reduced by 77%.
The coinbase transaction is the transaction with the reward for miners when they find a block with sufficient proof-of-work.
The witness commitment is specified in BIP-141 and contains the Merkle Root of the witness transaction id's.
If you look at the Bitcoin block header specification, the first 64 bytes are the version, previous block hash and 28 of the 32 bytes of the Merkle Root, which is sort of a fingerprint of all the transactions in the block.
This includes all transactions, not just Segwit transactions, but assumes the coinbase transaction has a hash of all 0's. This means that calculating the Merkle Root is less efficient since the Coinbase transaction has to change anytime any transaction is changed even slightly, including changing position.
This matters because normally, changing one side of the Merkle Tree doesn't affect the other, but in this case, changing the right side of the Merkle Tree changes a large chunk of the left side which contains the coinbase transaction.
What if Segwit doesn't activate? Would this proposal change anything?In case Segwit doesn't activate, the proposal would still require the witness commitment of the transactions.
Summary Source | FAQ | Theory | Feedback | Top five keywords: transaction#1 Merkle#2 miner#3 Root#4 ASICBOOST#5
Post found in /Bitcoin, /btc and /BitcoinAll.
NOTICE: This thread is for discussing the submission topic. Please do not discuss the concept of the autotldr bot here.
submitted by autotldr to autotldr [link] [comments]

How to retrieve latest block header data in the bitcoin network?

Hi, I'm trying to find out how to get information in a C program by connecting to the bitcoin network? I don't really know much about HTTP and internet retrieving, I need information such as merkleroot, target, version etc. of a blockheader so I can find the nonce value (solution) to them.
Can someone point m in the right direction?
submitted by gradschl to Bitcoin [link] [comments]

Bitcoin mining: how is a block header of 80 bytes processed in SHA-256? Isn't it too big?

The whole process of bitcoin mining was making sense to me until a moment of madness an hour ago, if there is 80 bytes of data to be processed in SHA-256, that's 640 bits of data to be processed in SHA-256.
In this 80 bytes we have: 4 bytes (version), previous block hash (32 bytes), merkle root (32 bytes), time (4 bytes), bits (4 bytes), nonce (4 bytes).
I thought SHA-256 accepted 512 bits of data, so that's 64 bytes of data. And on top of that, I need to add the length of the data to be processed in the last 64 bits of this 512 bits input but 64 bytes is well over the limit.
What am I missing here? Can someone help hear it up for me?
submitted by gradschl to crypto [link] [comments]

What is a Block Header in Bitcoin?

What is a Block Header in Bitcoin? submitted by Ranzware to BitNewsLive [link] [comments]

Blockchain: Transactions, Blocks and Adding Data Bitcoin Blockchain Bitcoin at the protocol level Blockchain/Bitcoin for beginners 7: Blockchain header: Merkle roots and SPV transaction verification Blockchain/Bitcoin for beginners 6: blocks and mining, content and creation of bitcoin blocks Blockchain/Bitcoin for beginners 8: Bitcoin addresses, public key hash, P2PKH transactions

Bitcoin headers are then prefixed by a single 0 byte (two 0 nibbles) and placed into the remaining 80 bytes of six IPv6 addresses. Filter headers are simply placed into three IPv6 addresses with a 17-nibble (8.5 byte) 0 suffix. The genesis block header is, thus, encoded as (note that the responses are usually not sorted): Der Zweck des Bitcoin Block Headers: hashPrevBlock wird von vielen Quellen als Hash des vorherigen Blocks beschrieben. hashMerkleRoot stellt die Integrität der Transaktionen sicher, daher reicht es, einfach nur die Block Header zu verhindern. Deshalb wird es als unabhängiges Datenobjekt betrachtet. Das ist für faires Mining sehr wichtig, da die benötigte Zeit zum Hashing eines Block ... The main way of identifying a block in the blockchain is via its block header hash. The block header hash is calculated by running the block header through the SHA256 algorithm twice. A block header hash is not sent through the network but instead is calculated by each node as part of the verification process of each block. Anhand des Block Headers kann ein Block eindeutig identifiziert werden. Er ist ein 80-Byte-Header und wird wiederholt gehasht, um einen Arbeitsnachweis (Proof-of-Work) zu erbringen. Block headers are serialized in the 80-byte format described below and then hashed as part of Bitcoin’s proof-of-work algorithm, making the serialized header format part of the consensus rules. Bytes. Name. Data Type. Description. 4. version. int32_t. The block version number indicates which set of block validation rules to follow. See the list of block versions below. 32. previous block ...

[index] [50621] [49560] [18994] [5191] [32382] [45399] [19050] [2513] [40186] [5700]

Blockchain: Transactions, Blocks and Adding Data

Blockchain/Bitcoin for beginners 7: Blockchain header: Merkle roots and SPV transaction verification - Duration: 39:40. Matt Thomas 14,368 views. 39:40. Network Security 101: Full Workshop ... How are transactions stored (and recorded) in the Blockchain blocks? Using a concept called a Merkle tree - in this video I break it down in depth with a simple example and show how a SPV node ... Blockchain/Bitcoin for beginners 7: Blockchain header: Merkle roots and SPV transaction verification - Duration: ... The Blockchain & Bitcoin - Computerphile - Duration: 17:46. Computerphile ... In this video we introduce the basic concepts behind how new blocks are created in the Bitcoin blockchain. We start by taking another look at the website to see some sample blocks ... Blockchain/Bitcoin for beginners 6: blocks and mining, content and creation of bitcoin blocks - Duration: 46:48. ... Blockchain/Bitcoin for beginners 7: Blockchain header: Merkle roots and SPV ...