Bitcoin Forum
October 31, 2020, 11:27:33 AM *
News: Latest Bitcoin Core release: 0.20.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: 1 2 3 [All]
  Print  
Author Topic: BitSafe Hardware Wallet Development  (Read 11030 times)
allten
Sr. Member
****
Offline Offline

Activity: 450
Merit: 250


You Don't Bitcoin 'till You Mint Coin


View Profile WWW
November 24, 2012, 08:28:40 PM
Last edit: March 21, 2013, 04:46:51 PM by allten
 #1

Bitsafe Hardware Wallet Development:

New Thread with new discussion and direction:
https://bitcointalk.org/index.php?topic=152517.0
1604143653
Hero Member
*
Offline Offline

Posts: 1604143653

View Profile Personal Message (Offline)

Ignore
1604143653
Reply with quote  #2

1604143653
Report to moderator
1604143653
Hero Member
*
Offline Offline

Posts: 1604143653

View Profile Personal Message (Offline)

Ignore
1604143653
Reply with quote  #2

1604143653
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1604143653
Hero Member
*
Offline Offline

Posts: 1604143653

View Profile Personal Message (Offline)

Ignore
1604143653
Reply with quote  #2

1604143653
Report to moderator
1604143653
Hero Member
*
Offline Offline

Posts: 1604143653

View Profile Personal Message (Offline)

Ignore
1604143653
Reply with quote  #2

1604143653
Report to moderator
1604143653
Hero Member
*
Offline Offline

Posts: 1604143653

View Profile Personal Message (Offline)

Ignore
1604143653
Reply with quote  #2

1604143653
Report to moderator
Xenland
Legendary
*
Offline Offline

Activity: 980
Merit: 1000


I'm not just any shaman, I'm a Sha256man


View Profile
November 25, 2012, 02:40:08 PM
 #2

No licensing terms planned?
allten
Sr. Member
****
Offline Offline

Activity: 450
Merit: 250


You Don't Bitcoin 'till You Mint Coin


View Profile WWW
November 25, 2012, 02:42:48 PM
 #3

No licensing terms planned?

Open Source.
Someone42 was working on it. Either way, all design files will be made available.
I would just like to refine a few things first.

BTW, thanks for the reference to the ATMEL HRNG. I put it in the circuit.
Xenland
Legendary
*
Offline Offline

Activity: 980
Merit: 1000


I'm not just any shaman, I'm a Sha256man


View Profile
November 25, 2012, 05:32:43 PM
 #4

No licensing terms planned?

Open Source.
Someone42 was working on it. Either way, all design files will be made available.
I would just like to refine a few things first.

BTW, thanks for the reference to the ATMEL HRNG. I put it in the circuit.

Cool cool I'll be checking back looks like a fun project!
Luke-Jr
Legendary
*
Offline Offline

Activity: 2506
Merit: 1022



View Profile
November 25, 2012, 09:10:41 PM
 #5

This sounds very memory/storage constrained. A Raspberry Pi is cheaper and far more powerful. Surely there should be some way to improve?

allten
Sr. Member
****
Offline Offline

Activity: 450
Merit: 250


You Don't Bitcoin 'till You Mint Coin


View Profile WWW
November 25, 2012, 10:55:49 PM
 #6

This sounds very memory/storage constrained. A Raspberry Pi is cheaper and far more powerful. Surely there should be some way to improve?


Good points. It has sufficient to store private keys and generate signatures. That's the important part.
The rest of Wallet management can be done on the PC side.

The main advantage over the rasberry Pi is a final product will be easy to pack with you. Like a thumb drive.

The price is high. I agree with you. Wish I had the resources and help to make a final mass produced product.
Low volume engineering is more costly
If we get through the first stage of development, at least we will not need the PK3 programmers because of a boot loader.
Maybe by then, i will learn of quicker and cheaper ways to purchase PCBs and assembly methods.

Should be able to get this in the $20 dollar price range, but that's not realistic in the short term.
I will be preparing the order for the PCBs and components this weak so I will be able to refine the price.
The first lot of PCBs is for hardware validation so it will be a low volume order (around 5 maybe).

Anyone can point me to a good PCB fab house would be appreciated. I need at least 6 mils trace to trace.



Luke-Jr
Legendary
*
Offline Offline

Activity: 2506
Merit: 1022



View Profile
November 25, 2012, 10:59:26 PM
 #7

It has sufficient to store private keys and generate signatures. That's the important part.
Where will you store the private keys? The EEPROM says not there, and I presume the SoC flash is for code...

For something like this, it really makes sense to use a HD wallet.

2112
Legendary
*
Offline Offline

Activity: 2128
Merit: 1038



View Profile
November 25, 2012, 11:03:27 PM
 #8

A Raspberry Pi is cheaper and far more powerful.
In Raspbery Pi a closed source GPU boots and controls the CPU. It is going to be a new frontier for hacking the gullible. Score for Broadcom.

Please comment, critique, criticize or ridicule BIP 2112: https://bitcointalk.org/index.php?topic=54382.0
Long-term mining prognosis: https://bitcointalk.org/index.php?topic=91101.0
Luke-Jr
Legendary
*
Offline Offline

Activity: 2506
Merit: 1022



View Profile
November 25, 2012, 11:08:02 PM
 #9

A Raspberry Pi is cheaper and far more powerful.
In Raspbery Pi a closed source GPU boots and controls the CPU. It is going to be a new frontier for hacking the gullible. Score for Broadcom.
It's my understanding that the GPU and bootloader were opened. Besides, this device doesn't need to use a GPU.

2112
Legendary
*
Offline Offline

Activity: 2128
Merit: 1038



View Profile
November 25, 2012, 11:19:20 PM
Last edit: November 26, 2012, 02:13:39 AM by 2112
 #10

It's my understanding that the GPU and bootloader were opened. Besides, this device doesn't need to use a GPU.
I'm sorry, but this is disinformation. I repeat: GPU boots first, then it starts the CPU. The "open source" driver is just a lean thunk layer to call back the real supervisor that runs on the GPU's undocumented instruction set. GPU also does things like power management.

Broadcom guys are very smart and very cynical. Turning upside down the central processor vs. peripheral processor architecture was a very smart, forward looking move.

Edit: Before anyone quotes the above: the term GPU is also a disinformation. The main processing unit in the Broadcom VideoCore architecture is a systolic array of relatively slow-clocked DSP processors. It works as a GPU when the DSP chips are executing graphic pipeline code. The secret architecture of the VideoCore processors was a serious drawback... unitil they came with a bright idea of tackling an ARM CPU running as an attached processor. This allows Broadcom to claim some sort of openness to bait the uninformed. It also allows them to markets using Android on ARM.

Please comment, critique, criticize or ridicule BIP 2112: https://bitcointalk.org/index.php?topic=54382.0
Long-term mining prognosis: https://bitcointalk.org/index.php?topic=91101.0
allten
Sr. Member
****
Offline Offline

Activity: 450
Merit: 250


You Don't Bitcoin 'till You Mint Coin


View Profile WWW
November 26, 2012, 01:54:57 AM
 #11

It has sufficient to store private keys and generate signatures. That's the important part.
Where will you store the private keys? The EEPROM says not there, and I presume the SoC flash is for code...

For something like this, it really makes sense to use a HD wallet.

The EEPROM is an external chip. Not ideal for storing keys that are not encrypted. It's good for storing small chunks of data regarding addresses and transactions.
The Chip can self write to the Flash and is as good as EEPROM other than the write time is a little longer.

What's an HD Wallet?
AfricanHunter
Full Member
***
Offline Offline

Activity: 157
Merit: 103


View Profile
November 26, 2012, 09:19:19 AM
 #12

Any anticipated date this will be ready for public consumption?

Thinking about doing business with johnniewalkerhttps://bitcointalk.org/index.php?action=profile;u=72227?
First read this thread https://bitcointalk.org/index.php?topic=131841.0

Also, Join the National Rifle Association to protect 2nd Amendment Rights http://membership.nrahq.org/default.asp?campaignid=XR020022
2weiX
Legendary
*
Offline Offline

Activity: 1974
Merit: 1000

bitcoincommodities.com


View Profile
November 26, 2012, 09:58:35 AM
 #13

want
Icoin
Hero Member
*****
Offline Offline

Activity: 585
Merit: 501



View Profile WWW
November 26, 2012, 01:19:00 PM
 #14

Hi allten, please contact Unthinking concerning your Devcoin listing.

https://bitcointalk.org/index.php?topic=34586.msg1357529#msg1357529

Justin00
Legendary
*
Offline Offline

Activity: 910
Merit: 1000


★YoBit.Net★ 350+ Coins Exchange & Dice


View Profile
November 26, 2012, 01:23:04 PM
 #15

bitsafe ay.

I trademarked that name a few months back !!

bitsafe or bit-safe etc

well.. not really Tongue

Luke-Jr
Legendary
*
Offline Offline

Activity: 2506
Merit: 1022



View Profile
November 26, 2012, 03:17:45 PM
 #16

It has sufficient to store private keys and generate signatures. That's the important part.
Where will you store the private keys? The EEPROM says not there, and I presume the SoC flash is for code...

For something like this, it really makes sense to use a HD wallet.

The EEPROM is an external chip. Not ideal for storing keys that are not encrypted. It's good for storing small chunks of data regarding addresses and transactions.
The Chip can self write to the Flash and is as good as EEPROM other than the write time is a little longer.

What's an HD Wallet?
But there isn't much flash available. I suppose you could easily set aside room for a single private key (which is fine for a HD wallet). Is there a reason for using EEPROM over flash memory?

Who is writing the software for this? 512 kB is probably smaller than the smallest MIPS program I can easily write (eg, standard C). A HD (hierarchial deterministic) wallet is easily the ideal design for a device like this where you only have space for a single private key. You can build multiple chains of basically unlimited addresses from just that one key. BIP 32 is the specification.

hazek
Legendary
*
Offline Offline

Activity: 1078
Merit: 1001


View Profile
November 26, 2012, 04:34:54 PM
 #17

So I'm a bit confused, is this going to work similar to the piglet or what is the difference?

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
allten
Sr. Member
****
Offline Offline

Activity: 450
Merit: 250


You Don't Bitcoin 'till You Mint Coin


View Profile WWW
November 26, 2012, 05:56:16 PM
 #18

So I'm a bit confused, is this going to work similar to the piglet or what is the difference?

Overall, there's not Much Difference really. This has been in the works for a few months now.
The Piglet took me by surprise and I wasn't sure what to do.

I've decided to go full steam ahead. In the end, it can only help Bitcoin.

Who Knows, when I'm done publishing all my design files to this thread, it may even help them.
hazek
Legendary
*
Offline Offline

Activity: 1078
Merit: 1001


View Profile
November 26, 2012, 06:26:23 PM
 #19

Cool and good luck.

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
slush
Legendary
*
Offline Offline

Activity: 1386
Merit: 1024



View Profile WWW
November 27, 2012, 11:08:56 AM
 #20

Who is writing the software for this? 512 kB is probably smaller than the smallest MIPS program I can easily write (eg, standard C).

Actually 512kB is far enough for this purpose. We're working on solution with 256kB of flash. And yes, BIP32 is a way to go for such small devices.

slush
Legendary
*
Offline Offline

Activity: 1386
Merit: 1024



View Profile WWW
November 27, 2012, 11:13:24 AM
Last edit: November 27, 2012, 11:33:11 AM by slush
 #21

Who Knows, when I'm done publishing all my design files to this thread, it may even help them.

Although we're using another platform, your choice for HRNG is quite interesting. We ordered some Atmel samples and we will do some tests with them. Unfortunatey Atmel is very unclear about *how* their HRNG works. I must say that bitcoin wallet requires much stronger HRNG source than any other common device and I'm concerned about the true randomness of it.

stick
Sr. Member
****
Offline Offline

Activity: 440
Merit: 266



View Profile
November 27, 2012, 11:20:27 AM
 #22

Actually 512kB is far enough for this purpose. We're working on solution with 256kB of flash. And yes, BIP32 is a way to go for such small devices.

Comparing apples and oranges here. Bitsafe is MIPS architecture, ours is ARM. MIPS binaries are approx 2x bigger than ARM ones.

2112
Legendary
*
Offline Offline

Activity: 2128
Merit: 1038



View Profile
November 27, 2012, 11:34:33 AM
 #23

Comparing apples and oranges here. Bitsafe is MIPS architecture, ours is ARM. MIPS binaries are approx 2x bigger than ARM ones.
Are you sure? Are you really comparing MIPS16 with Thumb?

I've seen some numbers for an older project and the MIPS vs. MIPS16
and ARM vs. Thumb sizes were within about 10% of each other. Tests were made with commercial C compilers, not GCC though. Maybe some GCC oddity?

Please comment, critique, criticize or ridicule BIP 2112: https://bitcointalk.org/index.php?topic=54382.0
Long-term mining prognosis: https://bitcointalk.org/index.php?topic=91101.0
allten
Sr. Member
****
Offline Offline

Activity: 450
Merit: 250


You Don't Bitcoin 'till You Mint Coin


View Profile WWW
November 27, 2012, 02:36:12 PM
 #24

Comparing apples and oranges here. Bitsafe is MIPS architecture, ours is ARM. MIPS binaries are approx 2x bigger than ARM ones.
Are you sure? Are you really comparing MIPS16 with Thumb?

I've seen some numbers for an older project and the MIPS vs. MIPS16
and ARM vs. Thumb sizes were within about 10% of each other. Tests were made with commercial C compilers, not GCC though. Maybe some GCC oddity?



Yes, it is true. They are pretty close. Someone42 has even verified this.
Thanks
allten
Sr. Member
****
Offline Offline

Activity: 450
Merit: 250


You Don't Bitcoin 'till You Mint Coin


View Profile WWW
November 27, 2012, 02:37:54 PM
 #25

Who Knows, when I'm done publishing all my design files to this thread, it may even help them.

Although we're using another platform, your choice for HRNG is quite interesting. We ordered some Atmel samples and we will do some tests with them. Unfortunatey Atmel is very unclear about *how* their HRNG works. I must say that bitcoin wallet requires much stronger HRNG source than any other common device and I'm concerned about the true randomness of it.

That's cool Slush. Please let me know how it goes.
allten
Sr. Member
****
Offline Offline

Activity: 450
Merit: 250


You Don't Bitcoin 'till You Mint Coin


View Profile WWW
December 05, 2012, 05:22:50 AM
 #26

Update: 12/04/2012
       Finished the BOM today. It can be viewed here:
https://www.dropbox.com/s/o8u356ubi61wzy6/BOM_0.1_LastUpdate_10_25_2012.pdf

The total COMPONENT price is $30.91 USD (note: price for components ordered individually).

I think I will be able to get the component price below $20.00 USD with samples and a larger order.

Instead of waiting to see who will order to get an idea of how many of these to build, I went ahead
and decided to build 50+. It will be a risk on my part and I will be putting all the money down.

Look what I discovered:
The first time the name "BitSafe" was used can be found here:
https://github.com/rb1205/BitSafe
Credits go to Riccardo Belloli for the name
hazek
Legendary
*
Offline Offline

Activity: 1078
Merit: 1001


View Profile
December 05, 2012, 11:49:11 AM
 #27

Wait, you finished the hardware wallet?

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
slush
Legendary
*
Offline Offline

Activity: 1386
Merit: 1024



View Profile WWW
December 05, 2012, 12:05:53 PM
 #28

Look what I discovered:
The first time the name "BitSafe" was used can be found here:
https://github.com/rb1205/BitSafe

"Bitsafe needs a device of at least 4 gb with decent write speed."

I understand it is "standard" desktop wallet, using USB flash disks just as storages.

slush
Legendary
*
Offline Offline

Activity: 1386
Merit: 1024



View Profile WWW
December 05, 2012, 12:07:20 PM
 #29


Really "OLED 0.92" 128x64 Monochrome White" for <$5 ? At what quantity?

allten
Sr. Member
****
Offline Offline

Activity: 450
Merit: 250


You Don't Bitcoin 'till You Mint Coin


View Profile WWW
December 05, 2012, 05:45:21 PM
 #30

Wait, you finished the hardware wallet?

That would be nice. More like I hit another milestone.
I now have a good idea of what the component price (not the same as the TOTAL PRICE) will be for my goal of getting 50 boards ready.

Here's what I have left to do:
        Order Components
        Request Samples
        Put Finishing touches on PCB and also make it more friendly for production
        Order PCBs
        Assemble a Couple boards
        Validate the Design (this will take a while and if anything needs revised its a set back of a three to four weeks and ~$200 USD with the PCB Fab house I'm considering)
        If all goes well with first board design (usually wishful thinking) then I will see how fast and cheap I can get the rest of the boards assembled.

Since you are interesting in how long, I think Someone42 and I will have a few boards assembled for validation only in 6 to 8 weeks.
I'm plan on staying at the validation phase for a while. Don't want to rush boards to everyone without finding the HW bugs first.
allten
Sr. Member
****
Offline Offline

Activity: 450
Merit: 250


You Don't Bitcoin 'till You Mint Coin


View Profile WWW
December 05, 2012, 05:52:08 PM
 #31


I got a quote for 65. Not sure if it is the best price, but seamed pretty good
for a low quantity order. Let me know if your interested in the company I ordered from.
allten
Sr. Member
****
Offline Offline

Activity: 450
Merit: 250


You Don't Bitcoin 'till You Mint Coin


View Profile WWW
December 05, 2012, 05:55:05 PM
 #32

Clarification: "50 kits being prepared"

What I mean by this is I'm sampling, ordering, and gathering all the components right now for at least 50 kits. I'm not at the PCB assembly stage.

-Allten
hazek
Legendary
*
Offline Offline

Activity: 1078
Merit: 1001


View Profile
December 05, 2012, 06:06:27 PM
 #33


Since you are interesting in how long, I think Someone42 and I will have a few boards assembled for validation only in 6 to 8 weeks.
I'm plan on staying at the validation phase for a while. Don't want to rush boards to everyone without finding the HW bugs first.


Sounds excellent! I really can't wait until both your hardware wallet and the piglet become available and make secure handling of bitcoins with ease accessible to any user.

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
allten
Sr. Member
****
Offline Offline

Activity: 450
Merit: 250


You Don't Bitcoin 'till You Mint Coin


View Profile WWW
January 03, 2013, 03:55:37 AM
Last edit: January 03, 2013, 06:15:09 AM by allten
 #34

Update: 02/02/2013 01/02/2013 Tongue

Ok, as mentioned before there are 50 kits being prepared to be distributed to developers, early adopters, and beta testers.
I've calculated a final price today for DEVELOPERS ONLY: it's $28.00 per device. This price
excludes the time and/or money that will go into the final fabrication and assembly. It's my gift to Bitcoin.
At this price, I just might break even with all the money I've personally put into the project.
(Assuming I don't have to re-spin some PCBs: wishful thinking, but I will personally eat the costs)

The final price for early adopters and others interested in having the latest cool gadget is $45.00 Dollars.
It takes a lot of time, special equipment, and skill to manually assembly a project like this with quality.

NOTES:

1)The price does not include a USB extension cable which is HIGHLY RECOMMENDED for
developers: $4.05 + Shipping
http://www.amazon.com/Black-Foot-USB-Extension-Cable/dp/B001G4ZA6I/ref=pd_bxgy_pc_img_y
2) This price does not include a PicKit 3 which is a must at this early level of development: $45.00 + Shipping
http://www.microchipdirect.com/ProductSearch.aspx?Keywords=PG164130
3) There will be some testing of each device, but minimal.
4) Price for Developers and others does not include shipping costs.
5) 30 day money back, but shipping is paid by buyer both ways.

Total Developers COST: 28.00 + $4.00 + 45.00 + Shipping = $77.0

So, am I ready to take orders? Not even close!

So, why did I update and bump my thread?
Well, I need to get a list of all interested developers.
This will help me get an idea of how many night and weekend hours I'm going to be assembling boards for free. PLUS, I would appreciate
if potential DEVELOPERS that are hindered by the price offered would allow me to post a unique BTC addresses for donations on their behalf.

Thanks.
paybitcoin
Member
**
Offline Offline

Activity: 85
Merit: 10


1h79nc


View Profile WWW
January 03, 2013, 05:53:45 AM
 #35

Update OP: 02/02/2013
Minor note - You are a month too late in your date! Don't slip the schedule just yet!!!


I'd be in for a development kit. I can do all the soldering as well if that is an option. I could possibly assist with some assembly on the production run as well, I have the basics to do prototypes and short runs available at work. (stencil printer, reflow oven, small tweezers & steady hands Smiley)

What is included in the dev kit? I am assuming just the board and components? I already have an ICD3...

You should also quote USB extension cables from monoprice.com, for only $1.79/1qty (+shipping)

Also, looking at the BOM + schematic, I see the Atmel IC as RNG, so all of the 'Universal Hardware RNG' components would go away, correct? Or would it be an assembly option?

Thanks!
allten
Sr. Member
****
Offline Offline

Activity: 450
Merit: 250


You Don't Bitcoin 'till You Mint Coin


View Profile WWW
January 03, 2013, 06:24:22 AM
 #36

Update OP: 02/02/2013
Minor note - You are a month too late in your date! Don't slip the schedule just yet!!!


I'd be in for a development kit. I can do all the soldering as well if that is an option. I could possibly assist with some assembly on the production run as well, I have the basics to do prototypes and short runs available at work. (stencil printer, reflow oven, small tweezers & steady hands Smiley)

What is included in the dev kit? I am assuming just the board and components? I already have an ICD3...

You should also quote USB extension cables from monoprice.com, for only $1.79/1qty (+shipping)

Also, looking at the BOM + schematic, I see the Atmel IC as RNG, so all of the 'Universal Hardware RNG' components would go away, correct? Or would it be an assembly option?

Thanks!

Fixed the date. Thanks!

I was hoping to have both HRNG on the PCB before sending it out (The Atmel will be on there for sure). The circuity for the other one is very flexible and I'm unsure what the final values will be.

I'll update the price for the USB extension. Thanks again!

I'm not sure if the ICD3 will work. I'll have to look into it. If it does, you will still need an RJ-45 to a 6-pin female pin header adapter.

Your offer to help assembly is extremely appreciated. Stencil printing too; I'm envious, but this is really great. Whereabouts in the world you located? I'm in Arizona.
paybitcoin
Member
**
Offline Offline

Activity: 85
Merit: 10


1h79nc


View Profile WWW
January 03, 2013, 07:50:09 AM
 #37

I'm not sure if the ICD3 will work. I'll have to look into it. If it does, you will still need an RJ-45 to a 6-pin female pin header adapter.
It looks like the ICD3 will support the PIC32 from microchip's website. Also, I have made lots of custom programming headers, since RJ-11 is a horrible choice for a programming header.

Quote
Your offer to help assembly is extremely appreciated. Stencil printing too; I'm envious, but this is really great. Whereabouts in the world you located? I'm in Arizona.

I'm in TX, whois paybitcoin.com + google if you must know  Wink... At work we do a bunch of prototyping and custom engineering work. Mostly with Linux/Android now on armv7a using CPU system-on-modules since our apps got more complex, but used to be all PIC18. We started to move off to other architectures (Cortex-M3) since MPLAB is such a bad IDE, and mostly the 4096 byte RAM limit with PIC18s. I haven't used the PIC24 or PIC32 though.
someone42
Member
**
Offline Offline

Activity: 78
Merit: 10

Chris Chua


View Profile
January 03, 2013, 12:10:35 PM
 #38

2) This price does not include a PicKit 3 which is a must at this early level of development: $45.00 + Shipping
http://www.microchipdirect.com/ProductSearch.aspx?Keywords=PG164130

It is possible to avoid using a PicKit 3. If the dev board is loaded with an appropriate bootloader (eg. http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en554836), it should be possible to program the device using the on-board USB port.

What the PicKit3 is useful for, is if:
  • You want to develop or modify the bootloader itself (if you mess up the bootloader, you could brick the PIC32, in which case you need a PicKit3 to recover).
  • You want good integration with MPLAB.
  • You want to use debugging features like breakpoints, watches etc.

Also, looking at the BOM + schematic, I see the Atmel IC as RNG, so all of the 'Universal Hardware RNG' components would go away, correct? Or would it be an assembly option?

The story is: we had a few ideas for hardware random number generators (the Atmel chip, thermal noise, zener noise from zener, zener noise from voltage reference). Instead of choosing one, all of them were included. There are a bunch of 0 ohm resistors to facilitate switching between circuits. The different generators have their own advantages and disadvantages.
stick
Sr. Member
****
Offline Offline

Activity: 440
Merit: 266



View Profile
January 03, 2013, 06:11:38 PM
 #39

The different generators have their own advantages and disadvantages.

Could you please elaborate more on this topic? Just to make sure we are on the same page here ...

ercolinux
Legendary
*
Offline Offline

Activity: 938
Merit: 1000



View Profile WWW
January 03, 2013, 06:33:25 PM
 #40


Do you've see this one http://www.ebay.pl/itm/1-8-Serial-TFT-Color-LCD-Display-Module-With-SPI-Interface-5-IO-Ports-128X160-/350631278788?pt=UK_BOI_Electrical_Components_Supplies_ET&hash=item51a340b8c4?

Near 3£ for 1 piece of 1,8" colour TFT (and is arduino compatible too)


Bitrated user: ercolinux.
Darktongue
Sr. Member
****
Offline Offline

Activity: 405
Merit: 250



View Profile
January 03, 2013, 08:15:14 PM
 #41



 This is very neat and I'll more then surely purchase one. However fine tuneing ky RaspPi into what I now use as my hard wallet has been It's own labor of love.

I wanted something I could store all my coin on. abd generate keys for all the active and even dead coin. I've also setup a way to generate abd print paper for each coin. I don't plan on takeing my device outside the home. any coin I do take with me I gamble with via my android device. I only take enough with me incase an uncanny deal or item is up for grabs and I catch on to it while mobile.

basically I never carry more BTC then I have in USD in my wallet most if not all the time.  Now this may sound like overkill or complex bullshit but I stuck the board in the wall behind my TV in our family room. I built a nice mount for it and ran the power cord to an outlet where I installed a typical three prong socket with the added bonus of usb. I can remove the board from the wall clean abd clear as the mounts ride on ball bearings I had a faceplate made as well for cosmetics and when not in use a picture hangs over the entire setup.

Basically the whole project for me was the pipe dream of owning a wall safe behind a picture like in all the mafia flics. I was able to get my wife to follow along as It's super easy to plug a different SDHC card and make it a fantastic media center.

But that's just my love for my chunk of the Pi. again not saying this isn't and will not be a welcomed item in my efforts to keep abd spend crypto moneys.

JACS|JUST ANOTHER
COMMUNICATIONS
STACK
██     ██████████████████████████████████████████████████████████
.
.
██████████████████████████████████████████████████████████     ██
████████████ █▄
████████████ ███▄
████████████ █████▄
████████████▄▄▄▄▄▄▄
████▄▄▄▄▄▄▄▄▄▄▄████
████▄▄▄▄▄▄▄▄▄▄▄████
████▄▄▄▄▄▄▄▄▄▄▄████
████▄▄▄▄▄▄▄▄▄▄▄████
████▄▄▄▄▄▄▄▄▄▄▄████
████▄▄▄▄▄▄▄▄▄▄▄████
███████████████████
███████████████████
███████████████████
▄█████████████████████████▄
███████████████████████████
███████████████████████████
██████████████████▀▀███████
█████████████▀▀▀    ███████
████████▀▀▀   ▄▀   ████████
█████▄     ▄█▀     ████████
████████▄ █▀      █████████
█████████▌▐       █████████
██████████ ▄██▄  ██████████
████████████████▄██████████
███████████████████████████
▀█████████████████████████▀
▄█████████████████████████▄
███████████████████████████
███████████ ██ ████████████
███████▀▀▀▀ ▀▀ ▀▀██████████
████████▄   ▄▄▄▄  ▀████████
█████████   ████   ████████
█████████         ▀████████
█████████   ████    ███████
████████▀   ▀▀▀▀   ▄███████
███████▄▄▄▄ ▄▄ ▄▄▄█████████
███████████ ██ ████████████
███████████████████████████
▀█████████████████████████▀
▄█████████████████████████▄
███████████████████████████
███████████████████████████
█████▄    ███████▀    ▄████
███████    █████▀    ██████
███████     ███▀     ██████
███████ █    █▀ █    ██████
███████ ██     ██    ██████
███████ ███   ███    ██████
█████▀   ▀██ ███▀    ▀█████
███████████████████████████
███████████████████████████
▀█████████████████████████▀
▄█████████████████████████▄
███████████████████████████
███████████████████████████
█████▀               ▀█████
████▌                 ▐████
████       ██▄▄        ████
████       ██████      ████
████       ██▀▀        ████
████▌                 ▐████
█████▄               ▄█████
███████████████████████████
███████████████████████████
▀█████████████████████████▀
allten
Sr. Member
****
Offline Offline

Activity: 450
Merit: 250


You Don't Bitcoin 'till You Mint Coin


View Profile WWW
January 03, 2013, 08:39:33 PM
 #42

2) This price does not include a PicKit 3 which is a must at this early level of development: $45.00 + Shipping
http://www.microchipdirect.com/ProductSearch.aspx?Keywords=PG164130

It is possible to avoid using a PicKit 3. If the dev board is loaded with an appropriate bootloader (eg. http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en554836), it should be possible to program the device using the on-board USB port.

What the PicKit3 is useful for, is if:
  • You want to develop or modify the bootloader itself (if you mess up the bootloader, you could brick the PIC32, in which case you need a PicKit3 to recover).
  • You want good integration with MPLAB.
  • You want to use debugging features like breakpoints, watches etc.

This is why it is so nice working with "someone" vs. alone. I knew it was possible to make a bootloader app with firmware, but I had no idea how feasible it was to produce in the short term. How long do you think it would take to have it ready and working? Looks much easier than I thought with that app note and all the source code available. This is really great news.
As soon as there is a working boot loader prototype, I will surely make it available to order.

 
allten
Sr. Member
****
Offline Offline

Activity: 450
Merit: 250


You Don't Bitcoin 'till You Mint Coin


View Profile WWW
January 03, 2013, 08:56:14 PM
 #43

I'm not sure if the ICD3 will work. I'll have to look into it. If it does, you will still need an RJ-45 to a 6-pin female pin header adapter.
It looks like the ICD3 will support the PIC32 from microchip's website. Also, I have made lots of custom programming headers, since RJ-11 is a horrible choice for a programming header.

Quote
Your offer to help assembly is extremely appreciated. Stencil printing too; I'm envious, but this is really great. Whereabouts in the world you located? I'm in Arizona.

I'm in TX, whois paybitcoin.com + google if you must know  Wink... At work we do a bunch of prototyping and custom engineering work. Mostly with Linux/Android now on armv7a using CPU system-on-modules since our apps got more complex, but used to be all PIC18. We started to move off to other architectures (Cortex-M3) since MPLAB is such a bad IDE, and mostly the 4096 byte RAM limit with PIC18s. I haven't used the PIC24 or PIC32 though.


That's a cool rendering of a hardware wallet.

You mentioned you had a stencil printer; when I have everything ready to send, would you trade a stencil for a PCB and components?
Not sure how much a stencil runs; so, maybe that is unreasonable.
If you wanted to help in assembly, I would love to pass the savings on to others. 
paybitcoin
Member
**
Offline Offline

Activity: 85
Merit: 10


1h79nc


View Profile WWW
January 04, 2013, 06:46:34 AM
 #44

That's a cool rendering of a hardware wallet.
The full rant is here: Yet Another Hardware Wallet Proposal? after a lot of thinking about viable mass-market solutions.

Quote
You mentioned you had a stencil printer; when I have everything ready to send, would you trade a stencil for a PCB and components?
Not sure how much a stencil runs; so, maybe that is unreasonable.
If you wanted to help in assembly, I would love to pass the savings on to others. 
We have this printer, for applying the paste evenly. We currently buy stainless steel stencils from Stencils Unlimited for $125 that work very well. You can also get cheaper stencils in Mylar from them, and also from Pololu. I haven't tried the mylar stuff, but it is probably suitable.

I'm pretty sure I could help out with the assembly. Maybe a trial run of 5 boards or so on a weekend to see how it goes? How many PCBs are you planning on ordering? Are you going to be panelizing them?
someone42
Member
**
Offline Offline

Activity: 78
Merit: 10

Chris Chua


View Profile
January 04, 2013, 11:06:00 AM
 #45

The different generators have their own advantages and disadvantages.

Could you please elaborate more on this topic? Just to make sure we are on the same page here ...

Here's my current understanding. It's subject to change, since analog circuits can work differently in the "real world" vs. theory.

Atmel CryptoAuthentication chip
Good: Tiny, integrated solution. This means board layout is easy (no touchy analog sections to worry about) and device size is a bit smaller. It is very likely to Just Work.
Bad: As slush has pointed out, Atmel don't say how it works. They say it's "high-quality" but don't justify it. There's no access to the raw samples, meaning that it could fail to produce enough real entropy, though it still outputs seemingly random bits.

Thermal noise source
Good: the existence of thermal noise is guaranteed by fundamental physics. The amplitude can be reasonably well estimated a priori. The particular design used (a differential amplifier) rejects common-mode noise somewhat. Noise characteristics are simple (white, Gaussian).
Bad: requires a lot of gain, which can provoke oscillation. High-valued resistors mean that it's sensitive to parasitic capacitance; this can cause bandwidth, unwanted feedback or (external) noise feedthrough problems. Requires board space for 3 op amps.

Zener noise source from zener diode
Good: components widely available. Requires less op amps than thermal noise source. Noise characteristics are probably distinctive, which makes it easier to distinguish zener noise from everything else.
Bad: noise amplitude is tiny, requiring even more gain than thermal noise source. Noise amplitude probably varies between components, complicating mass production. While zener noise is generally unavoidable, most manufacturers strive to reduce it.

Zener noise source from voltage reference
Good: Louder than zener diode. Probably more consistent than zener diode.
Bad: Once again, noise is usually unwanted by circuit designers, so chip designers try to minimise it. We had to look around for a chip which was noisy enough (the LM385 is used, which is an old chip). Voltage references aren't designed to be used as noise sources: they're designed to be used as voltage references. Slightly more expensive and bigger than zener diode.

Oh, I forgot this one: most microcontrollers have multiple independent oscillators (eg. crystal oscillator and internal RC oscillator). If both oscillators are run simultaneously, they will drift apart randomly. This drift can be measured using a suitable interrupt handler.

Drifting simultaneous oscillators
Good: you get it for "free": no external components required.
Bad: uncertain quality of random bits. Throughput is quite slow - last time I tried, I was only able to get a few hundred bits of (unknown quality) entropy per second.

Some resources:
The zener noise source circuit we borrowed from: https://mywebspace.wisc.edu/lnmaurer/web/minirng/RandomBit.jpg
Comparison of noise sources: http://ciphersbyritter.com/RADELECT/MEASNOIS/NOISMEA1.HTM
allten
Sr. Member
****
Offline Offline

Activity: 450
Merit: 250


You Don't Bitcoin 'till You Mint Coin


View Profile WWW
March 21, 2013, 04:47:06 PM
 #46

Bitsafe Hardware Wallet Development:

New Thread with new discussion and direction:
https://bitcointalk.org/index.php?topic=152517.0
Pages: 1 2 3 [All]
  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!