Re: [bitcoin-dev] Boost Bitcoin circulation, Million Transactions Per Second with stronger privacy

2021-07-01 Thread raymo via bitcoin-dev

Hi Erik

Please correct me if I misunderstood.

> email is fully compromised. 

What I got is:
Email is not good because the sender and receiver are compromised.
Email is not good because the message content is revealed.
I can claim same argue about any other client/server model. Since the
server (website) service provider will ask some sort of KYC. And even if
the server uses end-to-end encryption, the provider company still can
read the packets content.
In my model the passive listener only can discover who is communicate to
whom and make a graph of connections. Although it is a threat for
privacy but the server/client model has this flaw inherently, since
provider already knew everything about everyone. In my model at least
users can make some fake connections and send some fake emails in order
to inject noise to communications.
Please note the fact that entire communication between mobile wallets
(via emails) are asymmetric PGP encrypted. The PGP keys are controlled
by end users unlike ALL pretending secure messengers (e.g whatsApp,
signal, zoom,…).
If you are worried about the way of exchanging PGP public key, you are
right. The most secure way is in-person PGP key exchanging.
After that for payments the wallets communicate in pgp encrypted
messages and they can transfer Bitcoin address through an PGP encrypted
cipher, thus no revealing Bitcoin address to public would occur. Neither
the amounts of transactions will be reviled. 
There for it would be a good practice for shops to put their email and
PGP public key on shop website and/or PGP public key servers, instead of
putting Bitcoin address on website or using 3rd parties services to hide
their Bitcoin payment addresses.

If I missed some points about “fully compromised” please write it to me.


> public keys / addresses are sent
As I told before ALL communication in Sabu are PGP encrypted.

> other routing data encrypted with public keys 
>(not sure how data is routed in sabu)

Sabu is not responsible for routing at all. It simply sends emails.
Indeed the wallets peer-to-peer network in Sabu is pretty straight
forward. Each mobile wallet has one email address as its handler and
identifier in mobile-wallets-network. Each mobile can send message to
another mobile by knowing its email address and the PGP public key. 
This information can be prepared in first face-to-face contact of mobile
owners, or later (something like signing the other’s public key in web
of trust) when a creditor wants to spend his money and transfer it to
another creditor. The creditor1 send the signed money transfer request
alongside the email and public key of creditor2 all in a PGP encrypted
message to issuer.



> separate the Sabu protocol from the app... allow others to implement 
> desktop version, or other versions that use other routing systems

Indeed, it is my approach too. As I told before users will decide
between an unstoppable, permission less, self-sovereignty and
decentralized pure peer-to-peer communication network (with some
resolvable privacy issues) or some efficient, privacy-mimic central
limited network. 


> you can allow direct-entry of a BIP-word-representation 
> of a public key/address to avoid privacy/central system concerns
Agree. Actually, I was thinking about an easy mechanism to share your
public key like what you suggested here. 
But what I consider for a “central system concerns” is the ability of
communication without dependency to any company. 
As an example, what can you do if the twitter bans your account?
Nothing! Your content and entire connections will be lost. 
But if you form your friends list in your mobile (or computer) and have
their PGP public keys and they have yours, and use email as a dual
purpose tool. First as a handler (the tool for finding and to be found
in internet) and second as a communication tool.
Thus, no one can stop you, ban you or limit you to send/receive
transaction to/from anyone. 
What I am trying to say is using email is far better than account
(username) in a limited central service like twitter, Facebook,
telegram... or even in future Sabu servers!
You have your connections under your control in your phone. You can
easily change your email and use a new email or even a new service
provider without losing your connections and your control over it. 
You just sign your new email address and send it to your friends circle
and notify them about changes. 
Of course, email is not good for millions of followers but it is
obviously good for managing your payment network of hundreds of people
(either issuers or creditors).

Best
Raymo

On 2021-07-01 20:49, Erik Aronesty wrote:
> your protocol should always assume the email system is fully
> compromised, and only send public information over email:
> 
> - public keys / addresses are sent
> - other routing data encrypted with public keys (not sure how data is
> routed in sabu)
> 
> your end user should be able to verify public keys  / addresses
> 
>  - use QR-codes
>  

Re: [bitcoin-dev] Boost Bitcoin circulation, Million Transactions Per Second with stronger privacy

2021-07-01 Thread Erik Aronesty via bitcoin-dev
your protocol should always assume the email system is fully
compromised, and only send public information over email:

- public keys / addresses are sent
- other routing data encrypted with public keys (not sure how data is
routed in sabu)

your end user should be able to verify public keys  / addresses

 - use QR-codes
 - phone calls with users reading BIP words out loud
 - other in-person information exchange

separate the Sabu protocol from the app... allow others to implement
desktop version, or other versions that use other routing systems

-  you can allow direct-entry of a BIP-word-representation of a public
key/address to avoid privacy/central system concerns

On Thu, Jul 1, 2021 at 4:20 PM raymo via bitcoin-dev
 wrote:
>
> Hi Billy,
> Sorry for late reply. Let’s jump in proposal.
>
> > Some more information about the benefits of this approach vs alternatives 
> > (mainly lightning)
> The most important different is unlike the lightning, in Sabu no one
> have to open a channel and pay Bitcoin transaction fee, subsequently no
> one has to close channel and pay another Bitcoin transaction fee. It is
> the huge improvement since it drops the overhead cost of transactions.
> So, it will be more convenience to trade under Sabu protocol.
> In Sabu none of parties of a transaction are obliged to block money in
> any kind of smart contract or any other m of n signature accounts
> on-chain, so it provides more privacy.
> Since Sabu protocol is designed to motivate people to circulate
> transactions (AKA debt documents) in Sabu network, if every actor act
> rationally no one will aware how much money transferred from who to
> whom.
> In case of fraudulent activity by issuer, the creditor will send
> Guarantee Transaction (GT) to Bitcoin network in order to recapture the
> part of his credit. So, in this case the transaction is literally
> recorded on bitcoin blockchain.
> There is only one another reason to recording transaction on Bitcoin
> blockchain. Where one creditor eager to pay Bitcoin transaction fee in
> order to aggregate thousands or even millions different small amount
> debt-documents in a single transaction on Bitcoin blockchain.
> despite these two cases, the rest of transactions all occur in the Sabu
> network (supposed to be over 99%). Thus, no footprint no bottleneck and
> no over process.
>
> Another important power point of Sabu is its pure-peer-to-peer network
> architecture. In Sabu the mobile wallets communicating to each other
> directly without any central server. There is no centralization at all.
> As a result, there will be no routing as well.
> Since only issuer and creditors are aware of the content of transaction
> (who pay how much to whom) it is a huge privacy improvement, which
> doesn’t exist in other layer 2 solutions.
>
> About the usability of Sabu, although the protocol based on the
> collaborating 2 different peer-to-peer network and 3 classic
> server/client networks, but the end user (mobile wallet user) doesn’t
> see any of these complexities.
> The end user simply installs the mobile/desktop wallet and add her/his
> friends to his phonebook by adding their email address or scanning their
> email (and/or PGP public key). After that s/he can immediately start to
> send/receive Bitcoin through Sabu network. Entire communications between
> wallets are PGP encrypted.
> Another good point in Sabu design is, the 12 seed words are using for
> both Bitcoin wallet private key and the PGP private key. So, it is the
> key of user wealth and its identity as well. For more details, please
> read my previous answer to Alex Schoof.
> The issuer, by using his UTXOs and selling them to creditors earn money.
> the issuer creates the debt document (transaction) by which promises to
> creditor an amount of satoshi. These debt documents are valid Bitcoin
> transaction. The only difference is these transactions are intended to
> circulate in Sabu protocol instead of sending to Bitcoin blockchain.
> Each transaction is a small money transfer. 40,000 Satoshi as input and
> maximum 20,000 Satoshi as credit and minimum 10,000 Satoshi as Bitcoin
> transaction fee.
> The creditors will use these received transactions as money and will pay
> it in exchange of goods or services. For each transaction the creditor
> pays 10 Satoshi as Sabu-transaction-fee to issuer.
> Sabu is not custodial service and the UXTOs are always under issuer
> control, unless issuer or creditor send the signed transaction to
> Bitcoin network. When the transaction was recorded in Bitcoin
> blockchain, the creditor can spend proper UTXO in Bitcoin network.
> Imagine million people use their UTXOs in Sabu, they are issuer and
> issue/update/cancel million transactions per second. All they need is a
> mobile wallet. On the other hand, every one by knowing an issuer can buy
> some Satoshi (whit absolutely no KYC), even 1 Dollar or less, and spend
> it, this time Alice really can buy caffe by Bitcoin ;)
> The Bar can 

Re: [bitcoin-dev] Boost Bitcoin circulation, Million Transactions Per Second with stronger privacy

2021-07-01 Thread raymo via bitcoin-dev
Hi Billy,
Sorry for late reply. Let’s jump in proposal.

> Some more information about the benefits of this approach vs alternatives 
> (mainly lightning)
The most important different is unlike the lightning, in Sabu no one
have to open a channel and pay Bitcoin transaction fee, subsequently no
one has to close channel and pay another Bitcoin transaction fee. It is
the huge improvement since it drops the overhead cost of transactions.
So, it will be more convenience to trade under Sabu protocol. 
In Sabu none of parties of a transaction are obliged to block money in
any kind of smart contract or any other m of n signature accounts
on-chain, so it provides more privacy. 
Since Sabu protocol is designed to motivate people to circulate
transactions (AKA debt documents) in Sabu network, if every actor act
rationally no one will aware how much money transferred from who to
whom. 
In case of fraudulent activity by issuer, the creditor will send
Guarantee Transaction (GT) to Bitcoin network in order to recapture the
part of his credit. So, in this case the transaction is literally
recorded on bitcoin blockchain.
There is only one another reason to recording transaction on Bitcoin
blockchain. Where one creditor eager to pay Bitcoin transaction fee in
order to aggregate thousands or even millions different small amount
debt-documents in a single transaction on Bitcoin blockchain.
despite these two cases, the rest of transactions all occur in the Sabu
network (supposed to be over 99%). Thus, no footprint no bottleneck and
no over process.

Another important power point of Sabu is its pure-peer-to-peer network
architecture. In Sabu the mobile wallets communicating to each other
directly without any central server. There is no centralization at all.
As a result, there will be no routing as well. 
Since only issuer and creditors are aware of the content of transaction
(who pay how much to whom) it is a huge privacy improvement, which
doesn’t exist in other layer 2 solutions. 

About the usability of Sabu, although the protocol based on the
collaborating 2 different peer-to-peer network and 3 classic
server/client networks, but the end user (mobile wallet user) doesn’t
see any of these complexities. 
The end user simply installs the mobile/desktop wallet and add her/his
friends to his phonebook by adding their email address or scanning their
email (and/or PGP public key). After that s/he can immediately start to
send/receive Bitcoin through Sabu network. Entire communications between
wallets are PGP encrypted. 
Another good point in Sabu design is, the 12 seed words are using for
both Bitcoin wallet private key and the PGP private key. So, it is the
key of user wealth and its identity as well. For more details, please
read my previous answer to Alex Schoof. 
The issuer, by using his UTXOs and selling them to creditors earn money.
the issuer creates the debt document (transaction) by which promises to
creditor an amount of satoshi. These debt documents are valid Bitcoin
transaction. The only difference is these transactions are intended to
circulate in Sabu protocol instead of sending to Bitcoin blockchain.  
Each transaction is a small money transfer. 40,000 Satoshi as input and
maximum 20,000 Satoshi as credit and minimum 10,000 Satoshi as Bitcoin
transaction fee.
The creditors will use these received transactions as money and will pay
it in exchange of goods or services. For each transaction the creditor
pays 10 Satoshi as Sabu-transaction-fee to issuer. 
Sabu is not custodial service and the UXTOs are always under issuer
control, unless issuer or creditor send the signed transaction to
Bitcoin network. When the transaction was recorded in Bitcoin
blockchain, the creditor can spend proper UTXO in Bitcoin network.
Imagine million people use their UTXOs in Sabu, they are issuer and
issue/update/cancel million transactions per second. All they need is a
mobile wallet. On the other hand, every one by knowing an issuer can buy
some Satoshi (whit absolutely no KYC), even 1 Dollar or less, and spend
it, this time Alice really can buy caffe by Bitcoin ;)
The Bar can install the mobile wallet and every day receives thousands
of debt documents (transactions), each worth maximum 20,000 Satoshi in
exchange of coffee. And every evening aggregates those small
transactions to one single transaction and send it to Bitcoin network. 


The security model of Sabu is pretty straight forward. 
Issuer is the owner of UTXO(s) which will be used in transactions. The
issuer is and will the only person who creates transactions and sign
them. The transactions are valid transaction which either issuer or
creditor can send them to Bitcoin network, but they will never send
these transactions to Bitcoin network, because of the high Bitcoin
transaction fee for each single transaction. 
Since issuer is the only one who can sign transaction (spend UTXOs),
there is a risk of issuer cheating. And no one can stop issuer from
cheating, because these are