Bitcoin Forum
May 09, 2024, 07:53:12 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 ... 166 »
  Print  
Author Topic: MasterCoin: New Protocol Layer Starting From “The Exodus Address”  (Read 448419 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic.
grazcoin
Sr. Member
****
Offline Offline

Activity: 284
Merit: 250



View Profile
October 07, 2013, 08:23:14 AM
 #1121

I really like your idea of using uncompressed public keys versus compressed keys. The only problem I have with it is that according to my knowledge the public key you build is not a valid ECDSA point.

Code:
0046727d1b3d6847f9ed344561a315f54b801edf637cad93d000450000000000000002000000000000000300000000000000000000000000000000000000000000

A public key should either start with 04 or 02 your starts with 004. I don't see how this could be a valid public key. Could you, or somebody else, explain why this transaction has been accepted and mined? Even if I remove the leading zero and add it to the end my software recognises that it's not a valid point address.

I also played with a version that rotates the first 0 to the end, but miners seem to take the tx as is.
Can you please show me on the satoshi code (and better on the protocol) where the list of public keys in BIP11 are checked to be valid ECDSA points?


According to NIST and ECRYPT II, the cryptographic algorithms used in Bitcoin are expected to be strong until at least 2030. (After that, it will not be too difficult to transition to different algorithms.)
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715284392
Hero Member
*
Offline Offline

Posts: 1715284392

View Profile Personal Message (Offline)

Ignore
1715284392
Reply with quote  #2

1715284392
Report to moderator
1715284392
Hero Member
*
Offline Offline

Posts: 1715284392

View Profile Personal Message (Offline)

Ignore
1715284392
Reply with quote  #2

1715284392
Report to moderator
1715284392
Hero Member
*
Offline Offline

Posts: 1715284392

View Profile Personal Message (Offline)

Ignore
1715284392
Reply with quote  #2

1715284392
Report to moderator
Tachikoma
Hero Member
*****
Offline Offline

Activity: 938
Merit: 1000



View Profile WWW
October 07, 2013, 08:29:36 AM
 #1122

I really like your idea of using uncompressed public keys versus compressed keys. The only problem I have with it is that according to my knowledge the public key you build is not a valid ECDSA point.

Code:
0046727d1b3d6847f9ed344561a315f54b801edf637cad93d000450000000000000002000000000000000300000000000000000000000000000000000000000000

A public key should either start with 04 or 02 your starts with 004. I don't see how this could be a valid public key. Could you, or somebody else, explain why this transaction has been accepted and mined? Even if I remove the leading zero and add it to the end my software recognises that it's not a valid point address.

I also played with a version that rotates the first 0 to the end, but miners seem to take the tx as is.
Can you please show me on the satoshi code (and better on the protocol) where the list of public keys in BIP11 are checked to be valid ECDSA points?

Obviously this isn't done otherwise your transaction would be rejected.

The fact that the reference client currently does not check if a public key is actually a valid one does not mean we should also disregard it. What happens if an update does check for the validity and none of the transactions get accepted anymore? I'm trying to think ahead.

Electrum: the convenience of a web wallet, without the risks | Bytesized Seedboxes BTC/LTC supported
grazcoin
Sr. Member
****
Offline Offline

Activity: 284
Merit: 250



View Profile
October 07, 2013, 09:13:39 AM
 #1123

I really like your idea of using uncompressed public keys versus compressed keys. The only problem I have with it is that according to my knowledge the public key you build is not a valid ECDSA point.

Code:
0046727d1b3d6847f9ed344561a315f54b801edf637cad93d000450000000000000002000000000000000300000000000000000000000000000000000000000000

A public key should either start with 04 or 02 your starts with 004. I don't see how this could be a valid public key. Could you, or somebody else, explain why this transaction has been accepted and mined? Even if I remove the leading zero and add it to the end my software recognises that it's not a valid point address.

I also played with a version that rotates the first 0 to the end, but miners seem to take the tx as is.
Can you please show me on the satoshi code (and better on the protocol) where the list of public keys in BIP11 are checked to be valid ECDSA points?

Obviously this isn't done otherwise your transaction would be rejected.

The fact that the reference client currently does not check if a public key is actually a valid one does not mean we should also disregard it. What happens if an update does check for the validity and none of the transactions get accepted anymore? I'm trying to think ahead.

First of all - the only rule in our game is the bitcoin protocol. If the reference client decides to do something new (e.g. dropping tx which don't follow some new rules), it may be considered as a fork (there are already other implementations out there, as well as old clients). Saying that, I don't mind changing the format of the fake pubkey so it passes a pubkey test. Do you have some verification code that checks if pubkey is really pubkey?


Tachikoma
Hero Member
*****
Offline Offline

Activity: 938
Merit: 1000



View Profile WWW
October 07, 2013, 09:21:03 AM
 #1124

I'm using bitcoin-ruby to test my points. A ruby wrapper around some OpenSSL functions.

Code:
1.9.3-p286 :002 > require 'bitcoin'
 => true
1.9.3-p286 :003 > Bitcoin::Key.new(nil, '02010000000000000002000000000000000d000000000000000000000000000000')
 => #<Bitcoin::Key:0x007ffe639629e0 @key=#<OpenSSL::PKey::EC:0x007ffe63962940>, @pubkey_compressed=true>
1.9.3-p286 :005 > Bitcoin::Key.new(nil, '02000000000000000002000000000000000d000000000000000000000000000000')
OpenSSL::PKey::EC::Point::Error: invalid compressed point
1.9.3-p286 :006 > Bitcoin::Key.new(nil, '0046727d1b3d6847f9ed344561a315f54b801edf637cad93d000450000000000000002000000000000000300000000000000000000000000000000000000000000')
OpenSSL::PKey::EC::Point::Error: invalid encoding

Perhaps something like python-ecdsa or similar might be able to do the same.



Electrum: the convenience of a web wallet, without the risks | Bytesized Seedboxes BTC/LTC supported
grazcoin
Sr. Member
****
Offline Offline

Activity: 284
Merit: 250



View Profile
October 07, 2013, 09:42:11 AM
 #1125

I'm using bitcoin-ruby to test my points. A ruby wrapper around some OpenSSL functions.

Code:
1.9.3-p286 :002 > require 'bitcoin'
 => true
1.9.3-p286 :003 > Bitcoin::Key.new(nil, '02010000000000000002000000000000000d000000000000000000000000000000')
 => #<Bitcoin::Key:0x007ffe639629e0 @key=#<OpenSSL::PKey::EC:0x007ffe63962940>, @pubkey_compressed=true>
1.9.3-p286 :005 > Bitcoin::Key.new(nil, '02000000000000000002000000000000000d000000000000000000000000000000')
OpenSSL::PKey::EC::Point::Error: invalid compressed point
1.9.3-p286 :006 > Bitcoin::Key.new(nil, '0046727d1b3d6847f9ed344561a315f54b801edf637cad93d000450000000000000002000000000000000300000000000000000000000000000000000000000000')
OpenSSL::PKey::EC::Point::Error: invalid encoding

Perhaps something like python-ecdsa or similar might be able to do the same.

I don't know of python-ecdsa code that checks keys. Only sign and verify are there.
Checking what this ruby code does lead me here:
http://ruby-doc.org/stdlib-2.0/libdoc/openssl/rdoc/OpenSSL/PKey/EC.html (check_key)
which is based on:
http://openssl.sourcearchive.com/documentation/1.0.0e-2ubuntu4/crypto_2ec_2ec_8h_af95a20fbf391a4dd8ef484a4c2bc6f6b.html

Although theoretically I could use the free space in the fake public key which is now padded with zeros together with some rotation of the data to generate a valid pubkey (and that is not going to be easy), I think it makes sense to postpone that feature to the point that major part of the bitcoin nodes do have new rules.


vokain
Legendary
*
Offline Offline

Activity: 1834
Merit: 1019



View Profile WWW
October 07, 2013, 03:52:55 PM
 #1126


To my knowledge, nothing we are doing breaks any laws. We are building tools, which users could use to break laws, just like any tool.


Carefully consider why Satoshi took great pains to be anonymous.

Do you really think that anything built upon your 'protocol' won't be subject to reprisal? If anything, it will be a "live" simulation of how governments react when they have a target.

You're either horribly naive, or fatally idealistic to think this is going to end well.


First amendment protects us to create these neutral tools. We have no criminal intent by creating Mastercoin, it's not like we created it on the sole, primary, or with even any  intention to break laws, which I believe a prosecutor would have to show. In any regard, JR getting snuffed legally seems very unlikely and trivially defendable.

I suppose that you're alluding to recent events, and that is a very real threat by "fatally idealistic", but in the end, considering likelihoods of various risks, JR, would you agree that Mastercoin is too important not to press on?
Mooshire
Sr. Member
****
Offline Offline

Activity: 322
Merit: 250



View Profile
October 07, 2013, 04:07:03 PM
 #1127

So, what can I do with the master coins I have right now?

vokain
Legendary
*
Offline Offline

Activity: 1834
Merit: 1019



View Profile WWW
October 07, 2013, 04:12:57 PM
Last edit: October 07, 2013, 04:36:14 PM by vokain
 #1128

So, what can I do with the master coins I have right now?

As of right now, buying and selling them as far as I know (via project milestones on post #2), though I believe there are no similar tools like bitcoin-d yet? As such, I'm not sure what the actual process of transferring ownership is at the moment. People will either buy or sell based on what future potential they see in MSC.
MasterCoin Buyer/Seller Thread
dacoinminster (OP)
Legendary
*
Offline Offline

Activity: 1260
Merit: 1031


Rational Exuberance


View Profile WWW
October 07, 2013, 04:53:13 PM
 #1129

What are the advantages of using uncompressed public keys?

I'd really rather not rely on transactions which are non-standard in any way if they can be easily distinguished from normal bitcoin transactions. It wouldn't be very long before somebody introduced a "patch" to "fix the problem" (and exclude our transactions). I get the feeling that there are a couple people (at least) who have that kind of clout and wouldn't mind making an object lesson out of us. I don't want to make it easy for them!

What would be involved with "rotating" the data? Would the benefits of this method be worth the extra effort of the rotation and un-rotation?

Thanks!

dacoinminster (OP)
Legendary
*
Offline Offline

Activity: 1260
Merit: 1031


Rational Exuberance


View Profile WWW
October 07, 2013, 05:20:26 PM
 #1130

First amendment protects us to create these neutral tools. We have no criminal intent by creating Mastercoin, it's not like we created it on the sole, primary, or with even any  intention to break laws, which I believe a prosecutor would have to show. In any regard, JR getting snuffed legally seems very unlikely and trivially defendable.

I suppose that you're alluding to recent events, and that is a very real threat by "fatally idealistic", but in the end, considering likelihoods of various risks, JR, would you agree that Mastercoin is too important not to press on?

Getting killed by my government is very low on my current list of worries. I very much doubt they are paying attention to this project yet. If they do start paying attention, they would have no reason whatsoever to bother me. I'm developing a very powerful set of tools, and any powerful set of tools can be used for bad purposes. They have no more reason to hassle me than they have to hassle Gavin. If they did hassle me, I'd probably stop what I'm doing, but there would be no shortage of people well-qualified to take my place. I've heard Gavin make similar statements.

I'm not out to destroy my government. Crypto-currencies do threaten to destroy our existing monetary systems, but that is simply because they are superior, not because they are malicious. It is in the government's interest to keep people like me involved - I'm not hostile to my government, and I'm very easy to keep an eye on. Why would they want to risk my being replaced by an anonymous anarchist? I tend to think of the government as inept, but even I don't think they are that inept.

grazcoin
Sr. Member
****
Offline Offline

Activity: 284
Merit: 250



View Profile
October 07, 2013, 08:46:27 PM
 #1131

What are the advantages of using uncompressed public keys?

I'd really rather not rely on transactions which are non-standard in any way if they can be easily distinguished from normal bitcoin transactions. It wouldn't be very long before somebody introduced a "patch" to "fix the problem" (and exclude our transactions). I get the feeling that there are a couple people (at least) who have that kind of clout and wouldn't mind making an object lesson out of us. I don't want to make it easy for them!

What would be involved with "rotating" the data? Would the benefits of this method be worth the extra effort of the rotation and un-rotation?

Thanks!

The transaction being used is a standard BIP11:
https://en.bitcoin.it/wiki/BIP_0011
The spec simply says:
m {pubkey}...{pubkey} n OP_CHECKMULTISIG
and that is what "simple multisig" uses.
compressed public keys is something was later introduced, but the original is the non compressed one.

The last discussion was about potential enforcing rules on the public keys or not.
The protocol says nothing about this data, and if in the future the consensus requests a change, mastercoin spec can adapt as well.
Any change would anyway influence only new transactions.

For me it is clear that simplicity and unambiguity should be main concerns in defining a protocol. Also keeping enough place for future enhancements is important. Embedding the recipient address inside the data enables also dynamic recipients (like pay to script or some encryption layer), which contributes flexibility to the mastercoin protocol. Having only 2 outputs instead of 4, lowers the utxo pollution and is more esthetic.

You can see that there are already many such transactions on the blockchain:
https://encrypted.google.com/#q=site%3Ablockchain.info+Escrow

As for the rotation of the data - the idea is to change the data pubkey string from  "004....000" to "04....0000", so it "looks" more like a normal public key, but since the protocol and all common implementations do not request such a verification, I left it out. If ever a public verification code becomes part of the bitcoin protocol, the rotated data would not pass the verification anyway, so let's leave it aside.



Tachikoma
Hero Member
*****
Offline Offline

Activity: 938
Merit: 1000



View Profile WWW
October 08, 2013, 02:41:16 PM
 #1132

There is nothing wrong with using uncompressed public keys; I'm all for it.

The problem is that you can't guarantee that your uncompressed public key is also a valid ECDSA point, this is the part I'm worried about since it would be fairly easy for the reference client to add a simple check to see if a public key is actually a valid one and flag it as nonValid if this is not the case.

I think it's time the Mastercoin foundation appoints an official developer that will be the Linus to our Linux. He/She should decide on the official implementations so that after hearing all the sites the discussion a decision can be made on the official spec. I'm afraid J.R. is not the perfect candidate to this because he is too detached from the actual development.

Electrum: the convenience of a web wallet, without the risks | Bytesized Seedboxes BTC/LTC supported
HammerFist
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
October 08, 2013, 03:31:00 PM
 #1133

I'm afraid J.R. is not the perfect candidate to this because he is too detached from the actual development.
While it is OK if he is not the primary coder, why is he detached from development?  Not just detached, but 'too detached'?  That is not good.  We need a CTO quick.  J.R.?  WTF?


Oh, OK.  Now I see what is going on.  He is busy worrying about who is trying to kill him.
Getting killed by my government is very low on my current list of worries.
Tachikoma
Hero Member
*****
Offline Offline

Activity: 938
Merit: 1000



View Profile WWW
October 08, 2013, 03:45:28 PM
 #1134

What I was trying to say, before others also misinterpret my words, is that J.R. is not as well versed in the whole technical aspect of multisig transactions as the current developers are. He needs to rely on information he is being given from the other developers like me and Grazcoin.

Electrum: the convenience of a web wallet, without the risks | Bytesized Seedboxes BTC/LTC supported
dacoinminster (OP)
Legendary
*
Offline Offline

Activity: 1260
Merit: 1031


Rational Exuberance


View Profile WWW
October 08, 2013, 04:03:30 PM
 #1135

I think I have enough information now. The uncompressed public key would be absolutely ideal IF we could be confident that the bitcoin core devs were friendly to our cause. However, some of those guys are openly hostile to us, and if anybody in that group supports us, they haven't said so publicly.

Grazcoin, I hope you won't be sad if we hold onto your idea until we are more established? It's clear to me that we can't use it exclusively right now. We might be able to support both types of transactions, but I don't want to make things more complicated than we absolutely have to.

I would LOVE to get a CTO working full-time on this. That is one of the stated goals of our coding contest. I'm too expensive, and after some private conversations with Tachikoma, he's probably too expensive also, although I won't close that door completely until he does.

The board and I have bandied about 40 BTC/month as a suggested salary for a full-time hire, along with a generous allotment of MasterCoins, vesting like stock options.

Even when we have a CTO, I'll probably make the final decision on core issues like this, or at least reserve veto power.

So, for now, let's use Tachikoma's method. Once we are firmly established and/or the core bitcoin devs become friendly to our cause, we should switch to grazcoin's implementation, or at least support it.

Zathras - I haven't heard anything from you in awhile. What have you been up to?

dacoinminster (OP)
Legendary
*
Offline Offline

Activity: 1260
Merit: 1031


Rational Exuberance


View Profile WWW
October 08, 2013, 09:29:54 PM
 #1136

For complete financial transparency:

Quote
---------- Forwarded message ----------
From: J.R. Willett
Date: Tue, Oct 1, 2013 at 8:12 AM
Subject: Notice of proposed expenditures
To: Mastercoin Board


Please be advised of a couple upcoming payments from MasterCoin project funds.

$45.90 in BTC to 1CTctpqg7JdomAeq3fz7Ynw43VDVJjc4o3 to reimburse David's purchase of a couple MasterCoin-related domains
1 BTC to 1KLoFjuq6o4Q6RGNdDSdHoWjazQqQLRnmH to Mich for our slick new website

I'll try to process these tomorrow if I don't hear any objections.

Thanks!

I couldn't post when I made this transaction (because the forum was offline), but it did happen: http://blockchain.info/tx/fe12cbb37bf81f20feede134a00a31b8b51c568072b57ed480d9994e016830b7

I finally got my act together and got the disparate change outputs consolidated back at the Exodus Address again. The balance at that address now accurately reflects the available project funds again.

maxmint
Hero Member
*****
Offline Offline

Activity: 700
Merit: 500



View Profile
October 08, 2013, 09:30:34 PM
 #1137

Bitfunder.com is going to exclude US residents from trading on their platform. This could be the first step of shutting down their site (as seen with btct.co). This would cause a huge vacuum in the bitcoin stock world and would create an even greater opportunity for Mastercoin's smart property feature. I'm calling for a dedicated development team and / or dedicated smart property contest.

My PGP-Key: 462D02D8
Verify my messages using keybase: https://keybase.io/maxmint
dacoinminster (OP)
Legendary
*
Offline Offline

Activity: 1260
Merit: 1031


Rational Exuberance


View Profile WWW
October 08, 2013, 10:34:26 PM
 #1138

Bitfunder.com is going to exclude US residents from trading on their platform. This could be the first step of shutting down their site (as seen with btct.co). This would cause a huge vacuum in the bitcoin stock world and would create an even greater opportunity for Mastercoin's smart property feature. I'm calling for a dedicated development team and / or dedicated smart property contest.

Yup! Future contests will be feature-driven. Basically, once we reach a milestone, the project will pay anybody who helped us get there, in proportion to the size of their contribution. As before there will be a big focus on collaboration, and probably an explicit code review requirement in the acceptance criteria.

We've got to get the distributed exchange working before smart property will make sense though.

klee
Legendary
*
Offline Offline

Activity: 1498
Merit: 1000



View Profile
October 08, 2013, 10:46:44 PM
 #1139

So which is more important now, a marketplace (see SR) or a smart property exchange?
Luckybit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 510



View Profile
October 09, 2013, 03:09:27 AM
 #1140

In light of recent events, you would think that Mastercoin stands most to benefit from Bitfunder and BTCT shutting down. If Havelock is on the way then perhaps now is the time for developers to start focusing on Mastercoin.

So which is more important now, a marketplace (see SR) or a smart property exchange?

Smart property by far. Not everyone can benefit from stuff like SR. Most people aren't demanding it. Everyone benefits form smart property and it's a completely legitimate use which can only grow the global economy.

The sooner there is smart property the better because it gives people stuff to buy with Bitcoins. What I want to know is whether or not the technology developed by Mastercoin can be ported over to Litecoin? If the answer is yes then this idea has a great long term future but if its for Bitcoin only then it has a point of failure (Bitcoin) and that in my opinion isn't good.

Yup! Future contests will be feature-driven. Basically, once we reach a milestone, the project will pay anybody who helped us get there, in proportion to the size of their contribution. As before there will be a big focus on collaboration, and probably an explicit code review requirement in the acceptance criteria.

We've got to get the distributed exchange working before smart property will make sense though.

How far away from this are you?

Perhaps you should offer a bounty to people who bring developers to Mastercoin? The moment of opportunity is now to get developer interest. Advertise Mastercoin now, start a thread or go to the threads where people are in panic. I've already taken liberty of directing some of them to Mastercoin but since you are the Mastercoinminster it should be you.
Pages: « 1 ... 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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 ... 166 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!