GitHub - hhanh00/secp256k1-cl

MaxCoin Specifications. Important

Quick Technicals
Cryptography Tech Spec
MaxCoin uses the Keccak (SHA-3) hashing algorithm for its Proof-of-Work. Keccak was selected as an alternative to the NSA designed SHA256 after a 5-year long competition held by the NIST and will be seen increasingly as the algorithm used in banking and other secure applications. A single round of Keccak is used, resulting in a 256 bit hash.
We have also implemented a provably-secure signing algorithm, EC-Schnorr. Every existing cryptocurrency uses the ECDSA algorithm, as chosen by Satoshi; whilst ECDSA is in common use and is secure, EC-Schnorr is provably more secure and is currently being recommended over it (https://www.enisa.europa.eu/activities/identity-and-trust/library/deliverables/algorithms-key-sizes-and-parameters-report/at_download/fullReport). Additionally, MaxCoin changes the elliptic curve utilised within the signing algorithms from a Koblitz curve, secp256k1, to a more secure psuedo-random one, secp256r1. The use of the latter curve is recommended almost universally - and the decision by Satoshi to use the former is one that is often queried in the Bitcoin world. One theory is that there are some speed advantages to using the Koblitz curve, but, the implementation used in Bitcoin (OpenSSL) does not make use of this optimisation and, thus, the result is reduced-security.
The cryptography choices within MaxCoin have been made to maximise security and, where possible, to minimise NSA influence. We have been advised throughout by the renowed cryptography expert Professor Nigel Smart (https://en.wikipedia.org/wiki/Nigel_Smart_(cryptographer)).
These changes also lay the foundation for some key features we're aiming to implement in MaxCoin over the coming months, so while they may currently appear uninteresting changes they pave the way for our future growth.
What do you mean by "Starting Algorithm"?
This is an issue of hardware miner resistance, such as ASICs. Keccak is the starting algorithm for MaxCoin and at this point in time no hardware miner currently exists. However, creating a Keccak ASIC is not impossible. Therefore, in order to protect against a hardware-miner future we are going to implement an "ASIC protection" feature into MaxCoin. This will work by allowing the blockchain to decide a new hashing algorithm for MaxCoin every x blocks. More specifically, the last authenticated transaction's hash is used to determine an integer and depending on this value an algorithm will be selected. This will mean hardware miners will find it difficult to create hardware in enough time to see profitable return. Purely for example, these could be:
x Algorithm 0 Keccak 1 Blake 2 Grostlx2 3 JH 4 Skein 5 Blake2 6 JH(Grostl) 7 Keccak+Blake
Difficulty & Distribution
MaxCoin will have a zero % premine, proven by the timestamps of the first blocks in a block explorer, and we have attempted to combat low-difficulty instamining with a fast retarget rate up until block 200. At block 200 the Kimoto Gravity Well implementation will take over the retargeting.
Mining is done via CPU at release (mining guides about to be released also on this subreddit), but a GPU miner will not be far away. We've seen some versions in the works already after we released CPUminer yesterday, and while we have not yet seen a working version, this is very unlikely to take long. We'll update all official channels with Keccak GPU miner once it is available. It's also worth noting that any GPU miner created will not work after the first algorithm switch takes place.
submitted by maxcoinproject to maxcoinproject [link] [comments]

Satoshi Nakamoto Had Outside Cryptography Help, Says Early Bitcoin Dev Elliptic Curve Digital Signature Algorithm (ECDSA) - Public Key Cryptography w/ JAVA (tutorial 10) The Elliptic Curve Digital Signature Algorithm and raw transactions on Bitcoin Introduction to Bitcoin with Yours Bitcoin, Lecture 3: Elliptic Curves Blockchain tutorial 11: Elliptic Curve key pair generation ...

This page describes the behavior of the reference client.The Bitcoin protocol is specified by the behavior of the reference client, not by this page. In particular, while this page is quite complete in describing the network protocol, it does not attempt to list all of the rules for block or transaction validity.. Type names used in this documentation are from the C99 standard. Elliptic Curve Digital Signature Verification (ECDSA) algorithms are the base for many blockchains’ transactions. For example, Bitcoin and Ethereum use ECDSA (secp256k1). Edwards-curve Digital… 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.. A few concepts related to ECDSA: private key: A secret number, known only to the person that generated it.A private key is essentially a randomly generated number. No, Bitcoin does not use encryption. It is called cryptocurrencybecause its digital signature algorithm uses the samemathematical techniques that are used for a type of encryption based on elliptic curves . (In particular Bitcoin uses the ECDSA algorithm with elliptic curve secp256k1 .) For both encryption and digital signatures, each user of ... However, secp256k1 is nowhere near the fastest curve. It takes 10 times as long to generate a key-pair with many algorithms, according to the above link, so it would likely take tens of hours at least to iterate the search space. A more mainstream laptop and you may be looking at several days.

[index] [42455] [20812] [37149] [25085] [34849] [20286] [31430] [40978] [22966] [51318]

Satoshi Nakamoto Had Outside Cryptography Help, Says Early Bitcoin Dev

The Bitcoin Operations Technology Group (Optech) works to bring the best open source technologies and techniques to Bitcoin-using businesses in order to lower costs and improve customer ... The third lecture covers elliptic curves and in particular secp256k1, the curve used by bitcoin. This curve is used for public keys and ECDSA, the digital signature algorithm of bitcoin. According to an early Bitcoin ( BTC ) developer, Satoshi Nakamoto sought help from outside cryptographers prior to launching Bitcoin. Laszlo Hanyecz, who worked closely with Satsohi in 2010 , told ... 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 Skip navigation Sign in. Search

#