Bitcoin Forum
May 24, 2024, 05:51:25 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 [29] 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 »
561  Bitcoin / Development & Technical Discussion / Re: cbitcoin - Bitcoin implementation in C. Currently in development. on: July 05, 2012, 03:51:27 PM
Thank you very much. Sorry buying bitcoin isn't as easy as it would ideally be.  Wink
562  Bitcoin / Development & Technical Discussion / Re: cbitcoin - Bitcoin implementation in C. Currently in development. on: July 04, 2012, 10:51:05 PM
I'm currently implementing the message structures with serialisation code for each structure. After that I'll implement code used to manage network connections, to pass on de-serialised messages from nodes and to send messages to nodes. Then I'll work on the blockchain validation code.

I want this library to be low level so that the library wont implement the network responses itself and relay addresses, relay blocks, download and verify the block chain (There will be validation code but it will need configuring to the requirements of the programmer) etc. Instead the library will give the interface for programmers to build a node to their specifications.

But don't worry if you think a client will not come from this. I plan to write a client library on top of cbitcoin, and GUI applications will come too. Do not get over excited since a stable/secure client is far off as there will need to be extensive testing on top of the development. Also remember this library should become suitable for various bitcoin projects and not only basic clients.

Once again, if anyone wishes to contribute to this project it would be very helpful (and easy) for people to contribute with the testing. At the moment there are two obvious things which need more testing. The "testCBByteArray" file needs tests for all the functions. The test files for the structures that inherit CBMessage need tests for fail cases where the de-serialisation and serialisation is supposed to fail (And give an appropriate error message). More script tests or any tests elsewhere are great.

I've given up developing iPhone apps to put a lot of my time towards this, so hopefully it will come along reasonably quickly.

There will be inevitable costs to this project. If anyone would like to help this project financially, donations are very welcome: 1D5A1q5d192j5gYuWiP3CSE5fcaaZxe6E9

Thank you.
563  Bitcoin / Project Development / Re: Help build a better Bitcoin logo! on: July 04, 2012, 07:19:22 PM
Obviously the binary represents this: http://friendfeed.com/terrificclutter/5357ea4a
564  Bitcoin / Bitcoin Discussion / Re: Bitcoin in-FUN-graphic on: July 04, 2012, 04:52:57 PM
Still need to fix the generation rate. If that is fixed I'll share the image.
565  Bitcoin / Development & Technical Discussion / Re: The Bitcoin Network Protocol. What is the point in so much socket sharing?... on: July 03, 2012, 02:45:05 PM
I understand you may want to share an alternative IP address for incoming connections but you still don't need to know what the IP address is for your outgoing connections.

The way I would have done it is perhaps modify the behaviour of the addr message so that you can send an unspecified address (All zero).  This would tell nodes to share the IP from the connection used in receiving the addr message. If you want to use an alternative address, you send that through instead. If you want no incoming connections, then send no addr message for yourself. This way you don't need to obtain your own IP address. Obtaining your own address is a redundant operation.
566  Bitcoin / Development & Technical Discussion / The Bitcoin Network Protocol. What is the point in so much socket sharing?... on: July 02, 2012, 08:09:45 PM
Hello.

The version message has two network addresses (socket information with services information). One for the receiving address and another for source addresses. The receiving address is apparently to help nodes detect their own IP. Why is this needed? Why would you need to know your own IP? Apparently it is to advertise your own IP to other nodes... well isn't that what happens when you make a TCP/IP connection? When you connect to another node, that node should be able to detect the source socket of the connection, so why would you need to advertise your socket information outside TCP/IP?

It was said that it's because you can give alternative IP addresses to nodes. What does that mean? So that you can run several IPs and once you found them all you can advertise the different IPs through the different connections? If that is the case then I guess that might be a use but how does bitcoin currently use it's own IP address and why?

The second network address in the version message is for the source IP. What is this for? I have no idea. Why would you want to give an alternative source socket other than from the TCP/IP connection socket? Apparently this is not used, so why is it there?

And why does bitcoin periodically send addr messages? Why not a ping? Apparently the TCP/IP source IPs are not OK since they can be changed midway through transmission. Well the bitcoin messages can be modified too, right? So what is the benefit of using the bitcoin protocol to obtain socket information as opposed to the normal TCP/IP protocol?

I'm sure there are all good reasons but I'm quite confused so can anyone explain?

Thank you.
567  Bitcoin / Project Development / Re: Help build a better Bitcoin logo! on: July 02, 2012, 03:21:30 PM
The problem with BTC is that isn't the easiest thing to hand write.
568  Economy / Speculation / Re: Gold collapsing. Bitcoin UP. on: June 28, 2012, 04:46:28 PM
RED GREEN BLUE YELLOW BLACK RED ORANGE PURPLE BLUE
569  Economy / Speculation / Re: Gold collapsing. Bitcoin UP. on: June 28, 2012, 04:28:02 PM
I think I'll finally be able to purchase bitcoins starting next week. Hopefully the price will go back a bit by that time.
570  Economy / Speculation / Re: Gold collapsing. Bitcoin UP. on: June 28, 2012, 02:50:04 PM
Quote
The relational values are my educated guess as to how each of several different types of value apply to each of the assets presented. Subjective is obviously from the subjective theory of value, just as intrinsic infers the intrinsic theory of value. Production value is the input cost, or the labor theory of value.

In the last one I think you mean the cost theory of value?

Well prices are determined through the subjective valuations of market participants. The production cost comes into it because if the price falls below the production cost then producers that produce at this cost will no longer be profitable. With less supply from production because of less profitability then there is an upward pressure on prices. This is due to markets tending towards equilibrium where supply and demand meet. When selling something, you do not want to run out of stock, so if there is less supply, the demand will be greater for the sellers that continue to exist and hence they can raise prices which will lower the actual demand because higher prices removes willing buyers.

All simple economics.
571  Economy / Speculation / Re: Gold collapsing. Bitcoin UP. on: June 27, 2012, 07:12:32 PM
Patience? I didn't think you were interested in longer term investments that you need to wait for. Everyone long gold is also waiting. We will see... At the moment it's just boring. *yawn*
572  Bitcoin / Bitcoin Discussion / Re: What does Quantum Computing mean for Bitcoin? on: June 27, 2012, 07:05:53 PM
What about NTRU? Apparently no quantum based attack has been found and the keys don't have to be as long as other quantum-safe crytosystems.
573  Bitcoin / Bitcoin Discussion / Re: [btc]1 or 1[btc]? on: June 24, 2012, 11:00:16 PM
It's still a bit too big with bold letters surrounding it.
574  Bitcoin / Bitcoin Discussion / Re: PorcFest 2012 -- Biggest Bitcoin event ever on: June 24, 2012, 10:59:29 PM
I like the ice-cream names.  Grin

Glad it was a success.
575  Bitcoin / Bitcoin Discussion / A Brief Laymen's Description of What Bitcoin is and Why it Works. on: June 24, 2012, 10:18:34 PM
Hello. I'm trying to figure out a short way to describe bitcoin to laypeople in a document. So far I've got this. What do people think? And are there any ideas for good descriptions?...



Bitcoin is a decentralised electronic currency which is not backed by any other currency as it is a stand-alone currency traded against other currencies.

Bitcoins are traded using a peer-to-peer decentralised network over the internet. Bitcoin does not rely upon banks or clearing houses; instead the electronic transactions are guaranteed mathematically without needing trust in a third party.

This works because the bitcoin software stores secret keys which allow people to access their money and nobody else. People can send bitcoins to each other using bitcoin addresses. Bitcoin addresses are analogous to bank account numbers, such that money can be sent to them.

Bitcoin uses a proof-of-work system to prevent people from spending the same money several times. Transactions are stored alongside proof that a required level of work was completed to store these transactions. This required work makes it practically impossible to reverse transactions and spend the same money more than once.

People who do this work are referred to as “miners”. These miners receive newly generated bitcoins as a reward for processing transactions, hence this activity is described as “mining bitcoins”. The reward miners receive will go down over time because the amount of total bitcoins created will never exceed 21 million, but miners also receive transaction fees included in transactions which provides an additional incentive to process transactions.

Below is a graph showing the total amount of bitcoins created over time which the software is designed to follow:



Bitcoins can be generated or “mined” by anyone with the appropriate computer software, but to trade bitcoins people do not need to mine them; instead people can buy bitcoins online or trade goods or services in exchange for them. Then people can proceed to make purchases in bitcoins using various computer applications or web-apps. These applications provide bitcoin "wallets" and addresses which allow people to send and receive bitcoins. "wallet" is a term which is used to refer to the place where bitcoins are accessed. It may be easy to think of a bitcoin wallet as being like a bank account.

The key benefits to using bitcoin are:

* There is no third party risk because people own their bitcoins directly through the secret keys.
* Transactions are irreversible (No chargebacks).
* Transactions are typically free at the present time.
* Nobody has to share sensitive financial details unlike with credit/debit card payments.
* Bitcoin creation is limited and predictable.
* Payments can be made globally over the internet.
576  Bitcoin / Development & Technical Discussion / Re: FindAndDelete method in script.h on: June 23, 2012, 08:02:37 PM
I have this for the signatures. Is it correct? It searches for push operations and then goes to the beginning of the data to check for a signature. If a signature is found then it is removed:

Code:
void CBSubScriptRemoveSignature(u_int8_t * subScript,u_int32_t * subScriptLen,CBScriptStackItem signature){
if (signature.data == NULL) return; // Signature zero
u_int8_t * ptr = subScript;
u_int8_t * end = subScript + *subScriptLen;
for (;ptr < end;) {
if (*ptr && *ptr < 78) { // Push
// Move to data for push and record movement to next operation. No checking of push data bounds since it should have already been done.
u_int32_t move;
if (*ptr < 75) {
move = *ptr;
ptr++;
}else if (*ptr == CB_SCRIPT_OP_PUSHDATA1){
move = ptr[1];
ptr += 2;
}else if (*ptr == CB_SCRIPT_OP_PUSHDATA2){
move = ptr[1];
move += ptr[2] << 8;
ptr += 3;
}else{ // PUSHDATA4
move = ptr[1];
move += ptr[2] << 8;
move += ptr[3] << 16;
move += ptr[4] << 24;
ptr += 5;
}
// Check within bounds
if (ptr + signature.length >= end)
break;
// Check signature
if (memcmp(ptr, signature.data, signature.length)) {
// Remove signature
memmove(ptr, ptr + signature.length, end - (ptr + signature.length));
end -= signature.length;
*subScriptLen -= signature.length; // Length adjustment.
}
// Move to next operation
ptr += move;
}else{
ptr++;
}
}
}
577  Bitcoin / Development & Technical Discussion / FindAndDelete method in script.h on: June 23, 2012, 05:10:13 PM
Hello I'm looking here: https://github.com/bitcoin/bitcoin/blob/master/src/script.h#L482

This is used to remove OP_CODE_SEPARATOR codes and signatures. So from what I can tell the OP_CODE_SERPARATOR codes are just removed if they match the next operator in the loop. For signatures, how do they match? Do the signatures have to match the entire push operation? It seems like it may also match signatures if they come after each other in a push operation like:

OP_PUSHDATA1 <num_of_bytes_to_push_for_3_sigs> <sig_bytes> <sig_bytes> <sig_bytes>

So it would match if the signature repeats like that? Or would it only match the first one? Also it seems to me that data in front of the signature would cause the signature not to be removed. Any data after the signature is ignored. Is this right?

Signature not removed?:

OP_PUSHDATA1 <num_of_bytes_to_push> <arbitrary_data> <sig_bytes>

Signature removed but not arbitrary data?:

OP_PUSHDATA1 <num_of_bytes_to_push> <sig_bytes> <arbitrary_data>

Obviously this is important to make OP_CHECKSIG etc. to work.
578  Bitcoin / Bitcoin Discussion / Re: Bitcoin Survey Initial Results on: June 21, 2012, 07:38:54 PM
With the survey I did, it was mostly male as well. Also a lot of Americans again.
579  Economy / Speculation / Re: Gold collapsing. Bitcoin UP. on: June 21, 2012, 07:26:45 PM
That will be BTC20 please. The symbol is too big and shouldn't be bold.
580  Economy / Speculation / Re: Gold collapsing. Bitcoin UP. on: June 20, 2012, 10:58:24 PM
QE3 will commence after Bernanke solves a few problems.

Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 [29] 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!