Enigma protocol is a second-layer, off-chain network that aims to solve the two problems for blockchains: scalability and privacy. Enigma is a peer-to-peer network, enabling different parties to jointly store and run computations on data while keeping the data completely private. An external blockchain is utilized as the controller of the network, manages access control and identities, and serves as a tamper-proof log of events. (Enigma website: https://www.media.mit.edu/projects/enigma/overview/) (Enigma blog: https://blog.enigma.co/)
In Enigma blog, there is an article (Link to Article), explaining the secret contract, including an example as follows:
“To give an example of a potential secret contract, imagine a lending dApp that can autonomously give out loans to users. To function, it operates a smart contract that tests each individual’s eligibility by scanning their wallets and prior transactions, then computing if the individual should receive a loan (and if so — how big it should be). For example, it may examine if you asked for loans in the past, and whether you paid them back on time.
With a normal smart contract, a user would need to disclose all of their transactions publicly. This means that everyone would have complete visibility to your finances. Since most users aren’t likely to opt into such a service, the only option left to the dApp provider is to keep the actual computation of eligibility centralized, in order to limit the exposure of the sensitive data to the provider itself. In this hybrid approach the dApp is no longer autonomous or truly decentralized, as it cannot operate without the aid of the provider. The dApp thus retains all of the weaknesses of centralized applications, with few of the advantages.
Instead, in a setting where secret contracts exist, a user can share their transaction history safely with the secret contract itself. The nodes can execute the contract and receive the eligibility result without being able to observe the user’s transactions. There is no longer a need to create a hybrid dApp. This dApp could be autonomous end-to-end, while guaranteeing both correctness — if a user is eligible for a loan, she will get a loan; and privacy — no one but the user can see their transaction history.”
My question is about the following phrases:
(1) “With a normal smart contract, a user would need to disclose all of their transactions publicly”
(2) “Instead, in a setting where secret contracts exist, a user can share their transaction history safely with the secret contract itself. The nodes can execute the contract and receive the eligibility result without being able to observe the user’s transactions.”
From my point of view, a user eventually needs to present himself by using his address (either by normal contract, or by secret contract), by which it is possible for everybody to see all his transactions history using an explorer website.
(1) How can Enigma secret contract prevent someone to see transactions history of a user?
(2) How can a user conceal his address and at the same time receive the loan, using secret contract?
Note: Please note that according to an agreement, questions about blockchain is brought up in Bitcoin stack exchange.