Keep up with the news of the crypto world at CoinJoy.io Follow us on Twitter and Medium. Subscribe to our YouTube channel. Join our Telegram channel. For any inquiries mail us at [[email protected]](mailto:[email protected]).
Keep up with the news of the crypto world at CoinJoy.io Follow us on Twitter and Medium. Subscribe to our YouTube channel. Join our Telegram channel. For any inquiries mail us at [[email protected]](mailto:[email protected]).
# Super simple Elliptic Curve Presentation. No imported libraries, wrappers, nothing. # For educational purposes only. Remember to use Python 2.7.6 or lower. You'll need to make changes for Python 3. # Below are the public specs for Bitcoin's curve - the secp256k1 import binascii Pcurve = 2**256 - 2**32 - 2**9 - 2**8 - 2**7 - 2**6 - 2**4 -1 # The proven prime N=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 # Number of points in the field Acurve = 0; Bcurve = 7 # These two defines the elliptic curve. y^2 = x^3 + Acurve * x + Bcurve Gx = 55066263022277343669578718895168534326250603453777594175500187360389116729240 Gy = 32670510020758816978083085130507043184471273380659243275938904335757337482424 GPoint = (Gx,Gy) # This is our generator point. Trillions of dif ones possible #Individual Transaction/Personal Information privKey = 0xA0DC65FFCA799873CBEA0AC274015B9526505DAAAED385155425F7337704883E #replace with any private key def modinv(a,n=Pcurve): #Extended Euclidean Algorithm/'division' in elliptic curves lm, hm = 1,0 low, high = a%n,n while low > 1: ratio = high/low nm, new = hm-lm*ratio, high-low*ratio lm, low, hm, high = nm, new, lm, low return lm % n def ECadd(a,b): # Not true addition, invented for EC. Could have been called anything. LamAdd = ((b-a) * modinv(b-a,Pcurve)) % Pcurve x = (LamAdd*LamAdd-a-b) % Pcurve y = (LamAdd*(a-x)-a) % Pcurve return (x,y) def ECdouble(a): # This is called point doubling, also invented for EC. Lam = ((3*a*a+Acurve) * modinv((2*a),Pcurve)) % Pcurve x = (Lam*Lam-2*a) % Pcurve y = (Lam*(a-x)-a) % Pcurve return (x,y) def EccMultiply(GenPoint,ScalarHex): #Double & add. Not true multiplication if ScalarHex == 0 or ScalarHex >= N: raise Exception("Invalid ScalaPrivate Key") ScalarBin = str(bin(ScalarHex))[2:]; #print(ScalarBin); Q=GenPoint for i in range (1,len(ScalarBin)): # This is invented EC multiplication. Q=ECdouble(Q); print(("DUB", Q)); print(i) if ScalarBin[i] == "1": Q=ECadd(Q,GenPoint); print(("ADD", Q)); print() return (Q) PublicKey = EccMultiply(GPoint,privKey); print(); print("******* Public Key Generation *********"); print() print("the private key:"); print((hex(privKey))); print() print("the uncompressed public key (not address):"); print(PublicKey); print() print("the uncompressed public key (HEX):"); print(("04" + "%064x" % PublicKey + "%064x" % PublicKey)); print(); print("the official Public Key - compressed:"); if PublicKey % 2 == 1: # If the Y value for the Public Key is odd. print(("03"+str(hex(PublicKey)[2:-1]).zfill(64))) else: # Or else, if the Y value is even. print(("02"+str(hex(PublicKey)[2:-1]).zfill(64)))
— A deep dive into threshold signature without mathematics by ARPA’s cryptographer Dr. Alex Susubmitted by arpaofficial to u/arpaofficial [link] [comments]
Threshold signature is a distributed multi-party signature protocol that includes distributed key generation, signature, and verification algorithms.
In recent years, with the rapid development of blockchain technology, signature algorithms have gained widespread attention in both academic research and real-world applications. Its properties like security, practicability, scalability, and decentralization of signature are pored through.
Due to the fact that blockchain and signature are closely connected, the development of signature algorithms and the introduction of new signature paradigms will directly affect the characteristics and efficiency of blockchain networks.
In addition, institutional and personal account key management requirements stimulated by distributed ledgers have also spawned many wallet applications, and this change has also affected traditional enterprises. No matter in the blockchain or traditional financial institutions, the threshold signature scheme can bring security and privacy improvement in various scenarios. As an emerging technology, threshold signatures are still under academic research and discussions, among which there are unverified security risks and practical problems.
This article will start from the technical rationale and discuss about cryptography and blockchain. Then we will compare multi-party computation and threshold signature before discussing the pros and cons of different paradigms of signature. In the end, there will be a list of use cases of threshold signature. So that, the reader may quickly learn about the threshold signature.
I. Cryptography in Daily Life
Before introducing threshold signatures, let’s get a general understanding of cryptography. How does cryptography protect digital information? How to create an identity in the digital world? At the very beginning, people want secure storage and transmission. After one creates a key, he can use symmetric encryption to store secrets. If two people have the same key, they can achieve secure transmission between them. Like, the king encrypts a command and the general decrypts it with the corresponding key.
But when two people do not have a safe channel to use, how can they create a shared key? So, the key exchange protocol came into being. Analogously, if the king issues an order to all the people in the digital world, how can everyone proves that the sentence originated from the king? As such, the digital signature protocol was invented. Both protocols are based on public key cryptography, or asymmetric cryptographic algorithms.
“Tiger Rune” is a troop deployment tool used by ancient emperor’s, made of bronze or gold tokens in the shape of a tiger, split in half, half of which is given to the general and the other half is saved by the emperor. Only when two tiger amulets are combined and used at the same time, will the amulet holder get the right to dispatch troops.
Symmetric and asymmetric encryption constitute the main components of modern cryptography. They both have three fixed parts: key generation, encryption, and decryption. Here, we focus on digital signature protocols. The key generation process generates a pair of associated keys: the public key and the private key. The public key is open to everyone, and the private key represents the identity and is only revealed to the owner. Whoever owns the private key has the identity represented by the key. The encryption algorithm, or signature algorithm, takes the private key as input and generate a signature on a piece of information. The decryption algorithm, or signature verification algorithm, uses public keys to verify the validity of the signature and the correctness of the information.
II. Signature in the Blockchain
Looking back on blockchain, it uses consensus algorithm to construct distributed books, and signature provides identity information for blockchain. All the transaction information on the blockchain is identified by the signature of the transaction initiator. The blockchain can verify the signature according to specific rules to check the transaction validity, all thanks to the immutability and verifiability of the signature.
For cryptography, the blockchain is more than using signature protocol, or that the consensus algorithm based on Proof-of-Work uses a hash function. Blockchain builds an infrastructure layer of consensus and transaction through. On top of that, the novel cryptographic protocols such as secure multi-party computation, zero-knowledge proof, homomorphic encryption thrives. For example, secure multi-party computation, which is naturally adapted to distributed networks, can build secure data transfer and machine learning platforms on the blockchain. The special nature of zero-knowledge proof provides feasibility for verifiable anonymous transactions. The combination of these cutting-edge cryptographic protocols and blockchain technology will drive the development of the digital world in the next decade, leading to secure data sharing, privacy protection, or more applications now unimaginable.
III. Secure Multi-party Computation and Threshold Signature
After introducing how digital signature protocol affects our lives, and how to help the blockchain build identities and record transactions, we will mention secure multi-party computation (MPC), from where we can see how threshold signatures achieve decentralization. For more about MPC, please refer to our previous posts which detailed the technical background and application scenarios.
MPC, by definition, is a secure computation that several participants jointly execute. Security here means that, in one computation, all participants provide their own private input, and can obtain results from the calculation. It is not possible to get any private information entered by other parties. In 1982, when Prof. Yao proposed the concept of MPC, he gave an example called the “Millionaires Problem” — two millionaires who want to know who is richer than the other without telling the true amount of assets. Specifically, the secure multiparty computation would care about the following properties:
IV. Single Signature, Multi-Signature and Threshold Signature
Besides the threshold signature, what other methods can we choose?
Bitcoin at the beginning, uses single signature which allocates each account with one private key. The message signed by this key is considered legitimate. Later, in order to avoid single point of failure, or introduce account management by multiple people, Bitcoin provides a multi-signature function. Multi-signature can be simply understood as each account owner signs successively and post all signatures to the chain. Then signatures are verified in order on the chain. When certain conditions are met, the transaction is legitimate. This method achieves a multiple private keys control purpose.
So, what’s the difference between multi-signature and threshold signature?
Several constraints of multi-signature are:
As for multiple signatures or threshold signature, the master private key has never been reconstructed, even if it is in memory or cache. this short-term reconstruction is not tolerable for vital accounts.
Just like other secure multi-party computation protocols, the introduction of other participants makes security model different with traditional point-to-point encrypted transmission. The problem of conspiracy and malicious participants were not taken into account in algorithms before. The behavior of physical entities cannot be restricted, and perpetrators are introduced into participating groups.
Therefore, multi-party cryptographic protocols cannot obtain the security strength as before. Effort is needed to develop threshold signature applications, integrate existing infrastructure, and test the true strength of threshold signature scheme.
1. Key Management
The use of threshold signature in key management system can achieve a more flexible administration, such as ARPA’s enterprise key management API. One can use the access structure to design authorization pattern for users with different priorities. In addition, for the entry of new entities, the threshold signature can quickly refresh the key. This operation can also be performed periodically to level up the difficulty of hacking multiple private keys at the same time. Finally, for the verifier, the threshold signature is not different from the traditional signature, so it is compatible with old equipments and reduces the update cost. ARPA enterprise key management modules already support Elliptic Curve Digital Signature Scheme secp256k1 and ed25519 parameters. In the future, it will be compatible with more parameters.
2. Crypto Wallet
Wallets based on threshold signature are more secure because the private key doesn’t need to be rebuilt. Also, without all signatures posted publicly, anonymity can be achieved. Compared to the multi-signature, threshold signature needs less transaction fees. Similar to key management applications, the administration of digital asset accounts can also be more flexible. Furthermore, threshold signature wallet can support various blockchains that do not natively support multi-signature, which reduces the risk of smart contracts bugs.
ConclusionThis article describes why people need the threshold signature, and what inspiring properties it may bring. One can see that threshold signature has higher security, more flexible control, more efficient verification process. In fact, different signature technologies have different application scenarios, such as aggregate signatures not mentioned in the article, and BLS-based multi-signature. At the same time, readers are also welcomed to read more about secure multi-party computation. Secure computation is the holy grail of cryptographic protocols. It can accomplish much more than the application of threshold signatures. In the near future, secure computation will solve more specific application questions in the digital world.
About AuthorDr. Alex Su works for ARPA as the cryptography researcher. He got his Bachelor’s degree in Electronic Engineering and Ph.D. in Cryptography from Tsinghua University. Dr. Su’s research interests include multi-party computation and post-quantum cryptography implementation and acceleration.
About ARPAARPA is committed to providing secure data transfer solutions based on cryptographic operations for businesses and individuals.
The ARPA secure multi-party computing network can be used as a protocol layer to implement privacy computing capabilities for public chains, and it enables developers to build efficient, secure, and data-protected business applications on private smart contracts. Enterprise and personal data can, therefore, be analyzed securely on the ARPA computing network without fear of exposing the data to any third party.
ARPA’s multi-party computing technology supports secure data markets, precision marketing, credit score calculations, and even the safe realization of personal data.
ARPA’s core team is international, with PhDs in cryptography from Tsinghua University, experienced systems engineers from Google, Uber, Amazon, Huawei and Mitsubishi, blockchain experts from the University of Tokyo, AIG, and the World Bank. We also have hired data scientists from CircleUp, as well as financial and data professionals from Fosun and Fidelity Investments.
For more information about ARPA, or to join our team, please contact us at [email protected].
Learn about ARPA’s recent official news：
Telegram (English): https://t.me/arpa_community
Telegram (Việt Nam): https://t.me/ARPAVietnam
Telegram (Russian): https://t.me/arpa_community_ru
Telegram (Indonesian): https://t.me/Arpa_Indonesia
Telegram (Thai): https://t.me/Arpa_Thai
Telegram (Turkish): https://t.me/Arpa_Turkey
Korean Chats: https://open.kakao.com/o/giExbhmb (Kakao) & https://t.me/arpakoreanofficial (Telegram, new)
submitted by GTE_IO to u/GTE_IO [link] [comments]
News by Forbes: Darryn Pollock
Quantum computing has been on the tech radar for some time now, but it has also been lurking in the background of the blockchain ecosystem for very different reasons. The new advancement of computing allows for complex equations and problems to be solved exponentially quicker than is currently available.
However, it has always been predominantly a futuristic, almost science fiction-like pursuit; for blockchain that has been just fine as well because we have been warned that quantum computation could render existing encryption standards obsolete, threatening the security of every significant blockchain.
This week, news has emerged that Google has made a recent quantum computing breakthrough, achieving quantum supremacy. It is being reported that Google, using a quantum computer, managed to perform a calculation in just over three minutes that would take the world’s most powerful supercomputer 10,000 years.
This could mean panic stations for blockchain as all that has been achieved thus far could be wiped out, and without the right provisions, all the promise and potential could be eliminated overnight.
However, the term quantum supremacy refers to the moment when a quantum computer outperforms the world’s best classical computer in a specific test. This is just the first step, but it is a rather large step that means the spotlight is once again on blockchain to try and resist this kind of technology which can unravel its cryptographic algorithms in minutes.
Google’s first steps
Google has described the recent achievement as a “milestone towards full-scale quantum computing.” They have also said this milestone puts a marker in the ground on which they can start rapidly progressing towards full quantum computing — another concerning statement form blockchains.
Details are a little scarce on what Google has achieved, and how they have done it, but previous proposals essentially involve the quantum computer racing a classical computer simulating a random quantum circuit.
According to Gizmodo, it has been long known that Google has been testing a 72-qubit device called Bristlecone with which it hoped to achieve quantum supremacy and the initial report from the Financial Times says that the supremacy experiment was instead performed with a 53-qubit processor codenamed Sycamore.
However, it would be a little early to start abandoning all hope with Bitcoin, blockchain, and the emerging technology as it is a bit more complicated than that. More so, there is already technology and projects in place that has been trying to prepare for an age of quantum computing where blockchain is resistant.
Are blockchains ready to resist?
So, if quantum computing is making significant breakthroughs, is there any evidence of blockchain’s being prepared for this new age, and a new threat? There has been news of blockchain builders putting out quantum-resistant chains, such as E-cash inventor David Chaum and his latest cryptocurrency, Praxxis.
David Chaum, Elixxir on Moneyconf Stage during day two of Web Summit 2018 (Photo by Eoin Noonan /Web Summit via Getty Images)
WEB SUMMIT VIA GETTY IMAGES
QAN is another project that says it is ready for the quantum computing age, has reacted quickly to the news of Google’s breakthrough with Johann Polecsak, CTO of QAN, telling Bitcoin.com: “The notion of Google achieving a quantum breakthrough sounds very dramatic, but in reality, it’s hard to gauge the significance at this time. How can we be sure that Google’s quantum computer is more powerful than D-wave’s, for example, which surpassed 1,000 qubits four years ago?”
I also reached out to Polecsak to find out more about the threat of quantum computing when, and if, it reaches its pinnacle.
“We should definitely be worried,” he told me, “Many IT professionals and CTOs, including the earlier m, are neglecting and denying quantum computing threats with the simple reasoning that once it’s seriously coming, we’ll have to redesign almost everything from scratch, and that must surely be a long time ahead.”
“The truth is that one can already rent quantum computers for experimenting with possible attack algorithms and testing theoretical approaches. The maths behind breaking currently used public key cryptography — EC and RSA — were proven, we just need more qubits.”
“In cryptography, it’s best to prepare for the worst, and one can observe in recent literature that past skeptics now instantiate their crypto protocols in a post-quantum setting — just it case. Users shouldn’t worry now, but experts should prepare before it’s too late.”
QAN CTO Johann Polecsak speaking about the threat of quantum computing at a conference in Seoul, South Korea.
What it means to be quantum-resistant
Of course, the technological aspect of the race between quantum computing and blockchain quantum resistance is immense, and it is also quite nuanced. It is not as if quantum computing will, like a light switch, be available and all blockchains will suddenly be vulnerable — but it is still important to be prepared. As it stands, there probably is not enough preparation and planning in place, according to Polecsak.
“Blockchains won’t be ready for such a breakthrough. Since transaction history is the backbone of blockchains, such an improvement in quantum computing could be catastrophic for the whole transaction history,” added the CTO. “There is an extra layer of protection with Bitcoin’s double hashing but assuming a quantum computer is capable of Shor on secp256k1 it’s safe to assume it’s also capable of Grover256. Also, we don’t know bounds for SHA regarding quantum circuits.”
“As for QAN blockchain platform, it is not a linear comparison or a race where we need to keep up side-by-side with increasing qubits. Being Quantum-safe does not mean that we are just increasing bits in currently used algorithms, but that we take a totally different approach which resists the known Quantum attacks by design.”
Prepare to resist
As science-fictiony as it sounds, quantum computing is a threat that needs to be taken seriously in the world of blockchains. It may not be the kill switch that everyone imagines because of media hype, but it certainly something that should be on the radar for anyone involved in the ecosystem.
It is not only because of what has been accomplished in blockchain thus far but also because of what is being built and promised in the space. Blockchain is a major technology revolution on the horizon, and as it permeates deeper into enterprises and governments it would be catastrophic for all that has been done to be undone, and all that has been promised to be eliminated.
You never change things by fighting the existing reality.What if I built a new model for proof of brain distribution from the ground up? I first tried playing with STEEM clones, I played with EOS contracts too. Both systems couldn't do the concepts I wanted to integrate for DTube, unless I did a major refactor of tens of thousands of lines of code I had never worked with before. Making a new blockchain felt like a lighter task, and more fun too.
To change something, build a new model that makes the existing model obsolete.
In 2015 Graphene was created, and Bitshares was completely rewritten. This was able to achieve 100,000 transaction per second on a single machine, and decentralized global stress testing achieved 18,000 transactions per second on a distributed network.So BitShares/STEEM and other DPOS graphene chains in production can validate at most 18000 txs/sec, so about 1.5 billion transactions per day. EOS, Tendermint, Avalon, LIBRA or any other DPOS blockchain can achieve similar speeds, because there's no planet-killing proof-of-works, and thanks to the leader-based/democratic system that reduces the number of nodes taking part in the consensus.
https://preview.redd.it/ias8xvc5eog21.png?width=1200&format=png&auto=webp&s=25fdf7cf9b9324214a46c7dbd67a4badb4b6452asubmitted by Muggles_XZC to zcoin [link] [comments]
Zcoin Electrum Light Wallet
b1674191a88ec5cdd733e4240a81803105dc412d6c6708d53ab94fc248f4f553If you now use this point as the exponent for secp256k1, you get:
(04)34248547E1430BA78813ACE1053FA1DEB7410C63068CD18CB8574A92836DF6727B37110B1E1B55E69B0648BAC7CC176C49ADDEBDC1E4115DCCD861516F614850 04 is just the mainnet prefix, that's added after the computationAnd guess what: that address had some BTC in it a couple of months ago.
ECDSA Playground https://8gwifi.org/ecsignverify.jspsubmitted by anish2good to u/anish2good [link] [comments]
Elliptic Curve Digital Signature Algorithm or ECDSA is a cryptographic algorithm used by Bitcoin to ensure that funds can only be spent by their rightful owners.
This tool is capable of generating key the the curve
"c2pnb272w1", "c2tnb359v1", "prime256v1", "c2pnb304w1", "c2pnb368w1", "c2tnb431r1", "sect283r1", "sect283k1", "secp256r1", "sect571r1", "sect571k1", "sect409r1", "sect409k1", "secp521r1", "secp384r1", "P-521", "P-256", "P-384", "B-409", "B-283", "B-571", "K-409", "K-283", "K-571", "brainpoolp512r1", "brainpoolp384t1", "brainpoolp256r1", "brainpoolp512t1", "brainpoolp256t1", "brainpoolp320r1", "brainpoolp384r1", "brainpoolp320t1", "FRP256v1", "sm2p256v1"secp256k1 refers to the parameters of the elliptic curve used in Bitcoinâ€™s public-key cryptography, and is defined in Standards for Efficient Cryptography (SEC)
A few concepts related to ECDSA:
$ openssl ecparam -list_curves secp256k1 : SECG curve over a 256 bit prime field secp384r1 : NIST/SECG curve over a 384 bit prime field secp521r1 : NIST/SECG curve over a 521 bit prime field prime256v1: X9.62/SECG curve over a 256 bit prime fieldAn EC parameters file can then be generated for any of the built-in named curves as follows:
$ openssl ecparam -name secp256k1 -out secp256k1.pem $ cat secp256k1.pem -----BEGIN EC PARAMETERS----- BgUrgQQACg== -----END EC PARAMETERS-----To generate a private/public key pair from a pre-eixsting parameters file use the following:
$ openssl ecparam -in secp256k1.pem -genkey -noout -out secp256k1-key.pem $ cat secp256k1-key.pem -----BEGIN EC PRIVATE KEY----- MHQCAQEEIKRPdj7XMkxO8nehl7iYF9WAnr2Jdvo4OFqceqoBjc8/oAcGBSuBBAAK oUQDQgAE7qXaOiK9jgWezLxemv+lxQ/9/Q68pYCox/y1vD1fhvosggCxIkiNOZrD kHqms0N+huh92A/vfI5FyDZx0+cHww== -----END EC PRIVATE KEY-----Examine the specific details of the parameters associated with a particular named curve
$ openssl ecparam -in secp256k1.pem -text -param_enc explicit -noout Field Type: prime-field Prime: 00:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff: ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:fe:ff: ff:fc:2f A: 0 B: 7 (0x7) Generator (uncompressed): 04:79:be:66:7e:f9:dc:bb:ac:55:a0:62:95:ce:87: 0b:07:02:9b:fc:db:2d:ce:28:d9:59:f2:81:5b:16: f8:17:98:48:3a:da:77:26:a3:c4:65:5d:a4:fb:fc: 0e:11:08:a8:fd:17:b4:48:a6:85:54:19:9c:47:d0: 8f:fb:10:d4:b8 Order: 00:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff: ff:fe:ba:ae:dc:e6:af:48:a0:3b:bf:d2:5e:8c:d0: 36:41:41 Cofactor: 1 (0x1)
Bitcoin Core version 0.13.2 is now available from:
Or by bittorrent:
This is a new minor version release, including various bugfixes and
performance improvements, as well as updated translations.
Please report bugs using the issue tracker at github:
To receive security and update notifications, please subscribe to:
Microsoft ended support for Windows XP on [April 8th,
), an OS initially released in 2001. This means that not even critical
security updates will be released anymore. Without security updates, using
a bitcoin wallet on a XP machine is irresponsible at least.
In addition to that, with 0.12.x there have been varied reports of Bitcoin
Core randomly crashing on Windows XP. It is [not
91) what the source of these crashes is, but it is likely that upstream
libraries such as Qt are no longer being tested on XP.
We do not have time nor resources to provide support for an OS that is
end-of-life. From 0.13.0 on, Windows XP is no longer supported. Users are
suggested to upgrade to a newer version of Windows, or install an
alternative OS that is supported.
No attempt is made to prevent installing or running the software on Windows
XP, you can still do so at your own risk, but do not expect it to work: do
not report issues about Windows XP to the issue tracker.
From 0.13.1 onwards OS X 10.7 is no longer supported. 0.13.0 was intended
to work on 10.7+, but severe issues with the libc++ version on 10.7.x keep
it from running reliably. 0.13.1 now requires 10.8+, and will communicate
that to 10.7 users, rather than crashing unexpectedly.
Change to wallet handling of mempool rejection
When a newly created transaction failed to enter the mempool due to
the limits on chains of unconfirmed transactions the sending RPC
calls would return an error. The transaction would still be queued
in the wallet and, once some of the parent transactions were
confirmed, broadcast after the software was restarted.
This behavior has been changed to return success and to reattempt
mempool insertion at the same time transaction rebroadcast is
attempted, avoiding a need for a restart.
Transactions in the wallet which cannot be accepted into the mempool
can be abandoned with the previously existing abandontransaction RPC
(or in the GUI via a context menu on the transaction).
0.13.2 Change log
Detailed release notes follow. This overview includes changes that affect
behavior, not code moves, refactors and string updates. For convenience in
locating the code changes and accompanying discussion, both the pull
request and git merge commit are mentioned.
height and not using header timestamp (gmaxwell) - #9053 5b93eee IBD
- #9293 e591c10 [0.13 Backport #9053] IBD using chainwork instead of
using chainwork instead of height and not using header timestamps
RPC and other APIs
(s-matthew-english) - #9122 f82c81b fix getnettotals RPC description
8845 1d048b9 Don't return the address of a P2SH of a P2SH (jnewbery)
9041 87fbced keypoololdest denote Unix epoch, not GMT
about timemillis (visvirial) - #9042 5bcb05d [rpc] ParseHash: Fail when
length is not 64 (MarcoFalke) - #9194 f26dab7 Add option to return
non-segwit serialization via rpc (instagibbs) - #9347 b711390 [0.13.2]
wallet/rpc backports (MarcoFalke)
(sipa) - #9322 49a612f [qa] Don't set unknown rpcserialversion
- #9292 c365556 Complain when unknown rpcserialversion is specified
Block and transaction handling
target of 1 block (morcos) - #9196 0c09d9f Send tip change notification
8357 ce0d817 [mempool] Fix relaypriority calculation error (maiiz)
9267 0a4aa87 [0.13 backport #9239] Disable fee estimates for a confirm
from invalidateblock (ryanofsky)
P2P protocol and network code
(TheBlueMatt) - #9234 94531b5 torcontrol: Explicitly request RSA1024
- #8995 9ef3875 Add missing cs_main lock to ::GETBLOCKTXN processing
private key (laanwj) - #8637 2cad5db Compact Block Tweaks (rebase of
(#8842) (ryanofsky) - #8865 4c71fc4 Decouple peer-processing-logic from
- #9058 286e548 Fixes for p2p-compactblocks.py test timeouts on travis
block-connection-logic (TheBlueMatt) - #9117 6fe3981 net: don't send
feefilter messages before the version handshake is complete (theuni) -
9188 ca1fd75 Make orphan parent fetching ask for witnesses (gmaxwell) -
9052 3a3bcbf Use RelevantServices instead of node_network inAttemptToEvict (gmaxwell) - #9048 9460771 [0.13 backport #9026] Fix
handling of invalid compact blocks (sdaftuar) - #9357 03b6f62 [0.13
backport #9352] Attempt reconstruction from all compact block
announcements (sdaftuar) - #9189 b96a8f7 Always add
default_witness_commitment with GBT client support (sipa) - #9253
28d0f22 Fix calculation of number of bound sockets to use (TheBlueMatt)
new one (gmaxwell)
- #9199 da5a16b Always drop the least preferred HB peer when adding a
9169 d1b4da9 build: fix qt5.7 build under macOS (theuni)
9326 a0f7ece Update for OpenSSL 1.1 API (gmaxwell)
9224 396c405 Prevent FD_SETSIZE error building on OpenBSD (ivdsangen)
(MarcoFalke) - #9185 6d70a73 Fix coincontrol sort issue (jonasschnelli)
- #8972 6f86b53 Make warnings label selectable (jonasschnelli)
(laanwj) - #8908 4a974b2 Update bitcoin-qt.desktop (s-matthew-english)
- #9094 5f3a12c Use correct conversion function for boost::path datadir
- #9190 dc46b10 Plug many memory leaks (laanwj)
(gmaxwell) - #9295 43bcfca Bugfix: Fundrawtransaction: don't terminate
- #9290 35174a0 Make RelayWalletTransaction attempt to AcceptToMemoryPool
when keypool is empty (jonasschnelli) - #9302 f5d606e Return txid even
if ATMP fails for new transaction (sipa) - #9262 fe39f26 Prefer coins
that have fewer ancestors, sanity check txn before ATMP (instagibbs)
Tests and QA
(ryanofsky) - #9186 dccdc3a Fix use-after-free in scheduler tests
- #9159 eca9b46 Wait for specific block announcement in p2p-compactblocks
(mrbandrews) - #9191 29435db 0.13.2 Backports (MarcoFalke)
- #9168 3107280 Add assert_raises_message to check specific error message
segwit scripts (jl2012) - #9200 eebc699 bench: Fix subtle counting issue
9077 1d4c884 Increase wallet-dump RPC timeout (ryanofsky)
9098 ecd7db5 Handle zombies and cluttered tmpdirs (MarcoFalke)
8927 387ec9d Add script tests for FindAndDelete in pre-segwit and
when rescaling iteration count (laanwj)
CreateNewBlock() (jnewbery) - #8920 40169dc Set minimum required Boost
- #8838 094848b Calculate size and weight of block correctly in
to 1.47.0 (fanquake)
'whitelist' (wodry) - #8932 106da69 Allow bitcoin-tx to create v2
- #9251 a710a43 Improvement of documentation of command line parameter
transactions (btcdrak) - #8929 12428b4 add software-properties-common
- #9120 08d1c90 bug: Missed one "return false" in recent refactoring in
9067 (UdjinM6) - #9067 f85ee01 Fix exit codes (UdjinM6)
9340 fb987b3 [0.13] Update secp256k1 subtree (MarcoFalke)
9229 b172377 Remove calls to getaddrinfo_a (TheBlueMatt)
Thanks to everyone who directly contributed to this release:
As well as everyone that helped translating on
- Alex Morcos
- Cory Fields
- Gregory Maxwell
- Gregory Sanders
- Ivo van der Sangen
- Johnson Lau
- Jonas Schnelli
- Luke Dashjr
- Masahiko Hyuga
- Matt Corallo
- Pavel Janík
- Pieter Wuille
- Russell Yanofsky
- S. Matthew English
- Suhas Daftuar
- Wladimir J. van der Laan
bitcoin-dev mailing list
bitcoin-dev at lists.linuxfoundation.org
[index]          
The flaw which allowed the Allies to break the Nazi Enigma code. More links & stuff in full description below ↓↓↓ First video explaining Enigma: http://youtu... 34:30 Alice uses secp256k1 (the bitcoin curve) 35:22 Bob uses secp384r1 curve 36:23 test run Alice sending signed message(s) and Bob validating if message(s) signed by Alice This is part 11 of the Blockchain tutorial explaining how the generate a public private key using Elliptic Curve. In this video series different topics will ... John Wagnon discusses the basics and benefits of Elliptic Curve Cryptography (ECC) in this episode of Lightboard Lessons. Check out this article on DevCentra...