pandaisftw
|
|
January 31, 2014, 02:28:11 AM |
|
I'm still reading about Zerocoin and do not yet understand it fully, so take that into consideration with the following: You don't necessarily have to use JNI if you intend to have Zerocoin live in AM storage. Make a stand-alone program linked to libzerocoin that will use JSON (JSON-GLib with libSoup) to talk to the Nxt server. I am, however, not clear on exactly how one would mint Zerocoin from NXT and transform previously minted Zerocoin back to NXT without a change to the Nxt server. We can easily destroy NXT that is converted to newly minted Zerocoin by sending the NXT to the genesis account. We cannot, however, generate new NXT when we want to redeem Zerocoin for NXT. What might be needed is to change the Nxt server to allow for some sort of global public NXT accumulator to keep track of number of "converted" coins at any given time (account # -1, perhaps?). But I haven't finished reading about Zerocoin so this might not be needed? I might not understand how this part is supposed to work yet. Not sure. libzercoin also appears to be tailored to the Bitcoin blockchain. Just a thought, but couldn't a parallel blockchain be used elusively for mixing purposes? You send your NXT to alt block chain, pay whatever fees, do zerocoin magic, and then your NXT appears in the parallel chain. The NXT in the parallel chain is completely identical to NXT in the main chain, so just do the reverse to get your coins back in the main chain in whatever account you specify. Nodes are encouraged to forge the parallel blockchain from the fees produced by people sending coins in and out of the mixing chain. Side-effect is that this will not bloat the main chain. I'm not sure of the implications of the security risks though...
|
NXT: 13095091276527367030
|
|
|
jl777
Legendary
Offline
Activity: 1176
Merit: 1134
|
|
January 31, 2014, 02:31:56 AM |
|
I'm still reading about Zerocoin and do not yet understand it fully, so take that into consideration with the following: You don't necessarily have to use JNI if you intend to have Zerocoin live in AM storage. Make a stand-alone program linked to libzerocoin that will use JSON (JSON-GLib with libSoup) to talk to the Nxt server. I am, however, not clear on exactly how one would mint Zerocoin from NXT and transform previously minted Zerocoin back to NXT without a change to the Nxt server. We can easily destroy NXT that is converted to newly minted Zerocoin by sending the NXT to the genesis account. We cannot, however, generate new NXT when we want to redeem Zerocoin for NXT. What might be needed is to change the Nxt server to allow for some sort of global public NXT accumulator to keep track of number of "converted" coins at any given time (account # -1, perhaps?). But I haven't finished reading about Zerocoin so this might not be needed? I might not understand how this part is supposed to work yet. Not sure. libzercoin also appears to be tailored to the Bitcoin blockchain. libzerocoin has a published way to integrate to any blockchain: https://github.com/Zerocoin/libzerocoin/wiki/Integrating-with-bitcoin-clientsIt also has a well documented tutorial source code: https://github.com/Zerocoin/libzerocoin/blob/master/Tutorial.cppI think we will need a special account hard coded into NXT server that receives the NXT and also redeems it, the "public bulletin board". We certainly don't want to destroy the NXT! When a valid NXTcash spend is detected by the network and enough confirmations have happened, then the special account would need to send the actual NXT. Maybe this is done by DNA? I am expecting a few minor changes in the NXT server itself, a few API calls and client changes to support NXTcash. Not all devices will be able to support NXTcash due to the large datafile that is needed, but that is a small price to pay to get this functionality. If you want to use NXTcash, you cant do it from mobile phone, gotta use PC. The current plan is to put together a proof of concept testnet, at first with just libzerocoin mashed together with recent NXTserver. Then we will start adding APIcalls and allow clients to do the zerocoin integration as described by zerocoin. When the new zerocash appears, we will replace the old bloated zerocoin with the sleek new zerocash (30K zeroknowlege proofs -> 288 bytes!). After it tests fine, then we refactor into pure Java for a mainstream NXTcash release. The time to release could be as short as the time to refactor zerocash C++ -> Java after their May release. To make that happen, we need to get everything else debugged ahead of time. There is some risk that the interfaces will change, but my estimate is that not so much and that the vast majority of the proof of concept effort will carry over. The published verification times for zerocash are less than 10milliseconds. The time to mint and spend are around one minute, but that is a small price to pay to get the equivalent of offline cash. James P.S. More of my ramblings about this are here: https://forums.nxtcrypto.org/viewtopic.php?f=38&t=701&p=3321#p3321
|
|
|
|
jl777
Legendary
Offline
Activity: 1176
Merit: 1134
|
|
January 31, 2014, 02:33:47 AM |
|
I'm still reading about Zerocoin and do not yet understand it fully, so take that into consideration with the following: You don't necessarily have to use JNI if you intend to have Zerocoin live in AM storage. Make a stand-alone program linked to libzerocoin that will use JSON (JSON-GLib with libSoup) to talk to the Nxt server. I am, however, not clear on exactly how one would mint Zerocoin from NXT and transform previously minted Zerocoin back to NXT without a change to the Nxt server. We can easily destroy NXT that is converted to newly minted Zerocoin by sending the NXT to the genesis account. We cannot, however, generate new NXT when we want to redeem Zerocoin for NXT. What might be needed is to change the Nxt server to allow for some sort of global public NXT accumulator to keep track of number of "converted" coins at any given time (account # -1, perhaps?). But I haven't finished reading about Zerocoin so this might not be needed? I might not understand how this part is supposed to work yet. Not sure. libzercoin also appears to be tailored to the Bitcoin blockchain. Just a thought, but couldn't a parallel blockchain be used elusively for mixing purposes? You send your NXT to alt block chain, pay whatever fees, do zerocoin magic, and then your NXT appears in the parallel chain. The NXT in the parallel chain is completely identical to NXT in the main chain, so just do the reverse to get your coins back in the main chain in whatever account you specify. Nodes are encouraged to forge the parallel blockchain from the fees produced by people sending coins in and out of the mixing chain. Side-effect is that this will not bloat the main chain. I'm not sure of the implications of the security risks though... The improved zerocash algos create 288 bytes per transaction, so that is 3 transactions in an AM. I think that is small enough that we don't have to worry about bloat. I want to use as much of the existing infrastructure as possible.
|
|
|
|
opticalcarrier
|
|
January 31, 2014, 03:10:13 AM |
|
I'm still reading about Zerocoin and do not yet understand it fully, so take that into consideration with the following: You don't necessarily have to use JNI if you intend to have Zerocoin live in AM storage. Make a stand-alone program linked to libzerocoin that will use JSON (JSON-GLib with libSoup) to talk to the Nxt server. I am, however, not clear on exactly how one would mint Zerocoin from NXT and transform previously minted Zerocoin back to NXT without a change to the Nxt server. We can easily destroy NXT that is converted to newly minted Zerocoin by sending the NXT to the genesis account. We cannot, however, generate new NXT when we want to redeem Zerocoin for NXT. What might be needed is to change the Nxt server to allow for some sort of global public NXT accumulator to keep track of number of "converted" coins at any given time (account # -1, perhaps?). But I haven't finished reading about Zerocoin so this might not be needed? I might not understand how this part is supposed to work yet. Not sure. libzercoin also appears to be tailored to the Bitcoin blockchain. Just a thought, but couldn't a parallel blockchain be used elusively for mixing purposes? You send your NXT to alt block chain, pay whatever fees, do zerocoin magic, and then your NXT appears in the parallel chain. The NXT in the parallel chain is completely identical to NXT in the main chain, so just do the reverse to get your coins back in the main chain in whatever account you specify. Nodes are encouraged to forge the parallel blockchain from the fees produced by people sending coins in and out of the mixing chain. Side-effect is that this will not bloat the main chain. I'm not sure of the implications of the security risks though... The improved zerocash algos create 288 bytes per transaction, so that is 3 transactions in an AM. I think that is small enough that we don't have to worry about bloat. I want to use as much of the existing infrastructure as possible. I sort of like this approach, it allows the user to optionally use anon or not, since anon will obviously be more expensive
|
|
|
|
ebereon
|
|
January 31, 2014, 03:12:07 AM |
|
Solar powered NXT node for conferences!Berlin conference first! I want to support the next conferences with a RasPI completly solar powered in a nice box. - RasPI model B - Wlan USB Stick with preconfigured DHCP settings (just turn on wifi tethering on your mobile phone with SSID: NXT, PW: RasPI-NXT) - Solar panel on top of the box - 2x Li-Ion battery powerbank (up to 4x 18650 Li-Ion recharchable batterys each) (up to 27'200mAh! It will be able to run NXT node up to 30 hours without Sun!) (I can sent this to Berlin with batteries included, but not outside germany, so you have to buy the batteries your self) - open NRS of the RasPI on your mobile phone to show it All parts will be assembled with latest raspian configured to start up NXT server and login to Wlan 802.11bgn after plugin the power cable of the RasPI. I will also make a list of all parts, so other conferences can build it's own, because of customs/tax etc. Some more equipment will arrive next week, then I will also build up odroid U3 and XU (octacore ). 2 photos: You see 2 cables going into the box, atm the batteries need a first charge with normal 5V/1A powersupplys, it should be done in ~14 hours And the parts in the box: If the community like it, I can send it to one of the Berlin conference people. Well, please resend to me when finished Todo: - testing odroid U3 + XU - measure power consumption of all parts, batteries and solar panel to optimice power usage for offgrid solar NXT nodes - make a list off all pars + weblinks to shops - howto - ... Greets, eb
|
|
|
|
ebereon
|
|
January 31, 2014, 03:20:41 AM |
|
|
|
|
|
salsacz
|
|
January 31, 2014, 03:30:09 AM |
|
fantastic! where do you live, eb?
|
|
|
|
opticalcarrier
|
|
January 31, 2014, 03:34:55 AM |
|
I think one of the top priorities for the NXT guys going to Austin BTC is to try to meet up with some zerocoin folks.
|
|
|
|
ebereon
|
|
January 31, 2014, 03:36:06 AM |
|
fantastic! where do you live, eb?
Southern Germany
|
|
|
|
jl777
Legendary
Offline
Activity: 1176
Merit: 1134
|
|
January 31, 2014, 03:45:24 AM |
|
I think one of the top priorities for the NXT guys going to Austin BTC is to try to meet up with some zerocoin folks.
+1 By then we hope to have proof of concept NXTcash. NXTcash could be in Asset Exchange, so that it will definitely be separate from NXT itself. If you don't want to use NXTcash, there is no reason to do so. Still early days so a lot can change, but there will be some unavoidable fees when using NXTcash, probably 2 transaction fees, possibly more. Not sure. We might also need a DAC to act as cashier. This could be a really cool proof of concept that shows that all the fancy stuff other coins are talking about could be done on top of NXT. I hope that after client is released, nexern could help with NXTcash. We need some client changes and might need his DNA. Not sure on the latter. James P.S. Any chance of reserving the NXTcash asset name so all of NXT could use a common sense name for it? Not sure if Asset Names are transferable. does anybody know?
|
|
|
|
jl777
Legendary
Offline
Activity: 1176
Merit: 1134
|
|
January 31, 2014, 04:06:28 AM |
|
libzerocoin v0.11 tutorial. Successfully loaded parameters. Successfully minted a zerocoin. Deserialized and verified the coin. Successfully accumulated coins. Successfully generated a coin spend transaction. Successfully verified a coin spend transaction. Coin serial number is: 50670758816621627632275390863152275966382160624109318714908837898946724293259 Installed libzerocoin and generated a test coin
|
|
|
|
jl777
Legendary
Offline
Activity: 1176
Merit: 1134
|
|
January 31, 2014, 04:11:05 AM |
|
libzerocoin v0.11 test utility.
Testing if an RSA modulus can be generated... [PASS] Testing if parameter sizes are correct... [PASS] Testing if group/field parameters can be generated... [PASS] Testing if parameter generation is correct... [PASS] Testing if coins can be minted... [PASS] Testing if the accumulator works... [PASS] Testing if the commitment equality PoK works... [PASS] Testing if a minted coin can be spent... [PASS]
Average coin size is 133 bytes. Serial number size is 32 bytes. Spend proof size is 23567 bytes.
8 out of 8 tests passed.
OK, so I have verified libzerocoin functions in isolation. No major issues getting it running. Now to encapsulate it so Java can call the libzerocoin.
|
|
|
|
Anon136
Legendary
Offline
Activity: 1722
Merit: 1217
|
|
January 31, 2014, 05:05:02 AM |
|
this has to be a record amount of time between comments in this thread
|
Rep Thread: https://bitcointalk.org/index.php?topic=381041If one can not confer upon another a right which he does not himself first possess, by what means does the state derive the right to engage in behaviors from which the public is prohibited?
|
|
|
jl777
Legendary
Offline
Activity: 1176
Merit: 1134
|
|
January 31, 2014, 05:10:21 AM |
|
this has to be a record amount of time between comments in this thread
I thought it must have been broken! If it weren't for my blabber, it would have been over 90 minutes between posts.
|
|
|
|
|
Anon136
Legendary
Offline
Activity: 1722
Merit: 1217
|
|
January 31, 2014, 05:11:20 AM |
|
this has to be a record amount of time between comments in this thread
I thought it must have been broken! If it weren't for my blabber, it would have been over 90 minutes between posts. wonder why its so quiet. it isnt some sort of holiday or something is it.
|
Rep Thread: https://bitcointalk.org/index.php?topic=381041If one can not confer upon another a right which he does not himself first possess, by what means does the state derive the right to engage in behaviors from which the public is prohibited?
|
|
|
brooklynbtc
Sr. Member
Offline
Activity: 336
Merit: 250
AKA jefdiesel
|
|
January 31, 2014, 05:12:43 AM |
|
James, how about we explore non-legal recourses first? I've suggested proof of prior art and reputation damage, any other ideas? Maybe steganography for art/video assets?
Maybe we just follow the cryptocurrency style. Open source. Free to use. For everyone! Usage is fine. Stealing outright is not. Things like clients should be open source and free to use for everyone. Things like web services shouldn't be open source.. Look at all the BTC and LTC clones. Everyone uses the same client/wallet. And it wasn't created by satoshi. Did it harm BTC or LTC? No.. +1. No matter what we we do, we should avoid to make Nxt a corporation. There is no Nxt entity, only open source individual's works and contribution. Between corporation and theft, I rather choose theft. +theft
|
|
|
|
TwinWinNerD
Legendary
Offline
Activity: 1680
Merit: 1001
CEO Bitpanda.com
|
|
January 31, 2014, 05:23:41 AM |
|
this has to be a record amount of time between comments in this thread
I thought it must have been broken! If it weren't for my blabber, it would have been over 90 minutes between posts. wonder why its so quiet. it isnt some sort of holiday or something is it. chinese new year!
|
|
|
|
jl777
Legendary
Offline
Activity: 1176
Merit: 1134
|
|
January 31, 2014, 05:34:05 AM |
|
this has to be a record amount of time between comments in this thread
I thought it must have been broken! If it weren't for my blabber, it would have been over 90 minutes between posts. wonder why its so quiet. it isnt some sort of holiday or something is it. chinese new year! This means 90% of all the regulars are all from China!
|
|
|
|
Anon136
Legendary
Offline
Activity: 1722
Merit: 1217
|
|
January 31, 2014, 05:43:26 AM |
|
this has to be a record amount of time between comments in this thread
I thought it must have been broken! If it weren't for my blabber, it would have been over 90 minutes between posts. wonder why its so quiet. it isnt some sort of holiday or something is it. chinese new year! This means 90% of all the regulars are all from China! i looked it up. a lot of countries celebrate chinese new year, not just china.
|
Rep Thread: https://bitcointalk.org/index.php?topic=381041If one can not confer upon another a right which he does not himself first possess, by what means does the state derive the right to engage in behaviors from which the public is prohibited?
|
|
|
|