Bitcoin Forum
September 24, 2024, 10:10:16 AM *
News: Latest Bitcoin Core release: 27.1 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1] 2 3 »
1  Economy / Services / Looking to hire shills on: May 30, 2019, 11:45:23 AM
looking to hire shills for reddit and 4chan.

Pls post your rates and proof you are legit.
2  Alternate cryptocurrencies / Marketplace (Altcoins) / Can build Android Wallet for any coin [SERVICE] PM me on: January 17, 2019, 06:16:04 AM
I can build an android wallet from scratch for your coin.
PM me for details (along with github link to coins code, site etc.) and I'll give you a price.

3  Bitcoin / Development & Technical Discussion / inbuilt transaction type in bitcoin to improve scalability massively? on: January 12, 2019, 05:40:53 AM
So current tx. is (basically) like this right;
Code:
inputs;
<unlock script>(n times)

outputs;
OP_DUP OP_HASH160 <hash> OP_EQUALVERIFY OP_CHECKSIG (n times)

but this is really boilerplate. And probably like 90% of tx. are like this^. so why not have an inbuilt method to process these tx. much easier and more scalable?

so like this;
Code:
type: simple_tx,
inputs: {
  tx_id: <id> (n times)
  aggregated signature: <signature> (1 time)
}

outputs: {
  type: simple_unlock
  new_owner: <pub key>
}

so here we get rid of a lot a lot of data by making tx much more simple. Node processes inputs by searching all tx_id's and makes sure they are all of the type simple_unlock. Then it adds all the pub keys for those tx up and makes sure that the input signature matches*. Then if its valid the node adds the new outputs to the db.
if simple_unlock is used with traditional scripting unlocks outputs then it just defaults to  OP_DUP OP_HASH160 <hash> OP_EQUALVERIFY OP_CHECKSIG and the spender has to provide a valid unlock script.

Using this method means that you can get size of input signatures down from O(n) to O(1). There is also space saving on the outputs because you only need to use a pub key and not other scripting stuff.

*i am not sure if ecdsa has signature aggregation? But I know schnorr does.
4  Bitcoin / Development & Technical Discussion / What libraries for secp256k1 have been used for bitcoin in the past? on: January 06, 2019, 09:38:15 AM
Is it possible that at least one of them had an exploit in them?
Making all of the transactions/addresses sent during that period vulnerable to attack?
5  Alternate cryptocurrencies / Service Discussion (Altcoins) / where are some places to rent hashing power? on: January 02, 2019, 07:49:44 AM
I already know about nicehash, are there any other places?
6  Bitcoin / Development & Technical Discussion / How exactly are forks resolved in bitcoin? on: November 05, 2018, 06:28:30 PM
so say there is one block 1500. the next block published is 1501_a. but at the same time another block is published 1501_b.
a node recieves 1501_a first and stores it as the main chain. but the next block is actually mined on top of 1502_b.

so now the node has to revert any changes made with block 1501_a. and change it so that it never happened but was instead 1501_b and then 1502_b.

how does the node revert the changes exactly?

the only thing i can think that has to be changed are, the utxo set would need to be edited to go back to 1500. and then 1501_b, 1502_b.
and the last block hash has to be changed to 1502_b as well as deleting 1501_b.

but how is the utxo set reverted? it means that utxos that were spent and deleted from the db after block 1502_a was processed, will have to some how be recovered again. how is this done?
7  Bitcoin / Development & Technical Discussion / How does bitcoin store the utxo set? on: November 03, 2018, 03:17:53 PM
IS the utxo set stored independently from the block set?

so for each block that comes in you store;
block (Key: BlockHash)
then extract each tx and store;
tx (Key: TxHash)

or is it all stored inside blocks? how does bitcoin search the db for a given utxo to verify a transaction is legitimate if it just stores the blocks?
8  Bitcoin / Development & Technical Discussion / How are bitcoin blocks verified? on: October 28, 2018, 06:10:10 PM
I see in the bitcoin wiki there is something called "script" which compiles down to some bytecode to be run by a very very basic virtual machine.
Does this mean that each block is actually just a string/array of bytes when it comes in and is processed by a node?
so a block in its "true" format would look something like [0x01, 0x04, 0x0f, 0xa1.... etc. ?

and then the node that recieves the block just puts the bytes into the interpreter to be run by the bitcoin VM?
or is there some plaintext involved in the block as well? so it looks something like JSON;
{
   blockhash: 12983092....,
   transactions: [ {8123098...}, {12381923...}],
   timestamp: "08:00:23 12/09/2017"
}

which is correct? a block is pure bytecode or JSON? what would a bitcoincore node understand when receiving a new block?
9  Bitcoin / Development & Technical Discussion / how is "s" kept as an integer in ECDSA? on: October 09, 2018, 01:15:06 PM
from wikipedia

Quote
G is a basepoint on a curve.
Alice picks a key; d_{A} and a corresponding pub key; Q_{A} = d_{A} * G

Calculate e = HASH(m), where HASH is a cryptographic hash function, such as SHA-2.
Let z be the L_{n} leftmost bits of e, where L_{n} is the bit length of the group order n.
Select a cryptographically secure random integer k from [1,n-1].
Calculate the curve point (x_1, y_1) = k * G.
Calculate r = x_1 mod n. If r = 0, go back to step 3.
Calculate  s=k^-1(z+rd_{A}) mod n. If s=0, go back to step 3.
The signature is the pair (r,s).

But how can s be an integer since k^-1 will yield a decimal amount (e.g. 123.12347)?
10  Bitcoin / Development & Technical Discussion / How is a bitcoin transaction serialised so that it is ready for signing? on: October 07, 2018, 01:00:57 PM
What are the exact technical steps to serialize a transactions so that it is ready to be signed and the resulting signature is valid?
11  Bitcoin / Development & Technical Discussion / How is a public key calculated from a private key using ecc? on: October 02, 2018, 07:39:21 AM
As I understand it a pub key is calculated by;

u = random number (private key)
(x, y) = G = Base point

uG = P = public key

my question is, if its possible to calculate the pub key with uG then since you are doing u computations already, can't you just calculate the private key from P?
Just brute force G as many times as needed until you arrive at P.

Obviously I am misunderstanding something. Is P calculated in a more efficient way than just u*G?
12  Bitcoin / Development & Technical Discussion / How to sign a message offline with your private key? on: September 08, 2018, 01:16:56 PM
Is there a javascript library that lets you sign and verify a message offline with a bitcoin private key?

e.g.
Code:
import ecc from "ecc-library";

const privateKey = "5K9Rx5LtXrTCo7Rb1ZsE3rKYxinzE5Ge8Rm3xeuyXm8LyjApqyH";
const address = "1EheWoBDtpU46ioGrycKnxAkJZR7xRQ6Bt";
const message = "My message";
const signature = ecc.sign(message, privateKey); //Signs the message
ecc.isValidSignature(signature, message, address); //Checks if signature is valide
13  Bitcoin / Development & Technical Discussion / A fully decentralised consensus algorithm on: June 09, 2018, 05:58:31 PM
A fully decentralised (or rather, distributed) consensus algorithm in a perfect world would be where, every participant in the network has an equal voting weight on what the correct history of transactions is.

Currently no crypto has this feature... with PoW based systems anyone can effectively *buy* the chain with their hashpower. With PoS the same can be said with buying actual stake within the network in terms of coins - the same applies to DPoS, and pretty much every other consensus mechanism I have come accross... WITH the exception of IOTA - despite the fact that IOTA doesn't work yet, I think the core game theory behind it, is probably the most innovative in the entire crypto space.

Instead of incentivising transaction verification through a monetary reward within the network (i.e. a coinbase reward), transaction verification is incentivised by the user's willingness to MAKE a transaction*.

The problem with this method and the reason it doesn't work properly is that it is quite easy for an attacker to game.

In what other ways can you shift around the game theoretic model of incentivising transaction verification and honesty on the network? I think this is the key to a fully distributed network where 1 person = 1 vote.


*If you don't know how IOTA works, user's basically have to perform a PoW on two previous tx. confirming them within a DAG like structure in order to broadcast their own tx.
14  Bitcoin / Project Development / Building a block explorer in node.js on: May 29, 2018, 03:37:02 PM
What is the best way to go about this?

Should i just run a full node server side and then make rpc requests to localhost to get info?
Or do i need to design a whole database and write the blocks to a specialised file somewhere?
15  Bitcoin / Development & Technical Discussion / How to securely generate private key with javascript? on: May 05, 2018, 09:28:12 AM
What is the most secure way to generate a private key for a user?

Is this secure?

Hashing a password that the user inputs (longer than 10 characters with numbers, capital letters), then hashing with the current date and time, then hashing with random number generated between 1-100,000?

Does anyone know how is private key generation handled in other clients?

Edit: This is for a wallet service, so all code should be run within the browser side.
16  Bitcoin / Development & Technical Discussion / Problem building browser version for bitcore-lib.js on: May 04, 2018, 07:21:36 PM
I am asking here as a last resort...
No one has responded to the issue I opened on the github or on their forum xD

When I run: bower install bitcore-lib
I get this error: bower invalid-meta  The "main" field cannot contain minified files

I need to create bitcore-lib.min.js file so I can use in a browser.
Has anyone had this issue? How to solve it?

Thanks Smiley)
17  Bitcoin / Development & Technical Discussion / How to securely sign and publish Bitcoin transaction (using Bitcore JS library)? on: May 04, 2018, 01:51:22 PM
Is this a secure way to sign and publish a transaction or can the node intercept the private key?

Code:
var bitcore = require('bitcore');

let privateKey = "11111111111111111111111111";
let address = "1aaaaaaaaaaaaaaaaaaaa";
let amount = 100;

//creates transaction
var transaction = new bitcore.Transaction();
var transaction.from(<insert UTXO>).to(address, amount);
transaction.sign(privateKey);
transaction.serialize();

//Bitpay's tools
var Insight = require('bitcore-explorers').Insight;
var insight = new Insight('testnet');

//broadcasts transaction using bitpay's server
insight.broadcast(transaction, function (err, id) {
    if (err) {
      console.log(err);
    } else {
      console.log("Transaction Id: " + id);
    }
};

18  Economy / Services / Looking for a job on: April 02, 2018, 07:41:36 AM
I am a solidity (ethereum) dev looking for a project to work on.
Does anyone know where I can go?
19  Bitcoin / Development & Technical Discussion / Has anyone got a link to Satoshi's first implementation of Bitcoin? on: March 05, 2018, 02:50:26 AM
I heard that it's on sourceforge but would be nice if someone has any earlier links Smiley
20  Alternate cryptocurrencies / Tokens (Altcoins) / [AIRDROP] A Privacy Protocol for Ethereum: Nightshade on: February 23, 2018, 07:33:56 PM
Join telegram group for Airdrop https://t.me/NightshadeOfficial



Pages: [1] 2 3 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!