<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://en.zaoniao.it/index.php?action=history&amp;feed=atom&amp;title=Smart_card_wallet</id>
	<title>Smart card wallet - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://en.zaoniao.it/index.php?action=history&amp;feed=atom&amp;title=Smart_card_wallet"/>
	<link rel="alternate" type="text/html" href="http://en.zaoniao.it/index.php?title=Smart_card_wallet&amp;action=history"/>
	<updated>2026-05-15T21:00:15Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>http://en.zaoniao.it/index.php?title=Smart_card_wallet&amp;diff=6876&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;This pages gathers resources for the implementation of a Bitcoin wallet on a smart card.  ===Rationale===  *Computers and smartphones are target for malware. The software on a...&quot;</title>
		<link rel="alternate" type="text/html" href="http://en.zaoniao.it/index.php?title=Smart_card_wallet&amp;diff=6876&amp;oldid=prev"/>
		<updated>2019-07-16T09:07:35Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;This pages gathers resources for the implementation of a Bitcoin wallet on a smart card.  ===Rationale===  *Computers and smartphones are target for malware. The software on a...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This pages gathers resources for the implementation of a Bitcoin wallet on a smart card.&lt;br /&gt;
&lt;br /&gt;
===Rationale===&lt;br /&gt;
&lt;br /&gt;
*Computers and smartphones are target for malware. The software on a smart card can be protected.&lt;br /&gt;
*Smart cards do not need a battery, nor internet connection, they are robust.&lt;br /&gt;
*Adoption: people are already used to paying with smart cards.&lt;br /&gt;
&lt;br /&gt;
===Desired features===&lt;br /&gt;
&lt;br /&gt;
*no blockchain, no node; the card contains only private keys, and an algorithm to sign a transaction&lt;br /&gt;
*the smart card should have its own keyboard (for pin code protection) and display (to show the transaction amount)&lt;br /&gt;
(&amp;amp;lt;- Alternative to this is the card returning, to the terminal screen, the debit amount multiplied by a number only the card holder knows which cycles from 1 to 100 to 1 incrementing by 1 each transfer - the card is locked 10 minutes if a second amount is send before a pin is typed.)&lt;br /&gt;
* The card holder will know pin, puk, private key and address only from when he programmed it or ordered his smart card.&lt;br /&gt;
*the card should implement a deterministic wallet, so that funds can be recovered if the card is lost.&lt;br /&gt;
&lt;br /&gt;
===Usage scenario===&lt;br /&gt;
&lt;br /&gt;
* the reading device may belong to a merchant at a point of sale; it cannot be trusted with private keys. &lt;br /&gt;
* the reading device is connected to a full bitcoin node; it can be trusted for getting and sending blockchain information.&lt;br /&gt;
* the reading device sends to the card the current balance of its bitcoin addresses. This information can be cached in the card.&lt;br /&gt;
* the reading device sends a bitcoin receiving address and transaction amount to the card.&lt;br /&gt;
* the amount is displayed by the card ; the user confirms the transaction with his pin code.&lt;br /&gt;
* the smart card creates a signed transaction and sends it to the reading device&lt;br /&gt;
* the transaction is checked and broadcast by the bitcoin node.&lt;br /&gt;
&lt;br /&gt;
==Implementation steps==&lt;br /&gt;
&lt;br /&gt;
===1. write a bitcoin daemon that can talk to a lightweight wallet===&lt;br /&gt;
*this has been done already, see for example bitcoinjs: https://github.com/bitcoinjs/bitcoinjs-lib&lt;br /&gt;
*See also this pull request: [https://github.com/piotrnar/bitcoin/tree/importexporttx importexporttx] can be used to broadcast the transaction&lt;br /&gt;
* https://bitcointalk.org/index.php?topic=28278.msg383312#msg383312&lt;br /&gt;
&lt;br /&gt;
===2. write a lightweight wallet===&lt;br /&gt;
*wallet without blockchain, in order to test the daemon&lt;br /&gt;
*this lightweight wallet will be later implemented on the card &lt;br /&gt;
*use it to define the communication protocol between card and reading device.&lt;br /&gt;
&lt;br /&gt;
update: this is done, see [[Electrum]]&lt;br /&gt;
&lt;br /&gt;
===3. implement wallet on a simple smart card===&lt;br /&gt;
&lt;br /&gt;
* http://www.opensc-project.org/opensc openSC : tools and libraries for smart cards. &lt;br /&gt;
* amadousarr.free.fr/crypto/ECDSAJAVACARD.pdf : A Software Implementation of ECDSA on a Java Smart Card&lt;br /&gt;
* http://www.acs.com.hk : cards, readers, development kits; no display, pincode needs to be typed on the reading device&lt;br /&gt;
* http://www.basiccard.com/index.html?overview.htm : Smart Card (ZC7.5) which contains RSA/EC and DES/AES coprocessors. Used in an implementation of the OpenPGP Card 2.0 standard (http://g10code.com/p-card.html)&lt;br /&gt;
&lt;br /&gt;
===4. implement wallet on a smart card with display and pincode ===&lt;br /&gt;
&lt;br /&gt;
list of vendors:&lt;br /&gt;
* http://www.nidsecurity.com/products/solution-enterprise.html (smart cards with LCD displays)&lt;br /&gt;
* http://www.avesodisplays.com/ (smard cards with flexible displays)&lt;br /&gt;
&lt;br /&gt;
==references==&lt;br /&gt;
*https://bitcointalk.org/index.php?topic=7539.0 Bitcoin smartcard Point of Sale terminal&lt;br /&gt;
*https://bitcointalk.org/index.php?topic=20933.0 Bitcoin and Smart Cards&lt;br /&gt;
&lt;br /&gt;
==Source==&lt;br /&gt;
&lt;br /&gt;
[http://bitcoin.it/ http://bitcoin.it/]&lt;br /&gt;
[[Category:Wallets]]&lt;br /&gt;
[[Category:Technology]]&lt;br /&gt;
[[Category:Mobile]]&lt;br /&gt;
[[Category:Manuals]]&lt;br /&gt;
==See Also on BitcoinWiki==&lt;br /&gt;
* [[ViValid]]&lt;br /&gt;
* [[Fair Ninja]]&lt;br /&gt;
* [[INCX]]&lt;br /&gt;
* [[Qiibee]]&lt;br /&gt;
* [[Inmediate]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>