|
Pieter Wuille
Legendary
Offline
Activity: 1072
Merit: 1181
|
|
November 14, 2012, 09:42:11 PM |
|
I have the coinbase maturity set at 100 and not at 120.
To warn you against a potential misconception (it's bitten me before...), coinbase outputs are valid to spend as of 10 1 confirmations (i.e. a difference of 100 between the height of the coinbase and the height of the transaction that spends it), but to be safe in the face of reorganisations, the reference client allows spending as of 120.
|
I do Bitcoin stuff.
|
|
|
MatthewLM (OP)
Legendary
Offline
Activity: 1190
Merit: 1004
|
|
November 14, 2012, 09:53:18 PM |
|
Don't worry, I have implemented it as 101 confirmations. Obviously the block with the coinbase is included as a confirmation and I meant 101 confirmations. I did spend some time staring at it to make sure I did implement it correctly. Others might want to check again: https://github.com/MatthewLM/cbitcoin/blob/7ff4abcff40221ac0eee7a32b12b4509ee4a9f56/src/CBFullValidator.c#L450. If we have a coinbase in block 0, we see by my code that the coinbase can be spent at block 100 (100 - 0 == 100) which is at the maturity and 101 confirmations, therefore it is correct. I didn't know about the 120 behaviour, though obviously that has nothing to do with the block validation code so I've not missed anything there.
|
|
|
|
capsqrl
|
|
November 14, 2012, 11:03:07 PM |
|
KDE does/did something like that. They licensed under both GPL and commercial license (for money) in case some buyer didn't like the restrictions of GPL. No, KDE is fully open source under various licenses, and does not sell proprietary licenses. You're thinking of Qt, which KDE happens to use, but does not manage or produce.
|
|
|
|
jgarzik
Legendary
Offline
Activity: 1596
Merit: 1100
|
|
November 15, 2012, 12:49:52 AM |
|
EDIT: By "fresh" coins i mean just received coins but having 6-7 confirmations. Official client won't allow to re send these, so this is the reason i created my fork.
So the satsohi client doesn't allow you to make transactions from outputs just found, even when they have 6 confirmations??? Of course it does. You may make transactions from any output with at least one confirmation... except for newly generated blocks, as another poster noted. Generated blocks are not considered "mature" and spendable until 120 confirmations.
|
Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own. Visit bloq.com / metronome.io Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
|
|
|
MatthewLM (OP)
Legendary
Offline
Activity: 1190
Merit: 1004
|
|
November 15, 2012, 10:12:37 AM |
|
Yes and ShadowOfHarbringer was most likely speaking of the 120 confirmation requirement. The answer to the original question is therefore that cbitcoin will not have this 120 confirmation restriction since cbitcoin will not restrict what transactions you can produce and broadcast. You can use it to create any transactions you want. It doesn't mean all transactions will be accepted by the network and cbitcoin will include checks on received relayed transactions.
|
|
|
|
Mike Hearn
Legendary
Offline
Activity: 1526
Merit: 1134
|
|
November 15, 2012, 10:42:43 AM |
|
If we have a coinbase in block 0, we see by my code that the coinbase can be spent at block 100 (100 - 0 == 100) which is at the maturity and 101 confirmations, therefore it is correct. The coinbase in block zero is not spendable. If you allow it, potentially one day Satoshi could split the network. It's details like this which make reimplementing Bitcoin so dangerous.
|
|
|
|
MatthewLM (OP)
Legendary
Offline
Activity: 1190
Merit: 1004
|
|
November 15, 2012, 10:50:09 AM |
|
Yes I know that. I was ignoring everything else and using the number 0 to demonstrate the mathematics. Imagine a different number if you want. The genesis coinbase is not added to the unspent output index in cbitcoin so it cannot be spent. I made a note about it here: https://github.com/MatthewLM/cbitcoin/blob/master/src/CBFullValidator.c#L780I've followed the validation rules carefully but indeed something might be missed which is why testing is important and I'd like to get others to look through the code.
|
|
|
|
MatthewLM (OP)
Legendary
Offline
Activity: 1190
Merit: 1004
|
|
November 15, 2012, 12:39:05 PM |
|
If anyone wants to be listed as a donor or a business sponsor then you can email me and I can give a bitcoin address: http://cbitcoin.com/donors.htmlAnyone who has already donated more than $15 in equivalent bitcoins can email me proof that they own addresses spent from in the donation transactions, if they want to be included in the list. You can do that by signing your information to be included on the list with a bitcoin address which acted as the source of the transaction. Email me questions if you need help. The categories are: Business Sponsor: For $1000 or more you can have your business logo and weblink listed on the contributors page and the homepage. Gold Donor: For $500 or more you can have your personal name or business name with an optional weblink listed on the contributors page. Silver Donor: For $150 or more you can have your personal name or business name with an optional weblink listed on the contributors page. Bronze Donor: For $50 or more you can have your personal name or business name with an optional weblink listed on the contributors page. Other Donor: For $15 or more you can have your personal name listed on the contributors page.
|
|
|
|
MatthewLM (OP)
Legendary
Offline
Activity: 1190
Merit: 1004
|
|
November 15, 2012, 02:38:52 PM |
|
I've now added the RocketHub page: http://www.rockethub.com/projects/11976-cbitcoin-developing-bitcoin-s-futureWhile I'm looking to raise over $6000 ideally, I picked the more modest $2000 goal as I think that should be reachable. I'd be very grateful for any donations. Using RocketHub you can become a donor or business sponsor. I've also contacted a designer in regards to the logo. I should hopefully have that sorted within a couple of weeks. That will be a small cost. Also please share the project on as many websites pages as you can. That much is free to do.
|
|
|
|
jgarzik
Legendary
Offline
Activity: 1596
Merit: 1100
|
|
November 15, 2012, 03:49:47 PM |
|
Yes and ShadowOfHarbringer was most likely speaking of the 120 confirmation requirement. The answer to the original question is therefore that cbitcoin will not have this 120 confirmation restriction since cbitcoin will not restrict what transactions you can produce and broadcast. You can use it to create any transactions you want. It doesn't mean all transactions will be accepted by the network and cbitcoin will include checks on received relayed transactions.
You have just admitted that you are creating a non-compliant codebase, which will create invalid transactions. In that case, maybe people should redirect their donations and attention elsewhere. Other bitcoin clients include this requirement because it is.... a requirement.
|
Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own. Visit bloq.com / metronome.io Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
|
|
|
MatthewLM (OP)
Legendary
Offline
Activity: 1190
Merit: 1004
|
|
November 15, 2012, 04:58:59 PM |
|
So now you are telling me that the coinbase maturity is not 100 (ie. 101 confirmations)?
I've read the code. The code is lying to me? It's changed?
Explain to me exactly how cbitcoin is non-compliant with the bitcoin protocol.
|
|
|
|
Dusty
|
|
November 15, 2012, 05:26:19 PM |
|
The coinbase in block zero is not spendable. If you allow it, potentially one day Satoshi could split the network. Yes I know that. I'm interested in knowing the details on why this is the case: someone is kind enough to enlighten me?
|
|
|
|
MatthewLM (OP)
Legendary
Offline
Activity: 1190
Merit: 1004
|
|
November 15, 2012, 05:39:37 PM |
|
The coinbase in block zero is not spendable. If you allow it, potentially one day Satoshi could split the network. Yes I know that. I'm interested in knowing the details on why this is the case: someone is kind enough to enlighten me? I don't know either. All I know is that it is that way for whatever reason. Well it looks like I'll be able to get a logo done for £60 (~$95) upfront for initial designs (minimum 10). I'll then be able to post the designs on here to receive feedback. After deciding on a good design, for another £60 (~$95) the logo will be adjusted and finalised. So that will be a cost of £120 (~$190).
|
|
|
|
notme
Legendary
Offline
Activity: 1904
Merit: 1002
|
|
November 15, 2012, 06:19:09 PM |
|
So now you are telling me that the coinbase maturity is not 100 (ie. 101 confirmations)?
I've read the code. The code is lying to me? It's changed?
Explain to me exactly how cbitcoin is non-compliant with the bitcoin protocol.
I think he's referring to it allowing invalid transactions to be broadcast.
|
|
|
|
MatthewLM (OP)
Legendary
Offline
Activity: 1190
Merit: 1004
|
|
November 15, 2012, 06:39:14 PM |
|
So now you are telling me that the coinbase maturity is not 100 (ie. 101 confirmations)?
I've read the code. The code is lying to me? It's changed?
Explain to me exactly how cbitcoin is non-compliant with the bitcoin protocol.
I think he's referring to it allowing invalid transactions to be broadcast. That doesn't mean cbitcoin is non-compliant with the bitcoin protocol. So it is unfair to say: In that case, maybe people should redirect their donations and attention elsewhere. cbitcoin is a bitcoin library and not a bitcoin client. It will give developers the ability to broadcast transactions and it is their responsibility to ensure the transactions are produced correctly. And this is false: will create invalid transactions. Not "will". The correct word is "can" but obviously there is little good reason why someone would want to create duff transactions.
|
|
|
|
Gavin Andresen
Legendary
Offline
Activity: 1652
Merit: 2301
Chief Scientist
|
|
November 15, 2012, 07:14:03 PM |
|
I am currently studying Enterprise Development BA at the University of Huddersfield and I have a very exciting business idea for bitcoin that would make use of cbitcoin.
So... please don't take this the wrong way, but what's your prior experience creating and shipping high-quality software? I ask because re-implementing Bitcoin as a first "software-people-other-than-myself-are-going-to-use" project is a really bad idea, I don't see any list of previous work at the RocketHub page, and the 9,000 lines of code you've already written doesn't look like the work of somebody who has professional software development experience (e.g. no makefile/build system ...). Maybe you're a prodigy and will get it right the first time, but you're already at 'cbitcoin 2.0' because you weren't happy with how 'cbitcoin 1.0' was turning out. See the solidcoin/microcash saga for an example of how over-promising "1.0/2.0/3.0" releases destroys confidence. And maybe you CAN point to some other successful software you wrote and shipped when you were 17, in which case I'll shut up and leave you alone.
|
How often do you get the chance to work on a potentially world-changing project?
|
|
|
ShadowOfHarbringer
Legendary
Offline
Activity: 1470
Merit: 1006
Bringing Legendary Har® to you since 1952
|
|
November 15, 2012, 07:31:29 PM |
|
I am currently studying Enterprise Development BA at the University of Huddersfield and I have a very exciting business idea for bitcoin that would make use of cbitcoin.
So... please don't take this the wrong way, but what's your prior experience creating and shipping high-quality software? I ask because re-implementing Bitcoin as a first "software-people-other-than-myself-are-going-to-use" project is a really bad idea + 10 ^ n, where n -> ∞
|
|
|
|
MatthewLM (OP)
Legendary
Offline
Activity: 1190
Merit: 1004
|
|
November 15, 2012, 07:55:09 PM |
|
So... please don't take this the wrong way, but what's your prior experience creating and shipping high-quality software?
I ask because re-implementing Bitcoin as a first "software-people-other-than-myself-are-going-to-use" project is a really bad idea, I don't see any list of previous work at the RocketHub page, and the 9,000 lines of code you've already written doesn't look like the work of somebody who has professional software development experience (e.g. no makefile/build system ...). The "software-people-other-than-myself-are-going-to-use" I've successfully completed are iPhone and Android apps which I've developed over a couple of years. Also I've done some web-development (See for example: http://www.thelibertyportal.com/#articles) and I'm currently also working on a facebook app (but that's not finished). You can see the android apps here: https://play.google.com/store/apps/developer?id=Matthew+Mitchell&hl=en_GBAnd the iOS apps: https://itunes.apple.com/sa/artist/matthew-mitchell/id398617356 (Open) Re-implementing bitcoin is obviously a major challenge compared to mobile apps. That doesn't mean I cannot do this though. I'm getting there and I'm getting there at a reasonable pace. I will implement the makefile. Others said they would help with that but since no one has I'll do it myself but I'll do that in my own time (I've got a long list of things to do). you're already at 'cbitcoin 2.0' because you weren't happy with how 'cbitcoin 1.0' was turning out. See the solidcoin/microcash saga for an example of how over-promising "1.0/2.0/3.0" releases destroys confidence. So it's a good idea not to improve software? cbitcoin 1.0 was OK but it was limited. I changed my vision for the project into something much more advanced. I do not see why that should destroy confidence. But if anyone does not trust me, then that's fine, just wait a while and I'll prove you wrong. If there is one good thing about being criticised, it is that it becomes so much better when you make it work. I know what that feels like.
|
|
|
|
hazek
Legendary
Offline
Activity: 1078
Merit: 1003
|
|
November 15, 2012, 08:25:29 PM |
|
I am currently studying Enterprise Development BA at the University of Huddersfield and I have a very exciting business idea for bitcoin that would make use of cbitcoin.
So... please don't take this the wrong way, but what's your prior experience creating and shipping high-quality software? I ask because re-implementing Bitcoin as a first "software-people-other-than-myself-are-going-to-use" project is a really bad idea, I don't see any list of previous work at the RocketHub page, and the 9,000 lines of code you've already written doesn't look like the work of somebody who has professional software development experience (e.g. no makefile/build system ...). Maybe you're a prodigy and will get it right the first time, but you're already at 'cbitcoin 2.0' because you weren't happy with how 'cbitcoin 1.0' was turning out. See the solidcoin/microcash saga for an example of how over-promising "1.0/2.0/3.0" releases destroys confidence. And maybe you CAN point to some other successful software you wrote and shipped when you were 17, in which case I'll shut up and leave you alone. What's the matter Gavin, can't take a little competition? How about instead of ad hominem attacks you actually read through his 9000 lines of code already written and find something concrete to criticize? Wouldn't that be more relevant and productive than questioning his capability based on a brief observation? And why not encourage him to try and fail if nothing else, it's not like his failure will be forced upon anyone else but his success might be good for a lot of people, no? Btw I'm posting this not because I have anything against your work on the original client but because I can't understand the nature or goal of your post. If it was to save people from investing into something that might not yield a positive result, I would have wished you didn't need to resort to manipulative fallacies to do so.
|
My personality type: INTJ - please forgive my weaknesses (Not naturally in tune with others feelings; may be insensitive at times, tend to respond to conflict with logic and reason, tend to believe I'm always right)
If however you enjoyed my post: 15j781DjuJeVsZgYbDVt2NZsGrWKRWFHpp
|
|
|
|