Upcoming AMA with Joel Reis and Sergey Zhukovsky, Sr. Software Engineers for iOS/Android at Brave: Wednesday, Jan. 30th, 2019 @ 9:30AM -10:30AM PT on r/BATProject

Since this is not really a question for the iOS/Android team, I will help provide some clarifications here!

First and foremost, we have/had to impose KYC in order to comply with anti-money laundering (AML) regulations. Contrary to popular belief, the anti-fraud benefits are actually secondary and not principally why KYC is imposed.

In general, the only time KYC will not be required is if the payments infrastructure is completely peer-to-peer (P2P), which it is not at the present time (i.e., Uphold's infrastructure and wallet services are being utilized somewhere in the flow). In the future, we will provide purely P2P options for contributions between users and publishers. However, this is not feasible at the moment due to blockchain adoption reasons—both on the user and especially on the publisher side—and due to blockchain scaling limitations.

In the interim, we are providing more alternatives that represent steps toward greater decentralization. With our upcoming integration with CIVIC, we provide a way for publishes (and later, users) to circumvent Uphold's custodial wallet and instead just use their own Ethereum address: https://brave.com/brave-civic-partnership/ KYC with CIVIC will still be required to whitelist the Ethereum address, however, since at least one side of the interaction will still be utilizing Uphold's custodial wallet services (e.g., the in-browser wallet in Brave).

Again, only once both sides no longer depend on Uphold's services whatsoever will the entire flow count as purely P2P, and therefore avoid KYC requirements for pure on-blockchain transfers. Of course, if you're ever exchanging to fiat, KYC will always be required at some point in the process due to the inherent nature of fiat.

/r/BATProject Thread Parent