GitHub - znort987/blockparser: Simple C++ bitcoin ...

Subreddit Stats: programming top posts from 2019-10-22 to 2020-10-21 06:41 PDT

Period: 364.67 days
Submissions Comments
Total 1000 180545
Rate (per day) 2.74 491.84
Unique Redditors 629 34951
Combined Score 1178903 2688497

Top Submitters' Top Submissions

  1. 47468 points, 49 submissions: iamkeyur
    1. One Guy Ruined Hacktoberfest 2020 (3039 points, 584 comments)
    2. AWS forked my project and launched it as its own service (2956 points, 810 comments)
    3. Privacy analysis of Tiktok’s app and website (2858 points, 234 comments)
    4. 98.css – design system for building faithful recreations of Windows 98 UIs (2781 points, 318 comments)
    5. Microsoft demos language model that writes code based on signature and comment (2621 points, 614 comments)
    6. Why does HTML think “chucknorris” is a color? (2565 points, 531 comments)
    7. Windows 95 UI Design (2309 points, 665 comments)
    8. The Linux codebase has over 3k TODO comments, many from over a decade ago (2119 points, 369 comments)
    9. eBay is port scanning visitors to their website (1829 points, 236 comments)
    10. Using const/let instead of var can make JavaScript code run 10× slower in Webkit (1814 points, 525 comments)
  2. 44853 points, 28 submissions: speckz
    1. From August, Chrome will start blocking ads that consume 4MB of network data, 15 seconds of CPU usage in any 30 second period, or 60 seconds of total CPU usage (8434 points, 590 comments)
    2. How To Spot Toxic Software Jobs From Their Descriptions (6246 points, 1281 comments)
    3. A Facebook crawler was making 7M requests per day to my stupid website (2662 points, 426 comments)
    4. Apple, Your Developer Documentation is Garbage (2128 points, 432 comments)
    5. The code I’m still ashamed of (2016) (2105 points, 429 comments)
    6. Slack Is Fumbling Developers And The Rise Of Developer Discords (2095 points, 811 comments)
    7. The Chromium project finds that around 70% of our serious security bugs are memory safety problems. Our next major project is to prevent such bugs at source. (1959 points, 418 comments)
    8. Advice to Myself When Starting Out as a Software Developer (1934 points, 257 comments)
    9. Software patents are another kind of disease (1893 points, 419 comments)
    10. My favourite Git commit (1772 points, 206 comments)
  3. 35237 points, 28 submissions: whackri
    1. It is perfectly OK to only code at work, you can have a life too (6765 points, 756 comments)
    2. Kernighan's Law - Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. (5171 points, 437 comments)
    3. The entire Apollo 11 computer code that helped get us to the Moon is available on github. (3841 points, 433 comments)
    4. Raytracing - in Excel! (2478 points, 168 comments)
    5. Writing userspace USB drivers for abandoned devices (1689 points, 84 comments)
    6. Drum Machine in Excel (1609 points, 60 comments)
    7. fork() can fail: this is important (1591 points, 264 comments)
    8. Learn how computers add numbers and build a 4 bit adder circuit (1548 points, 66 comments)
    9. Heroes Of Might And Magic III engine written from scratch (open source, playable) (1453 points, 84 comments)
    10. Apollo Guidance Computer: Restoring the computer that put man on the Moon (1277 points, 47 comments)
  4. 14588 points, 11 submissions: pimterry
    1. I'm a software engineer going blind, how should I prepare? (4237 points, 351 comments)
    2. The 2038 problem is already affecting some systems (1988 points, 518 comments)
    3. TLDR pages: Simplified, community-driven man pages (1897 points, 182 comments)
    4. JetBrains Mono: A Typeface for Developers (1728 points, 456 comments)
    5. BlurHash: extremely compact representations of image placeholders (930 points, 159 comments)
    6. Let's Destroy C (855 points, 290 comments)
    7. Shared Cache is Going Away (833 points, 192 comments)
    8. XML is almost always misused (766 points, 538 comments)
    9. Wireshark has a new packet diagram view (688 points, 24 comments)
    10. fork() can fail: this is important (460 points, 299 comments)
  5. 14578 points, 9 submissions: magenta_placenta
    1. Trello handed over user's personal account to user's previous company (2962 points, 489 comments)
    2. Feds: IBM did discriminate against older workers in making layoffs - “Analysis shows it was primarily older workers (85.85%) in the total potential pool of those considered for layoff,” the EEOC wrote (2809 points, 509 comments)
    3. Stripe Workers Who Relocate Get $20,000 Bonus and a Pay Cut - Stripe Inc. plans to make a one-time payment of $20,000 to employees who opt to move out of San Francisco, New York or Seattle, but also cut their base salary by as much as 10% (2765 points, 989 comments)
    4. US court fully legalized website scraping and technically prohibited it - On September 9, the U.S. 9th circuit court of Appeals ruled that web scraping public sites does not violate the CFAA (Computer Fraud and Abuse Act) (2014 points, 327 comments)
    5. I Suspect many Task Deadlines are Designed to Force Engineers to Work for Free (1999 points, 553 comments)
    6. Intent to Deprecate and Freeze: The User-Agent string (1012 points, 271 comments)
    7. Contractor admits planting logic bombs in his software to ensure he’d get new work (399 points, 182 comments)
    8. AlphaStar: Grandmaster level in StarCraft II using multi-agent reinforcement learning (396 points, 97 comments)
    9. Half of the websites using WebAssembly use it for malicious purposes - WebAssembly not that popular: Only 1,639 sites of the Top 1 Million use WebAssembly (222 points, 133 comments)
  6. 13750 points, 3 submissions: pedrovhb
    1. Bubble sort visualization (7218 points, 276 comments)
    2. Breadth-first search visualization (3874 points, 96 comments)
    3. Selection sort visualization (2658 points, 80 comments)
  7. 11833 points, 1 submission: flaming_bird
    1. 20GB leak of Intel data: whole Git repositories, dev tools, backdoor mentions in source code (11833 points, 956 comments)
  8. 11208 points, 10 submissions: PowerOfLove1985
    1. No cookie consent walls — and no, scrolling isn’t consent, says EU data protection body (5975 points, 890 comments)
    2. Redesigning uBlock Origin (1184 points, 162 comments)
    3. Playing Around With The Fuchsia Operating System (696 points, 164 comments)
    4. Microsoft's underwater data centre resurfaces after two years (623 points, 199 comments)
    5. Microsoft Paint/Paintbrush in Javascript (490 points, 58 comments)
    6. GitHub shuts off access to Aurelia repository, citing trade sanctions (478 points, 81 comments)
    7. How 3D Game Rendering Works: Texturing (475 points, 22 comments)
    8. Simdjson: Parsing Gigabytes of JSON per Second (441 points, 90 comments)
    9. How 1500 bytes became the MTU of the internet (435 points, 60 comments)
    10. It’s OK for your open source library to be a bit shitty (411 points, 130 comments)
  9. 10635 points, 8 submissions: michalg82
    1. Turning animations to 60fps using AI (3449 points, 234 comments)
    2. Bug #1463112 “Cat sitting on keyboard crashes lightdm” (3150 points, 143 comments)
    3. Heroes Of Might And Magic III engine written from scratch (open source, playable) (1431 points, 172 comments)
    4. Vulkan is coming to Raspberry Pi: first triangle - Raspberry Pi (1318 points, 66 comments)
    5. An EPYC trip to Rome: AMD is Cloudflare's 10th-generation Edge server CPU (431 points, 60 comments)
    6. Microsoft cancels GDC 2020 presence due to coronavirus concerns (Following Sony, Facebook, Kojima Productions, Epic Games, Unity, and more) (371 points, 52 comments)
    7. Moving from reCAPTCHA to hCaptcha - The Cloudflare Blog (278 points, 71 comments)
    8. How much of a genius-level move was using binary space partitioning in Doom? (207 points, 109 comments)
  10. 10106 points, 10 submissions: SerenityOS
    1. Someone suggested I should host my website on my own OS. For that we'll need a web server, so here's me building a basic web server in C++ for SerenityOS! (2269 points, 149 comments)
    2. I've been learning about OS security lately. Here's me making a local root exploit for SerenityOS, and then fixing the kernel bugs that made it possible! (1372 points, 87 comments)
    3. SerenityOS was hacked in a 36c3 CTF! (Exploit and write-up) (1236 points, 40 comments)
    4. One week ago, I started building a JavaScript engine for SerenityOS. Here’s me integrating it with the web browser and adding some simple API’s like alert()! (1169 points, 63 comments)
    5. Implementing macOS-style "purgeable memory" in my kernel. This technique is amazing and helps apps be better memory usage citizens! (1131 points, 113 comments)
    6. SerenityOS: The second year (900 points, 101 comments)
    7. Using my own C++ IDE to make a little program for decorating my webcam frame (571 points, 33 comments)
    8. This morning I ported git to SerenityOS. It took about an hour and some hacks, but it works! :D (547 points, 64 comments)
    9. Smarter C/C++ inlining with attribute((flatten)) (521 points, 118 comments)
    10. Introduction to SerenityOS GUI programming (390 points, 45 comments)

Top Commenters

  1. XANi_ (10753 points, 821 comments)
  2. dnew (7513 points, 641 comments)
  3. drysart (7479 points, 202 comments)
  4. MuonManLaserJab (6666 points, 233 comments)
  5. SanityInAnarchy (6331 points, 350 comments)
  6. AngularBeginner (6215 points, 59 comments)
  7. SerenityOS (5627 points, 128 comments)
  8. chucker23n (5465 points, 370 comments)
  9. IshKebab (4898 points, 393 comments)
  10. L3tum (4857 points, 199 comments)

Top Submissions

  1. 20GB leak of Intel data: whole Git repositories, dev tools, backdoor mentions in source code by flaming_bird (11833 points, 956 comments)
  2. hentAI: Detecting and removing censors with Deep Learning and Image Segmentation by 7cmStrangler (9621 points, 395 comments)
  3. US Politicians Want to Ban End-to-End Encryption by CarrotRobber (9427 points, 523 comments)
  4. From August, Chrome will start blocking ads that consume 4MB of network data, 15 seconds of CPU usage in any 30 second period, or 60 seconds of total CPU usage by speckz (8434 points, 590 comments)
  5. Mozilla: The Greatest Tech Company Left Behind by matthewpmacdonald (7566 points, 1087 comments)
  6. Bubble sort visualization by pedrovhb (7218 points, 276 comments)
  7. During lockdown my wife has been suffering mentally from pressure to stay at her desk 100% of the time otherwise after a few minutes her laptop locks and she is recorded as inactive. I wrote this small app to help her escape her desk by periodically moving the cursor. Hopefully it can help others. by silitbang6000 (7193 points, 855 comments)
  8. It is perfectly OK to only code at work, you can have a life too by whackri (6765 points, 756 comments)
  9. Blockchain, the amazing solution for almost nothing by imogenchampagne (6725 points, 1561 comments)
  10. Blockchain, the amazing solution for almost nothing by jessefrederik (6524 points, 1572 comments)

Top Comments

  1. 2975 points: deleted's comment in hentAI: Detecting and removing censors with Deep Learning and Image Segmentation
  2. 2772 points: I_DONT_LIE_MUCH's comment in 20GB leak of Intel data: whole Git repositories, dev tools, backdoor mentions in source code
  3. 2485 points: api's comment in Stripe Workers Who Relocate Get $20,000 Bonus and a Pay Cut - Stripe Inc. plans to make a one-time payment of $20,000 to employees who opt to move out of San Francisco, New York or Seattle, but also cut their base salary by as much as 10%
  4. 2484 points: a_false_vacuum's comment in Stack Overflow lays off 15%
  5. 2464 points: iloveparagon's comment in Google engineer breaks down the problems he uses when doing technical interviews. Lots of advice on algorithms and programming.
  6. 2384 points: why_not_both_bot's comment in During lockdown my wife has been suffering mentally from pressure to stay at her desk 100% of the time otherwise after a few minutes her laptop locks and she is recorded as inactive. I wrote this small app to help her escape her desk by periodically moving the cursor. Hopefully it can help others.
  7. 2293 points: ThatInternetGuy's comment in Iranian Maintainer refuses to merge code from Israeli Developer. Cites Iranian regulations.
  8. 2268 points: xequae's comment in I'm a software engineer going blind, how should I prepare?
  9. 2228 points: turniphat's comment in AWS forked my project and launched it as its own service
  10. 2149 points: Rami-Slicer's comment in 20GB leak of Intel data: whole Git repositories, dev tools, backdoor mentions in source code
Generated with BBoe's Subreddit Stats
submitted by flpezet to subreddit_stats [link] [comments]

RiB Newsletter #14 – Are We Smart (Contract) Yet?

We’re seeing a bunch of interesting Rust blockchain and crypto projects, so this month the “Interesting Things” section is loaded up with news, papers, and project links.
This month, Elrond, appeared on our radar with the launch of their mainnet. Although not written in Rust, it runs Rust smart contracts on its Arwen WASM VM, which itself is based on the Rust Wasmer VM. Along with NEAR, Nervos, and Enigma (and probably others), this continues an encouraging trend of blockchains enabling smart contracts in Rust. See the “Interesting Things” section for examples of Elrond’s Rust contracts.
Rust continues to be popular for research into zero-knowledge proofs, with Microsoft releasing Spartan, a zk-SNARK system without trusted setup.
In RiB news, we published a late one-year anniversary blog post. It has some reflection on the changes to, and growth of, RiB over the last year.
The Awesome Blockchain Rust project, which is maintained by Sun under the rust-in-blockchain GitHub org, has received a stream of updates recently, and is now published as the Awesome-RiB page on rustinblockchain.org.
It’s a pretty good resource for finding blockchain-related Rust projects, with links to many of the more prominent and mature projects noted in the RiB newsletter. It could use more eyes on it though.

Project Spotlight

Each month we like to shine a light on a notable Rust blockchain project. This month that project is…
ethers.rs
ethers.rs is an Ethereum & Celo library and wallet implementation, implemented as a port of the ethers.js library to Rust.
Ethereum client programming is usually done in JavaScript with either web3.js or ethers.js, with ethers.js being the newer of the two. These clients communicate to an Ethereum node, typically via JSON-RPC (or, when in the browser, via an “injected” client provider that follows EIP-1193, like MetaMask).
ethers.rs then provides a strongly-typed alternative for writing software that interacts with the Ethereum network.
As of now it is only suited for non-browser use cases, but if you prefer hacking in Rust to JavaScript, as some of us surely do, it is worth looking into for your next Ethereum project.
The author of ethers.rs, Georgios Konstantopoulos, accepts donations to sponsor their work.
Note that there is also a Rust alternative to web3.js, rust-web3.

Interesting Things

News

Blog Posts

Papers

Projects

Podcasts and Videos


Read more: https://rustinblockchain.org/newsletters/2020-08-05-are-we-smart-contract-yet/
submitted by Aimeedeer to rust [link] [comments]

Questions about Bitcoin reorganization process logic with a rev*.dat file format or byte map.

Hi, I’m currently learning how bitcoin operates by studying the BitcoinCore code and several other bitcoin projects, most of them parsers, and came to a topic of blockchain data storage of blk*.dat and rev*.dat.
While blk*.dat format is more or less documented and the process is described really good (https://learnmeabitcoin.com/guide/blkdat) most of the resources are lacking detailed descriptions of rev*.dat file format and how the process of handling blockchain reorganization (block undo) works. Some Parsers (https://github.com/citp/BlockSci) have rules not to parse new blocks before a certain amount of confirmations so they do not need to deal with the issues of reorganization.
Right now I’m very interested in the logic of blockchain reorganization and found some descriptions:https://en.bitcoin.it/wiki/Bitcoin_Core_0.11_(ch_2):_Data_Storage#Raw_undo_data_.28rev.2A.dat.29:Data_Storage#Raw_undo_data.28rev.2A.dat.29) And an awesome post reply by Pieter Wuille: https://bitcoin.stackexchange.com/questions/57978/file-format-rev-dat I even tried to visualize that answer in a picture: https://prnt.sc/s4ile4
The problem is that all those explanations are dated because of the update (https://github.com/bitcoin/bitcoin/pull/10195) that replaced CTxInUndo class with Coin class (https://github.com/bitcoin/bitcoin/commit/cb2c7fdac2dc74368ed24ae4717ed72178956b92 )
I know that code is the best documentation, but I still find it hard to read and understand, so I’m asking for help to answer these questions:
Apart from learning how everything works, I’m also interested in these topics because they say that it’s possible to get blockstasts faster using rev*.dat files (https://github.com/bitcoin/bitcoin/pull/14802) and I want to properly picture the whole processes with the rev*.dat files.
submitted by cyberwarboy to Bitcoin [link] [comments]

Update TKEYSPACE 1.3.0 on Android

Update TKEYSPACE 1.3.0 on Android

https://preview.redd.it/6w93e0afttx41.png?width=1400&format=png&auto=webp&s=c00989612ec2d52eb522405e6b6a98bf875e08bb
Version 1.3.0 is a powerful update to TkeySpace that our team has been carefully preparing. since version 1.2.0, we have been laying the foundation for implementing new features that are already available in the current version.
Who cares about the security and privacy of their assets is an update for you.
TkeySpace — was designed to give You full control over your digital assets while maintaining an exceptional level of security, which is why there is no personal data in the wallet: phone number, the email address that could be compromised by hackers — no identity checks and other hassles, just securely save the backup phrase consisting of 12 words.

Briefly about the TkeySpace 1.3.0 update :

  • Code optimization and switching to AndroidX;
  • New section-Privacy;
  • Built-in TOR;
  • Selecting the privacy mode;
  • Selecting the recovery method for each currency;
  • Choosing the address format for Litecoin;
  • Enhanced validation of transactions and blocks in the network;
  • Disk space optimization;
  • Accelerated syncing;
  • Checking “double spending”;
  • The bloom filter to check for nodes;
  • Updating the Binance and Ethereum libraries;
  • A function to hide the balance;
  • Advanced currency charts;
  • Access to charts without authentication;
  • News section;
  • Browser for Tkeycoin;
  • Independent Commission entry for Bitcoin;
  • New digital currencies;
  • Digital currency exchange tab.

Code optimization and switching to AndroidX

A lot of work has been done on optimizing the code to speed up the application, improving the logic, synchronization speed, calculating the hash of cryptocurrencies, and successfully switching to AndroidX.

https://preview.redd.it/h3go5tzgttx41.png?width=1100&format=png&auto=webp&s=bf311efc73e3577c80f06a21d6b9317bb93ae989

New section: Privacy

  • Enable Tor;
  • Blockchain transaction (the selection of the privacy mode);
  • Blockchain recovery (choosing a recovery method);
https://preview.redd.it/iydfwuhittx41.png?width=1080&format=png&auto=webp&s=2ce7c489d893a2ab6b9d6fede57d8b94404edcfb

TOR

Starting with the current update, the TkeySpace wallet can communicate via the TOR network, includes new privacy algorithms, and supports 59 different currencies.

https://i.redd.it/kn5waeskttx41.gif
Tor is a powerful privacy feature for those who own large assets or live in places where the Internet is heavily censored.
Tor technology provides protection against traffic analysis mechanisms that compromise not only Internet privacy, but also the confidentiality of trade secrets, business contacts, and communications in General.
When you enable TOR settings, all outgoing traffic from the wallet will be encrypted and routed through an anonymous network of servers, periodically forming a chain through the Tor network, which uses multi-level encryption, effectively hiding any information about the sender: location, IP address, and other data.
This means that if your provider blocks the connection, you can rest easy — after all, by running this function, you will get an encrypted connection to the network without restrictions.

https://preview.redd.it/w9y3ax4mttx41.png?width=960&format=png&auto=webp&s=972e375fc26d479e8b8d2999f7659ec332e2af55
In TOR mode, the wallet may work noticeably slower and in some cases, there may be problems with the network, due to encryption, some blockchain browsers may temporarily not work. However, TOR encryption is very important when Internet providers completely block traffic and switching to this mode, you get complete freedom and no blocks for transactions.

Confidentiality of transactions (the Blockchain transaction)

The wallet can change the model of a standard transaction, mixing inputs and outputs, making it difficult to identify certain cryptocurrencies. In the current update, you can select one of several modes for the transaction privacy level: deterministic lexicographic sorting or shuffle mode.

Mode: Lexicographic indexing

Implemented deterministic lexicographic sorting using hashes of previous transactions and output indexes for sorting transaction input data, as well as values and scriptPubKeys for sorting transaction output data;
We understand that information must remain confidential not only in the interests of consumers but also in higher orders, financial systems must be kept secret to prevent fraud. One way to address these privacy shortcomings is to randomize the order of inputs and outputs.
Lexicographic ordering is a comparison algorithm used to sort two sets based on their Cartesian order within their common superset. Lexicographic order is also often referred to as alphabetical order or dictionary order. The hashes of previous transactions (in reverse byte order) are sorted in ascending order, lexicographically.
In the case of two matching transaction hashes, the corresponding previous output indexes will be compared by their integer value in ascending order. If the previous output indexes match, the input data is considered equal.

Shuffle Mode: mixing (random indexing)

To learn more about how “shuffle mode” works, we will first analyze the mechanisms using the example of a classic transaction. Current balance Of your wallet: 100 TKEY, coins are stored at different addresses:
x1. Address-contains 10 TKEY. x2. Address-contains 20 TKEY. x3. Address-contains 30 TKEY. x4. Address-contains 15 TKEY. x5. Address-contains 25 TKEY.
Addresses in the blockchain are identifiers that you use to send cryptocurrency to another person or to receive digital currency.
In a classic transaction, if you need to send, for example, 19 TKEY — 100 TKEY will be sent to the network for “melting” coins, 19 TKEY will be sent to the Recipient, and ~80.9 TKEY will return to the newly generated address for “change” in your wallet.

https://preview.redd.it/x595qwdottx41.png?width=806&format=png&auto=webp&s=d9c2ae5620a3410ed83f7e16c018165c8ab35844
In the blockchain explorer, you will see the transaction amount in the amount of 100 TKEY, where 80.99999679 TKEY is your change, 19 TKEY is the amount you sent and 0.00000321 is the transaction fee. Thus, in the blockchain search engine, most of your balance is shown in the transaction.

How does the shuffle mode work?

Let’s look at a similar example: you have 100 TKEY on your balance, and you need to send 19 TKEY.
x1. Address-contains 10 TKEY. x2. Address-contains 20 TKEY. x3. Address-contains 30 TKEY. x4. Address-contains 15 TKEY. x5. Address-contains 25 TKEY.
You send 19 TKEY, the system analyzes all your addresses and balances on them and selects the most suitable ones for the transaction. To send 19 TKEY, the miners will be given coins with x2. Addresses, for a total of 20 TKEY. Of these, 19 TKEY will be sent to the recipient, and 0.99999679 TKEY will be returned to Your new address as change minus the transaction fee.

https://preview.redd.it/doxmqffqttx41.png?width=1400&format=png&auto=webp&s=5c99ec41363fe50cd651dc0acab05e175416006a
In the blockchain explorer, you will see the transaction amount in the amount of 20 TKEY, where 0.99999679 TKEY is Your change, 19 TKEY is the amount you sent and 0.00000321 is the transaction fee.
The shuffle mode has a cumulative effect. with each new transaction, delivery Addresses will be created and the selection of debit addresses/s that are most suitable for the transaction will change. Thus, if you store 1,000,000 TKEY in your wallet and want to send 1 TKEY to the recipient, the transaction amount will not display most of your balance but will select 1 or more addresses for the transaction.

Selecting the recovery method for each digital currency (Blockchain restore)

Now you can choose the recovery method for each currency: API + Blockchain or blockchain.
Note: This is not a syncing process, but rather the choice of a recovery method for your wallet. Syncing takes place with the blockchain — regardless of the method you choose.
https://preview.redd.it/gxsssuxrttx41.png?width=1080&format=png&auto=webp&s=cd9fe383618dda0e990e86485652ff95652a8481

What are the differences between recovery methods?

API + Blockchain

In order not to load the entire history of the blockchain, i.e. block and transaction headers, the API helps you quickly get point information about previous transactions. For example, If your transactions are located in block 67325 and block 71775, the API will indicate to the node the necessary points for restoring Your balance, which will speed up the “recovery” process.
As soon as the information is received, communication with the peers takes place and synchronization begins from the control point, then from this moment, all subsequent block loading is carried out through the blockchain. This method allows you to quickly restore Your existing wallet.
‘’+’’ Speed.
‘’-’’ The API server may fail.

Blockchain

This method loads all block headers (block headers + Merkle) starting from the BIP44 checkpoint and manually validates transactions.
‘’+’’ It always works and is decentralized. ‘’-’’ Loading the entire blockchain may take a long time.

Why do I need to switch the recovery method?

If when creating a wallet or restoring it, a notification (!) lights up in red near the selected cryptocurrency, then most likely the API has failed, so go to SettingsSecurity CenterPrivacyBlockchain Restore — switch to Blockchain. Syncing will be successful.

Selecting the address format

You can choose the address format not only for Bitcoin but also for Litecoin. Legacy, SegWit, Native SegWit. Go to SettingsManage WalletsAddress Format.

https://preview.redd.it/nqj0nwutttx41.png?width=1080&format=png&auto=webp&s=fc04b8ee8339ab27d3203ff551013cda7aa9e8db

Working at the code level

Enhanced validation of transactions and blocks in the network

Due to the increased complexity in the Tkeycoin network, we have implemented enhanced validation of the tkeycoin consensus algorithm, and this algorithm is also available for other cryptocurrencies.

What is the advantage of the enhanced validation algorithm for the user

First, the name itself speaks for itself — it increases the security of the network, and second, by implementing the function — we have accelerated the work of the TkeySpace blockchain node, the application consumes even fewer resources than before.
High complexity is converted to 3 bytes, which ensures fast code processing and the least resource consumption on your device.

Synchronization

The synchronization process has been upgraded. Node addresses are added to the local storage, and instant synchronization with nodes occurs when you log in again.

Checking for double-spending

TkeySpace eliminates “double-spending” in blockchains, which is very valuable in the Bitcoin and Litecoin networks.
For example, using another application, you may be sent a fake transaction, and the funds will eventually disappear from the network and your wallet because this feature is almost absent in most applications.
Using TkeySpace — you are 100% sure that your funds are safe and protected from fraudulent transactions in the form of “fake” transactions.

The bloom filter to check for nodes

All nodes are checked through the bloom filter. This allows you to exclude fraudulent nodes that try to connect to the network as real nodes of a particular blockchain.
In practice, this verification is not available in applications, Tkeycoin — decided to follow a new trend and change the stereotypes, so new features such as node verification using the bloom filter and double-spending verification are a kind of innovation in applications that work with cryptocurrencies.

Updating the Binance and Ethereum libraries

Updated Binance and Ethereum libraries for interaction with the TOR network.

Interface

Function — to hide the balance

This function allows you to hide the entire balance from the main screen.

Advanced currency charts and charts without authentication

Detailed market statistics are available, including volumes, both for 1 day and several years. Select the period of interest: 1 day, 7 days, 1 month, 3 months, 6 months, 1 year, 2 years.
In version 1.3.0, you can access charts without authentication. You can monitor the cryptocurrency exchange rate without even logging in to the app. If you have a pin code for logging in, when you open the app, swipe to the left and you will see a list of currencies.

https://preview.redd.it/f3thqv1wttx41.png?width=1080&format=png&auto=webp&s=1906307f7ad1fd6db47bf270ce7c57185267b1a3

News

In the market data section — in the tkeyspace added a section with current news of the cryptocurrency market.

https://preview.redd.it/lz1e7ynxttx41.png?width=1080&format=png&auto=webp&s=b6f1858d8752cfc6187df5d7b8a2ce25813e2366

Blockchain Explorer for Tkeycoin

Transaction verification for Tkeycoin is now available directly in the app.

Independent Commission entry for Bitcoin

Taking into account the large volume of the Bitcoin network, we have implemented independent Commission entry — you can specify any Commission amount.
For other currencies, smart Commission calculation is enabled based on data from the network. The network independently regulates the most profitable Commission for the sender.

New digital currencies

The TkeySpace wallet supports +59 cryptocurrencies and tokens.

Cryptocurrencies

Tkeycoin (TKEY), Bitcoin (BTC), Litecoin (LTC), Ethereum (ETH), Bitcoin Cash (BCH), DASH, Binance (BNB), EOS.

Stablecoins

TrueUSD (TUSD), Tether USD (USDT), USD Coin (USDC), Gemini Dollar (GUSD), STASIS EURO (EURS), Digix Gold Token (DGX), Paxos Standard (PAX), PAX Gold (PAXG), Binance USD (BUSD), EOSDT, Prospectors Gold (PGL).

ERC-20, BEP2, and EOS tokens

Newdex (NDX), DigixDAO ERC-20 (DGD), Chainlink ERC-20 (LINK), Decentraland ERC-20 (MANA), EnjinCoin ERC-20 (ENJ), the Native Utility (NUT), 0x Protocol ERC-20 (ZRX), Aelf ERC-20 (ELF), Dawn DAO ERC-20 (AURA), Cashaaa BEP2 (CAS), Bancor ERC-20 (BNT), the Basic Attention Token ERC-20 (BAT), Golem ERC-20 (GNT), Mithril ERC-20 (MITH), MEETONE, NEXO ERC-20, Holo ERC-20 (HOT), Huobi Token ERC-20 (HT), IDEX ERC-20, IDEX Membership ERC-20 (IDXM), Bitcoin BEP2 (BTCB), Waltonchain ERC-20 (WTC), KuCoin Shares ERC-20 (KCS), Kyber Network Crystal ERC-20 (KNC), Loom Network ERC-20 (LOOM), Ripple (XRP), Everipedia (IQ), Loopring ERC-20 (LRC), Maker ERC-20 (MKR), the Status of the ERC-20 (SNT), Ankr Network BEP2 (ANKR), OmiseGO ERC-20 (OMG), ^ american English ERC-20 (^american English), Polymath ERC-20 (POLY), Populous ERC-20 (PPT), Pundi X ERC-20 (NPXS), Parser ERC-20 (REP), Revain ERC-20 (R), Binance ERC20 (BNB-ERC20), Gifto BEP2 (GTO).

Exchange of cryptocurrency

The “Limitless Crypto Exchange” tab is available for a quick transition to an unlimited exchange in 200 digital currencies — 10,000 currency pairs.

How do I update TkeySpace to version 1.3.0?

  1. Go to Google Play on your device — My apps and games — find TkeySpace in the list of apps — click Update.
  2. Go to Google Play on your device-write TkeySpace in the search — click on the app icon — Update.
After the update, you will need to restore your wallet.
submitted by tkeycoin to Tkeycoin_Official [link] [comments]

Questions about Bitcoin reorganization process logic with a rev*.dat file format or byte map.

Hi, I’m currently learning how bitcoin operates by studying the BitcoinCore code and several other bitcoin projects, most of them parsers, and came to a topic of blockchain data storage of blk*.dat and rev*.dat.
While blk*.dat format is more or less documented and the process is described really good (https://learnmeabitcoin.com/guide/blkdat) most of the resources are lacking detailed descriptions of rev*.dat file format and how the process of handling blockchain reorganization (block undo) works. Some Parsers (https://github.com/citp/BlockSci) have rules not to parse new blocks before a certain amount of confirmations so they do not need to deal with the issues of reorganization.
Right now I’m very interested in the logic of blockchain reorganization and found some descriptions:https://en.bitcoin.it/wiki/Bitcoin_Core_0.11_(ch_2):_Data_Storage#Raw_undo_data_.28rev.2A.dat.29:Data_Storage#Raw_undo_data.28rev.2A.dat.29) And an awesome post reply by Pieter Wuille: https://bitcoin.stackexchange.com/questions/57978/file-format-rev-dat I even tried to visualize that answer in a picture: https://prnt.sc/s4ile4
The problem is that all those explanations are dated because of the update (https://github.com/bitcoin/bitcoin/pull/10195) that replaced CTxInUndo class with Coin class (https://github.com/bitcoin/bitcoin/commit/cb2c7fdac2dc74368ed24ae4717ed72178956b92 )
I know that code is the best documentation, but I still find it hard to read and understand, so I’m asking for help to answer these questions:
Apart from learning how everything works, I’m also interested in these topics because they say that it’s possible to get blockstasts faster using rev*.dat files (https://github.com/bitcoin/bitcoin/pull/14802) and I want to properly picture the whole processes with the rev*.dat files.
submitted by cyberwarboy to BitcoinTechnology [link] [comments]

Anyone have relatively small blockchain file for me to use?

I'm looking to write a parser. I see a download for the 21GB blockchain file, are there smaller ones? Does anyone have an example one I could download to work on?
Thanks!
submitted by robot_one to Bitcoin [link] [comments]

Is there some source for the exact contributions bonus function?

I have made some more progress on a script that will allow anyone with a synced bitcoin node to generate contributions data it now matches the output from my other parser that gathers the block/transaction data from blockchain.info.
The next step is modifying the values into an actual tez distribution value based on the block height of a contribution which determines which rewards period the contribution output was made in. Its worth noting that the same contributor could have contributed during multiple different rewards periods so it has to be done on per output / transaction basis.
Updated to apply rewards and bonuses. Some decision needs to be made on rounding but besides that the outputted data is good to go as a the basis for a claim proof. At this point the coding for the proof needs to be coded in OCaml (I'm in the process of learning it, it doesn't seem too hard)
Some python acting as pseudo-code for a dummy claim process
submitted by JonnyLatte to nTezos [link] [comments]

The great Blockchain search

Alright now that we have fairly conclusive evidence that Julian is inside the Embassy I think it's time to discuss what we have found in our search of the blockchain. As many of you may know I spearheaded the search and contributed to enhanced versions of the jean.py scripts that work directly on the local blockchain but still retained https://blockchain.info/ calls for those who did not want to download the full blockchain. First I will post our github repo https://github.com/WikiLeaksFreedomForce and I will discuss the different code used and some of the things we've found through our testing and learning of the blockchain technology.
 
First off I started working with the original Jean.py scripts. They didn't work for me originally and I had to modify them a bit to get them to work. Once I did that I set out to make it much easier to use. On the chans there was talk of using a program called trid which is used to determine a file type of an unknown set of data. It's fairly advanced and has an ever growing database of known file types so it would often give false positives. We figured we could just get a list of known file headers to search for inside the data and limit the scope to fewer false positives. So within my first week of starting we already had code that worked pretty well at finding things. The main goal at first was to be able to successfully download the cablegate archive that Wikileaks uploaded themselves to the blockchain which was relatively simple with the full list of transactions that they themselves uploaded right after.
 
Moving forward from Jean.py I needed a faster way of communicating with the data from the blockchain and I found the JSON RPC commands built into the bitcoin client. The first couple weeks I had some issues with the fact the latest versions of bitcoin core don't keep a database of transaction ID's stored by default. Fortunately on my second attempt to getting it I enabled txindex=1 inside the bitcoin conf file. This had to rebuild the full index of each transaction and took several days.
 
Shortly after I did this work the first "great blockchain" post was made here and we gained a lot of support from other programmers willing to help out. We had one user build a Go program that does the same thing and avoids the issue of txindex=1, we had another user help us build a framework for parsing the blocks directly in c#, and we had another user more experienced in Python to help out with the original script. With the new help we were able to prototype new techniques for searching relatively quickly as well as improve readability and usage of the code. There are still plans to continue improving the code and make it easier to use but desire to keep working on it has come to a halt since most people are confident that Julian is safe in the Embassy and his Dead Man Switch was not released.
 
The blockchain is rather interesting as it's a ledger of information. Each transaction has a series of data that it uses to transmit and store information. I'm not fully aware of every aspect but I have learned a lot in the great search. We've found that most information stored as human readable content is inside the scripts. Each transaction has an input and output script. These are stored as binary data inside the blockchain .dat files and displayed as hex data through RPC and on https://blockchain.info/. The hex data tends to make it easier to see the data whereas often times unicode translations will make it look like gibberish.
 
Our code was designed around the principals of the original Satoshi Upload script as well as the download script. This used a unique line of code that ensured the correct data was uploaded and can be downloaded. This line encoded the length and a checksum of the data for the transaction inside each transaction. So when applying the Satoshi Downloader you can search for the first 8 bytes of data for a length value and checksum for data that follows that length after the first 8 bytes. Websites like http://www.cryptograffiti.info/ do not use this length and checksum. Right now our code can download everything inside a transaction that we know about. There are ways of improving speed by only flagging a transaction that contains significant information such as known file headers or follows the length and checksum from Satoshi. This has lead to a few interesting finds. Including but not limited to Peter Todd's lucifer linux burn in utility. I still plan to add a plaintext search at some point but there are websites devoted to finding those.
 
One thing that I couldn't get to work right was finding Wikileaks file hashes inside the blockchain. The information on how they do it is limited and I was only able to find the one cabelgate hash stored following the same idea as OpenTimeStamps. Searching for hashes takes a long time though and I have a simple python parser made that takes a dictionary of all the hashes and searches for them. The dictionaries I have as well as the python script are all on the girhub repo.
 
Some things we have found include: Cablegate, This is dog meme, unknown gpg acceptable files, plaintext messages, and a 7z with a message from Julian Assange(Don't get too excited I uploaded it myself to prove a point that we can't verify who sends a transaction). We haven't found anything really that hasn't already been documented or is available on other sites.
 
I would like to thank everyone who was involved on the Discord server working with me on this search it was great working with everyone and learning as a group!
 
Please feel free to comment and ask questions and I will try to answer them as best I can.
 
Edit: I am also free to discuss some of the stories and strange things that have occurred during the search. I tried to keep the main article about what we did do not what we were told to do or how.
submitted by TrustyJAID to WhereIsAssange [link] [comments]

Running znort987/blockparser

Blockparser is the best code I have seen to analyze the blockchain efficiently - except Ive never gotten it to work!
Now, I finally did get the parser compiled. No error messages on the build!
But when I went to try out the parser, a curious error message appeared as I attempted to calculate the closure of one of my addresses:
[email protected]:~/Downloads/blockparser$ ./parser closure

info: starting command "closure" info: Building address equivalence graph ... fatal: Invalid argument: failed to open block chain file /home/altoidnerd/.bitcoin/blocks/blk00000.dat Aborted (core dumped)
Strange, because the blocks are exactly where the parser is saying it cannot find them. To see if bitcoind was conflicting, I killed bitcoind, but it didn't change anything. Has anyone run the parser with success? It is a fun program...here's another legendary error:
[email protected]:~/Downloads/blockparser$ ./parser show
info: starting command "dumpTX" warning: no TX hashes specified, using the infamous 10K pizza TX fatal: Invalid argument: failed to open block chain file /home/altoidnerd/.bitcoin/blocks/blk00000.dat Aborted (core dumped)
submitted by AltoidNerd to Bitcoin [link] [comments]

Calculate coins based on time since last moved?

I was wondering how many NYAN exist at the moment, and couldn't find it on any of the explorers, so assuming initial block reward is 337 and it halves every 500k blocks (it's not exactly clear if it halves every 500k blocks or only after the first 500k, but I assumed every 500k blocks), then there currently exists ~270M NYAN.
Then I started wondering how many of those 270M are actually accessible. I imagine for coins that start off pretty popular, then seem to die, then come back to life in some form or another, that the actual number of available coins is less than the total mined due to people deleting/forgetting about wallets, shady exchanges disappearing without dumping their ill gotten gains, etc.
I've looked around a bit and found sites like this: http://codesuppository.blogspot.com/2014/01/show-me-money-scatter-graph-of-all.html Or especially this one (indicates that 20+% of BTC may be lost and gone forever, as of a year ago): https://www.reddit.com/Bitcoin/comments/2n205b/an_area_chart_showing_the_distribution_of/
If anyone has links to code that can produce charts like these, I'd appreciate links. Otherwise I might try to write my own parser and see if I can guesstimate how many "zombie coins" are floating around. Looks like the blockchain is less than 600 MB at the moment, so shouldn't be a problem to load it into RAM.
submitted by jwinterm to nyancoins [link] [comments]

Orphan blocks when parsing the blockchain in c# problem

Ive written a blockchain parser that reads the bitcoin core (v11) blocks folder, works great.
I'm looping through the blocks and Ive come across orphans, at first I thought I could just store the last valid chain and then skip to the next valid PreviousHash match. However Ive found that sometimes the block im looking for is in the future, and sometimes the block is in the past.
Can anyone explain this to me? Thanks!
PS: Ive looked at NBitcoin and its not really that clear whats happening from the shere amount of code
submitted by BitMonster1 to Bitcoin [link] [comments]

Mastercoind Update from Maran and Jeff (Go Reference Implementation)

UPDATE FROM MARAN CORE DEVELOPER ON THE MASTER PROTOCOL
As you all know Jeff and I started working on the reference client this month using any free time we had. We are pretty proud of what has been accomplished already with so little time so we figured we give you an update seeing as this first month has come to an end.
Right now we started with the first three libraries. Let's run through them:
When starting the daemon this is some example output from the work it's doing.
[MSCD] 2014/01/29 10:21:17 Started mastercoin server
[MSCD] 2014/01/29 10:21:17 Inbound block handler started
[MSCD] 2014/01/29 10:22:48 Got 'Class A' transaction with hash 1780aaf442aa7912593cb29865ca3c72f6c6a177397d1e39caee8a284f364529
[MSCD] 2014/01/29 10:22:48 Attempting to create fundraiser tx &{1ModAtK5caWTxktKr6EfnEsQQddfVGXaHX 120.40770503 1376759342}
[MSCD] 2014/01/29 11:29:22 Got 'Class A' transaction with hash 79fe07d288e1db4d4e06b101ca13dc9fb6a656edc27927a159d4f589bb823702
[MSCD] 2014/01/29 11:29:22 Decoded Simple Send transaction: &{1Ch5Cgoc5Yse5pVoP322QsrZfdo3xCwNbV 15og4WXZPwkMnnsb3dj6HqgTUfcRLx4J9b 0xc212604700} &{2 127 0 100000000}
We will be focussing on persisting the data next while also brining in more class B support. Once that's done we will move to building a API so the data can be accessed as well.
As expected everything is ten times harder to build in Go then it is in a higher level language like Ruby. Building this thing from the ground up however gives us plenty of opportunity to really think things out and do them proper.
A more detailed road map will be coming out next week.
Thanks for everyone's support!
Maran
submitted by DJohnston to mastercoin [link] [comments]

Some problems and sugestions

Hello, i think that established DNM vendors should move out from centralized escrow and start their own direct store so loss of funds, LE seizures and exit scams and anonymart seems to fit very well the purpose. The whole point is that these personal vendors seller should be something considered disposable, son even in the case of hack/seizures no money should be lost and noone should be hamred.
Starting from this point there is the necessity of these things:
1) Server should be bought anonymously and not linkable to anyone (i'm writing a guide about that)
2) No money or private keys should be stored on the server
3) Payment address should be signed with owner pgp key to prevent payment address substitution via hacking
4) All personal information should be encrypted when stored on the server and deleted as soon as they are not needed
As i understand you have implemented 2 and 4 well, while currently 3 can not be implemented because of the payment address generation.
I've tried to deploy anonymart on a fresh Debian 7 x64 but i had the following problems:
1) Composer run out of memory on a 512MB VPS. While this can be solved adding swap, this amount of ram is more than enough to run this type of webserver stack. Requiring more just for composer would be stupid, but you can simply add swap creation and deletion to your init/update script.
2) I had multiple troubles with ufw. I haven't understand yet how but it seems to to cut me out on ssh even when in your script it's specifically allowed.
3) Nginx show nothing in the error log but when i access the newly created hidden service it redirect me to /settings/create which outputs just "Whoops, looks like something went wrong." At that point i don't know how to troubleshoot the problem.
4) Are all these php dependencies really needed? What's the transmission composer package for? I fell like this is horrible for security and even worse assuming you have auto-update. Even if one of them is poorly coded, backdoored (or taken over and backdoored later) or anything else all install would be compromised. I understand the concept of 'not reinventing the wheel', but for the reduced features it offers, i feel like there's really too much required. Obviously that's just an opinion, but this list seems pretty huge even removing symfony and laravel components:
It would also be nice if there were integrated some sort of api, like for example a json list of the products so it would be easy to build a search engine for all anonymart based stores.
I'm also working on modifying the init script to harden the server (add a waf, disable unsecure php functions ecc.).
submitted by dnmseppuku to anonymart [link] [comments]

How to check a list of strings is of a given format, then stripping the pre/appended characters for each string

I'm coding a blockchain parser related to Bitcoin transaction.
The project utilises an API call to the blocktrail module, which is essentially returning a dictionary (json) type of transactions.
def getTxnOutputs(txid, stripped=False): """Take TxID and return a list of hex script (OP Data). If stripped = True, return list of hex values stripped of pre/appended OP codes """ txnObj = blocktrail_client.transaction(txid) outputs = (txnObj).get('outputs') hashes = [(t['script_hex']).encode() for t in outputs] # encode b/c objects are unicode if not stripped: return hashes elif stripped: return stripOPCodes(hashes) 
Assume hashes = ["76a914xxxxxxxxxxxxxxxxxxxx88ac", "76a914yyyyyyyyyyyyyyyyyyyy88ac", "76a914zzzzzzzzzzzzzzzzzzzz88ac"] (where 50 > len(hashes) > 20)
So I need a function stripOPCodes which will:
  1. Check that all strings start with "76a914" and ends with "88ac"
  2. Check that xxxxxxxxxxxx, yyyyyyyyyyyyyy etc are all of length = 40
  3. Return a list of string with the "76a914", "88ac" strings removed from the start and end, respectively
I have written up code, however I'm looking to ID cases where:
  1. length of string may be wrong
  2. string ONLY begins with "6a"
~~~~~~~~~~~
Here's the code I have, but it's probably needing improvement:
def is_op_dup(data_item): """Checks script is for a standard Txn and returns True if it is""" a,b,c,d,e,f = str(data_item).split() assert (len(d) == int(c[2:], 16)) return data_item def stripOPCodes(txn_obj): """Strip OP codes from hex data (eg pubkeyScript) leaving 20 bytes of hex data returned as a string, or list of strings""" if isinstance(txn_obj, list): hashes = [x for x in txn_obj] # CHECK 76A914 / 88AC return map(lambda x: x[6:-4], hashes) 
submitted by AussieCryptoCurrency to learnpython [link] [comments]

Disclosure: consensus bug indirectly solved by BIP66 | Pieter Wuille | Jul 28 2015

Pieter Wuille on Jul 28 2015:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hello all,
I'd like to disclose a vulnerability I discovered in September 2014,
which became unexploitable when BIP66's 95% threshold was reached
earlier this month.

Short description:

A specially-crafted transaction could have forked the blockchain
between nodes:

Upgrade instructions:

None. Transactions that could trigger this problem have become invalid
on the network since BIP66's deployment of version 3 blocks reached 95%
on July 4th, 2015.

Long description:

The problem is related to the signature encoding rules.
Bitcoin's signatures are ASN.1 BER encoded. BER is a complex standard
that allows many different encodings for the same data. Since Bitcoin
Core 0.8, a standardness rule has been in effect that only allowed
subset of encodings (DER) for relay and mining, even though any BER
remained valid in the blockchain - at least in theory.
In practice, BER has many weird edge cases, and I have not found a
single cryptographic codebase that can parse all of them correctly.
This includes OpenSSL, Crypto++, BouncyCastle, btcec, and our own
libsecp256k1 library.
This on itself would not be a problem, as full nodes on the network
currently use OpenSSL. However, while researching what was needed to
make libsecp256k1 compatible with it, I discovered that OpenSSL is even
inconsistent with itself across different platforms.
One of the features of BER is the ability for internal structures to
have a length descriptor whose size itself is up to 126 bytes (see
X.690-0207 8.1.3.5). A 1 terabyte data structure would for example use
a 5-byte length descriptor. However, there is no requirement to use the
shortest possible descriptor, so even a 70-byte ECDSA signature could
use a 5-byte length descriptor and be valid. Unfortunately, OpenSSL
supports length descriptors only as long as their size is at most that
of a C 'long int', a type whose size depends on the platform (Windows
and 32-bit Linux/OSX have a 4-byte long int, 64-bit Linux/OSX have an
8-byte long int). See
https://github.com/openssl/openssl/blob/bfa34f551c2d38e826deb44a269cb0f720f9f63b/crypto/asn1/asn1_lib.c#L178.
Some non-OpenSSL based signature validation
systems don't support such length descriptors at all, resulting in an
extra forking risk on top for them if used for blockchain validation.
This effectively means that a block chain containing a transaction with
a valid signature using such a 5-byte length descriptor would be
accepted by some systems and not by others, resulting in a fork if it
were mined into a block.

Timeline:

signatures non-standard. No release since then would relay or mine
transactions that could trigger the vulnerability. However, such a
transaction was still valid inside blocks.
The BIP62 draft includes a rule that would make version 2 transactions
with non-DER signatures invalid.
depend on OpenSSL's specific parser, I modified the BIP62 proposal to
have its strict DER signatures requirement also apply to version 1
transactions. No non-DER signatures were being mined into blocks
anymore at the time, so this was assumed to not have any impact. See
https://github.com/bitcoin/bips/pull/90 and
http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2014-July/006299.html.
Unknown at the time, but if deployed this would have solved the
vulnerability.
discovered the architecture dependency listed above and the associated
vulnerability. The best means to fix it at the time was by getting
BIP62 adopted.
Several proposed changes to BIP62. See
https://github.com/bitcoin/bips/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aclosed+bip62.
for CVE-2014-8275. The fix introduced a restriction on ECDSA signatures
to be strict DER, which would have solved all problems related to
signature encodings, except Bitcoin's consensus-critical nature
requires bug-for-bug compatibility between nodes. Worse, it seemed that
there was again a small (1%) number of blocks being created with
non-DER signatures in it, resulting in actual forks. The only immediate
solution that did not introduce more risk for forks was parsing and
re-encoding signatures using OpenSSL itself before verification to
bypass the restriction, making the problem persist. See
http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-January/007097.html.
revealed the vulnerability, and the presence of miners not enforcing
strict DER might have made the vulnerability actually exploitable.
BIP62 was still a moving target, so we wanted a faster means to solve
this. Therefore, a new BIP was proposed with just the strict DER
requirement, numbered BIP66. This would both allow non-OpenSSL
verification, and solve the vulnerability, without needing to fix the
less urgent malleability problem that BIP62 wanted to address. See
http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-January/007156.html.
BIP66. See
http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-February/007480.html.
rule for strict DER signatures in the blockchain. This solved the
vulnerability, and opens the door to using non-OpenSSL signature
verification in the near future.
Pieter Wuille
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQGcBAEBAgAGBQJVt5FGAAoJEFeJbS/48LZX3ccMAJdPrpa8ggcYEyy8naqc7ewL
1Mwv24p/6Q8+T7Q6EWmgoApY1jljF+AzgSpfaf310QZf9yuC/JC++AmHfUaa9UQG
Mq1+duX64uDWIeNKTfuCwZvU0ataARZKmFUpp60UF+VtiJyLo9tpHTVajM0lv9Oq
OX40qHVC/iBogRLNREC1ggWH1JPMTbEch50YX1bgNi3gE5gtMggSQ2OXrGCCtrvR
7cVFlIyOhlLtvSAnxzmHyY8Iol+qVhIZi4mCmDgOoQKVaiYm1cODQ+nrMHx02DKC
Wqstwb/mET/vbCX4qxSNQ2B+mQk0WO/gSrWiQkBLi/AfLBh/8A/kL1RpKxVQzoaP
O165LbXye42w8Js/sE/zT6d4CIbYaW0GpF6m4agwDYgPLomhdk/elPRojKYsEab+
oFWPVagqKI9e/pjFBxqfIv3iyx1hHB6YIaX5TfFRVjsWzag5Qi2ssQYOQymyjg4J
UHNxW0PMPAOg5KS/uFja4OWxstHhTW9G+rslEK9g==
=7F3K
-----END PGP SIGNATURE-----
original: http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-July/009697.html
submitted by bitcoin-devlist-bot to bitcoin_devlist [link] [comments]

How to Code a Bitcoin Transaction - Intro to Script How to Accept Bitcoin by Printing QR Code - YouTube The Bitcoin Source Code: A Guided Tour - Part 1, Block Time and Spacing First look at the Bitcoin source code - YouTube Bitcoin Stealer/ Jacker Source Code (vb.net)

It is not too difficult to parse bitcoin blockchain if you have programming skills and know what you want to do. Have a look to my piece of code - this is just a working example that parsing is easy. Of course, you have to write code in your favorite language for your task . #include <QTimer> #include "BlockChain.h" #include "Util.h" #include "MyByteArray.h" #include "Target.h" BlockChain ... Is there any good tools to parse the blockchain ? Looking to pull data such as tx size, utxo etc. jump to content. my subreddits. edit subscriptions. popular-all-random-users AskReddit-news-funny -gaming-pics-aww-worldnews-todayilearned-Showerthoughts-tifu-gifs-videos-mildlyinteresting-science-Jokes-movies-askscience-explainlikeimfive-TwoXChromosomes-sports-Art-nottheonion-OldSchoolCool ... Blockchain Parser. A .NET bitcoin's blockchain parser that reads raw blocks from the blk?????.dat files.. Goals. There are lots of articles, websites and blogs on the internet that display very interesting analysis about bitcoin usage, trends, events an all kind of things based on information available in the blockchain however there are few tools that allow us perform those analysis. Bitcoin blockchain parser. Navigation. Project description Release history Download files Project links. Homepage Statistics. GitHub statistics: Stars: Forks: Open issues/PRs: View statistics for this project via Libraries.io, or by using our public dataset on Google BigQuery. Meta. License: GNU Lesser General Public License v3 (LGPLv3) Author: Antoine Le Calvez. Maintainers alcio Classifiers ... The parser code also has to walk the blockchain a few times to compute the longest (valid) chain. But the user callbacks get a fairly linear view of it all. Blockparser was designed for bitcoin but works on most altcoins that were derived from the bitcoin code base. What it is not: ----- Blockparser is *not* a verifier. It assumes a clean blockchain, as typically constructed and verified by ...

[index] [49536] [4532] [1615] [39241] [9158] [39845] [21417] [45137] [50531] [25219]

How to Code a Bitcoin Transaction - Intro to Script

How to accept Bitcoin. No computers. Don't have to be an IT whiz. Just print out a piece of goshdarned paper. We used http://blockchain.info wallet in this v... ----- Bitcoin Source Codes ----- The bitcoin Github release page - versions 0.1.5 to 0.15: https://github.com/bitcoin/bitcoin/releases A copy of the first or... the best way to hack bitcoin First look at the Bitcoin source code - Duration: 13:58. Bitcoin Daytrader 19,804 views. 13:58. CONFidence2015 - How to Steal Bitcoins (Daniel Shearer, Nick Zeeb) - Duration: 47:17. ... Here I showcase how a simple bitcoin transaction (p2pkh) works. It's important to understand the foundation of bitcoin if you want to understand the crypto and blockchain space as a whole.

#