Submind YouTube summaries
Thumbnail for Real World Crypto conference 2020:  session 14

Real World Crypto conference 2020: session 14

Watch on YouTube

Video summary

Pedro Moreno from Sensors with Next opens the discussion by addressing Bitcoin's scalability constraints, which currently process around ten transactions per second compared to Visa's high throughput, and proposes off-chain solutions like the Lightning Network as a remedy. While these networks utilize multi-signature contracts to facilitate fast, low-fee transactions without immediate blockchain confirmation, they face three critical hurdles: security vulnerabilities where adversaries can intercept paths to steal fees, privacy failures that allow observers to link specific users rather than maintaining anonymity sets, and collateral issues known as the Griffin attack where required time-locked funds increase linearly with path length. To overcome these obstacles, Moreno introduces new cryptographic protocols including atomic multi-hop payments that ensure consistency while preventing fee theft through randomized conditions, and constant collateral updates that fix time locks regardless of a node's position in the network to support applications like crowdfunding. The technical presentation further explores advancements in zero-knowledge systems with Tomer Doerr, who presents optimized hash functions designed for StarkWare's ZK-Snark circuits. He introduces JAVIS for binary fields and RESCUE for prime fields, both of which employ non-procedural computation to minimize field multiplications while maintaining a high algebraic degree to resist global basis attacks. Following this technical deep dive, the session shifts focus to combating money laundering through network flow analysis, highlighting the inadequacy of local bank views and manual monitoring when dealing with large-scale schemes such as the "Global Laundromat." This transition sets the stage for a collaborative approach where banks can detect illicit activities without compromising sensitive data. To enable interbank collaboration without sharing raw transaction data, the speaker proposes a graph-based method that models accounts as vertices and legal or suspicious transactions as weighted edges to identify patterns like parallel flows or linear chains. The system calculates two specific scores: a "balanced score" to measure traffic volume and transaction equality, and a "structural similarity" score that quantifies correlations between incoming and outgoing transactions using geometric means. Recognizing that standard computations involving inversions and square roots are inefficient for massive datasets containing hundreds of thousands of accounts and billions of transactions, the proposal leverages Multi-Party Computation with oblivious comparisons. This technique allows banks to perform necessary calculations on secret-shared data using only additions, multiplications, and oblivious comparisons, effectively avoiding expensive operations while compressing the graph using hash functions similar to Bloom filters to test similarities across reduced sets. The session concludes with performance benchmarks demonstrating that approximately one million 50-bit number comparisons can be completed in under two seconds, validating the scalability of this cryptographic approach. During the Q&A, the speaker confirms the system's resilience against malicious banks by assuming honest-but-curious participants and notes that while fuzzy matching for names and addresses is not yet implemented, it remains an area of active research. Future iterations may incorporate spectral methods or handle clusters of nodes acting collectively as middlemen, with the presentation ending on announcements regarding the 2021 conference in Amsterdam and acknowledgments to the sponsors and organizers who made the event possible.
Read the full video transcript
all right so we're ready for the last session of the day in a real world crypto all right so we have block chains and distribute Ledger's and we have three great talks in that session so first one is titled challenges cryptographic solutions with payment channel networks and the speaker is Pedro Moreno of sensors with next to me and about ready to go now before I leave the stage quick announcement there is a letter zelda bag like i'm not sure what if this could be like some little device here so if you lost it or forgot it in the bathroom it will be just right here okay with this I'll just pass it to paid off right okay thank you for interaction hello everybody and thank you for attending to my talk this point of the conference today I'm going to talk about scalability problems so Bitcoin and many other cryptocurrencies have a scalability issues and this is because they rely on a decentralized data structure that records every single transaction happen in the system this is good because we provide public believability so we can check all the transactions that happen in the system however it requires a global consensus that in practice limits the transaction rate to around ten transactions per second and this is far from what we have in our systems like Visa or MasterCard this is clearly the problem has been tackling the community and we can roughly group the approaches in two trends one is on chain were mainly they tweak the consensus algorithms and protocols to improve the transaction the transaction rate the other approach is off chain so we use the blockchain as minimum as possible so we use it only to solve the disputes between users this is where payments and networks fault and we have a couple of examples already deployed in practice we have the lighting Network for Bitcoin we have also red and not green etherium and many other research projects some of them are actually implemented already as you can imagine and gonna publish the second second approach today let me start with a little background on payments higher networks reminder we have a lease that has some bitcoins and she wants to buy some product from Bob she can open a payment channel for that in order to do that she creates a transaction where seed transfer five coins to what is called a multi seek contract a contract that can be further spent only when both Alice and Bob agree to make sure that Alice can recover the funds she let Bob sign the refund transaction the transfer the coins back from the multi counter multi-sig contract back to Alice when that's when that has been done then Alice can effectively put the transaction on chain effectively opening the payment channel and she keeps locally that we found transaction just in case the C need is later once the time is open sea can use it to perform several transactions of chain so she can do that by redistributing the coins from the multi-sig contract accordingly mine that she wants to pay one coin to Bob she pays one point from the contact to Bob and the remaining four are paid back to Alice see signs that and this is a valid payment for Bob because the only thing that has to do is to sign himself but he can always do that because he has his own signing key instead of doing that he has waits for more payments from a distance he can do that by accordingly distributing the coins from the multi-sig contract in practice the these payments can be more complex we can have bi-directional payment so Bob can pay back to Alice we have also a revocation mechanisms to revoke all states and when both of them Alice and Bob are done with the reducing the channel they can close it for that yes sign the last state and put it on the blockchain so we have only two transactions on the chain and many many many payments that happen off the chain this payment and this protocol however allows only two users to pay between each other so what we would like to have you practice is a payment from Alice to everybody else and for that Alice could open payment channels to everybody however this is really costly because for every channel she has to lock coins and see might not be so so rich instead what we use in practice is Alice relies on a path of open channels between herself and the intended receiver so in mind that Alice wants to pay to Caro she first sends one Bitcoin to the in the channel that she has with Bob and this will forward this one Bitcoin to carry herself obviously for this to be used in practice we need that the whole operation is atomic in other words Bob's who get the money from Alice if and only if she has actually paid to cut this concept of payment I network it's what is hasn't been implemented in the lighting network itself and here they have tackled this challenge of the atomic atomicity by including more conditions on the payment itself so if Bob receives such a chain payment he can actually put it on the blockchain not only with his signature but also he has to solve a cryptographic challenge which is he's given a value Y which is a hash value and he has to come up with a value X which is a valid pre-image for that cash value and because Bob might not come up with such a ballot pre-image anytime or ever we also need to add what is a time lock after which the Bob can no longer use the transaction can no longer put it on the blockchain in the rest I'm gonna denoted by this notation and I denote that Alice faced Bob one coin if and only if Bob shows some X such that X is a valid preimage of Y before some timeout has expired and now one we have this building block we can concatenate several of these has time block contracts to have a payment from the sender to a receiver let me let me show you how it works in this example so Carol creates both the value X and the hash value of y and gives the value Y 2 twice now Alice can create a conditional payment condition on this value Y to Bob Bob doesn't know the solution but he can forward a conditional payment conditioned in the same value Y to cut now because Karen knows a solution she created at the beginning she can show it to Bob to pull the money from Bob and he can forward it to all itself this is mainly how the light in that world works today and here there are two key points as we should pay attention the first one is that these protocol requires that the time in the left channel is higher than the time in the right channel and this is to make sure that bob has enough time when he receives the value X from a title to forward it to Alice to get the money from her the second requirement is that Bob gets a little more money than the one he has to forward in the payment this difference is called the fee and this is important for him because it's the feed he charged for providing the services of forwarding payments between the sender and the receiver so if you haven't got the details doesn't really matter so what you need to understand for the rest of the talk is that there is assistance called the lighting Network and allow us to perform payments off the chain they are fast because we don't require to go into the blockchain into the Consensus to confirm to confirm the payment it requires some little fees for the intermediary and at the first glance it looks secure use this has time lock contract and it looks private because of privacy reserved because most of the information is not in the blockchain anyway but this obviously is only at first glance and we in our group we ask ourself whether is actually secured and whether it actually provide privacy by privacy by default and if I'm giving here a talk you might imagine that the answer is no for both of them and the next I'm gonna show you what are some of the problems I would have with them in terms of security and privacy regarding security we proved we showed an attack which is called a war home attack and the main idea is that an adversary sitting between the sender and the receiver can let the intermediate nodes to participate in the payment and later steal the field that is suppose or response to this honest note let me show you in the end exam so imagine we have a set in which all the user have already locked coins in this conditional payments in these stl sees now Carol or gives the solution to to Eve and now if instead of rewarding it to Bob he just wait until the time out of that hdl-c aspires for forwarded to if itself okay and then all their attacker forward is to to Alice what happens in practice is that Bob considers that the payment has failed have not been successful and unlocked the funds after some time out the bursary pays one Bitcoin to Cairo but he gets 1.3 from Alice so what has happened is that the attacker can has got his own fee but also the fee that was associated to Bob for forwarding the payment and this in practice is important because this attack takes back the fees for the honest user which is the main incentive that they have to participate in the network there are other all also other implications for example the funds from Bob Channel are locked for the whole entire time lock duration that means that he cannot use those funds for other payments that had been at the same time and might have been successful additionally Bob believes that the payment was was failed was not successful and he doesn't have a way to blame the attacker for that for the attack he doesn't know that the attack has happened from the privacy point of view the situation is not bad so in mind that we have two simultaneous payments where each Alice on the Left wants to pay to each car on the right into deeply what we would like to have his call relationship anonymity to deathly empathic bursaries do not learn who is paying the home a bit more technical what we want to achieve is that diversity cannot distinguish between two cases one case in which blue Holly space two blue Caro and green Ali's place to be in Cairo and the second case were blue alle space to the green cattle and the green Ali's place to the blue cat however if we look how it works in practice the adversary can link or can deterministically determine which of the two cases we are in the example shown in this slide you can see that blue why the Y value is given by the blue Alice and later is forwarded to cutter to the blue car so he can return mind that the blue Alice is paying to the blue car the same manner because only y prime is given by the green alleys and forwarded to the pink color he can link both of them therefore religion sabudana media does not hole in the lighting network either in this test officers we are in our group we are also coming up with crypto attic solutions that provide or improve the security and the privacy in current payment giant networks the main observation that we did is it seems that most of these problems come from the fact that we are using the same y value at each of the hops in the path so it might help if we have a randomized conditions at each of the hops and we can solve them only when we get the key from the right neighbor in order to do that we could add a setup phase where the sender distribute individual randomization factors to each hop in the path okay decide and with these two main ideas we are trying to achieve three properties so the first one is atomicity which means that if the user writes lock get opened then he should be able to open one on the left in that sense we make sure that no no coins are lost we also want to achieve consistency which means that if the user one was able to open the one on the Left means that he had to open the one on the right in that manner a users cannot be over past and we will meet we prevent from the war home attacks finally regarding privacy a users will learn from to learn about no other participants in the path other than the direct neighbor in the length in the left and in the right let me show you and high level how our protocol which is go anonymous moody ha blocks actually work it works in three phases in the first one the setup Alice provides a couple of elements to a couple of a table of information to each user in the path this table has two elements the first one is this randomization factor that I mentioned before second is a condition that puts together all the randomization factors from the users from the sender to the use to that position in the path okay once we have that and Alice puts the concatenation of other randomization factors to the last one to the receiver now they can pairwise perform this lock operation we will see later how its performed where every user face conditioned on the fact that days of the condition given by Alice before for example he won here can get the payment if he can solve the D lock of the element C 1 and they do it from the left to the right now Carol he was given she was given the solution for C 4 already so can really give it back to e 2 2 came to claim the coins now he too can use his own randomization factor to the randomized the key that was got from Carol and forward it to Bob and every users are the same so they got the key a ballot key from the right they randomized it and send it back to to the left when idea is that conditions look random because they differ by a secret random factor that is known only by each of the users in the path and a valid key can only be computed if you get the right the valid key from the right name they said I omitted here how the lock contract works I'm going to show you it here in this slide maybe is that there is a public key sure between both of them Alice and Bob where the bomb the corresponding secret key is signature between both of them Alison Bob and they perform and off chain payment and a two-party protocol to create a transaction a signature of the transaction which is almost valid it's almost valid because they need to come up with a value K with which they can finish the transaction it some of the signature in this case and these two party protocol has to ensure two properties first looking at this half signature ball has to make sure of has to be convinced that whenever he lands the value key K later he should be able to finalize the signature and put the transaction on the blockchain and from the point of view of Alice if Bob ever finishes this the signature and put the transaction the blockchain she should be able to read retrieve the value K because this is what she needs to put it further back in the path for the payment I don't have time to show you the mathematical details or how it works but I encourage you to read in the paper I tell you that we have three constructions we show that we can construct such a two-party protocol from any amorphic one-way function and we have other two constructions one that relies on the H nor these are signatures and the other one that relies on ECBC perhaps the last one is more interesting because it's compatible with many of the cryptocurrencies today mainly Bitcoin idiom and many many others also this we have shown that achieves the security and privacy notions of interest that we were defining in the universal composability framework and the community has done some proof-of-concept implementations not only in the lighting network but also in the case and network and the Kombi network itself our protocol has also other practical advantages for example it reduces the transaction size for conditional payments our conditional payment no longer need the logic to check whether a pre-match of a hash function is correct Wien go to this condition in the signature itself so we need only the verification of digital signatures to have conditional payments moreover perhaps more interested in practice we our construction allows what we go into double double payments Hank so interoperable multi-hop payments Mirena path in which one lock is in Bitcoin or ECDSA waste the next one is defining etherium at the lock based lock we can still perform a payment that go from the sender to the receiver with security and tax in the last five minutes I have I'm going to show you another challenge that has we have studied in the Bitcoin compatible payments on it by Bitcoin compatible here I mean those payments on networks like the Latin Network that do not support Turing complete language like solidity in III collateral is a turned has been used in the blockchain community to deter mined or to denote the amount of resources that we need to perform move the whole payment in terms of coins and time that they are locked for example if we have a payment that goes over n minus two channels each payment of K coins has to be locked or we need a collateral of at least K times and K times and coins K coins at each of the engines also for the reason I has said before the time that the Chan that the coins have to be locked at the channel is staged in other words it depends on the position that you are in the path just for security as I said before for security you need to lock the coins at one channel a tank higher than the one you have in there in the next time bottom line is that the coins right now are locked to long in a path and this opens the problem the open some problem in practice like the Griffin attack the main idea here is that the adversary can perform a payment to itself where in order to do that diversity has to lock K plus some fees and the hole in the first hop for that time and times Delta I mean the last one has to lock kick audience for that time yet while doing that he forces n minus two channels to lock coins and also each of those coins are locked by a time which is proportional to the position that they have in the path therefore the bursary has a time amplification of n minus 2 and this in practice is really important because this Delta has been said in the Latin Network right now for one day so if the attacker uses a path of seven hops let's say coins are locked for seven days for a week and obviously the dagger can make this attack worse by having longer path of using several paths for his payment so they all or what we would like to have in practice is called we call it constant collateral the idea is that we would like to have a payment from the sender the receiver where we have to lock coins but for a fixed time it doesn't the time that you need to lock the coins should not depend on the position of the path that you are this will greatly reduce the overall time where the coins are actually locked for the payment this has been shown feasible in a theory based payment and AdWords so they have two incomplete based contract that actually implements this logic and if you are interested the details are in the sprite paper but also in this paper the conjecture that is not possible to have such a functionality in Bitcoin or in other words you can have it you can emulate such a finality in Bitcoin when you need to modify the scripting language and enlarge it with more functionality we have richer scripting language to have such a solution now our work we show that this conjecture doesn't halt by providing protocol which is called atomic multi-channel updates which is fully backward compatible with Bitcoin and this protocol allows to have a synchronization of engine also with construct long time and it's this protocol allows to have are not only multi-hop payments but opens the door for other applications like crowdfunding netting or the channel rebalancing I'm gonna give you a brief overview of how the protocol works and again the details are in the paper so imagine that we have a really simple scenario where Alice wants to pay to cuddle by by a Bob so Alice wants to pay 8 coins out of tanga from that she has with Bob and then Bob will forward seven coins out of the 30 as he has with the first thing is the first phase is called setup and Alice and Bob split their channels in two sub channels one with eight coins that they will use later in our protocol and two coins which are the remaining currency in the channel that they might use later for other payments or all eventualities second phase they lock these coins up to a time Delta this constant lock time to make sure that if something goes wrong in the protocol they can recover those coins afterwards and third which is the main trick or the main point for atomicity number protocol is that Alice and Bob will pay from this eight from this channels with eight coins to two Bob directly but they will do it from a fresh address a 5v5 which has not been funded yet so because this account has not been funded it doesn't exist so it cannot be put at this point in the blockchain here I have shown only the case for am Alice and Bob but you can imagine that Bob and Carol will do the symmetric transactions and at this point to achieve atomicity we have multi-input multi-output transaction in the face for call enable where both of them Alice and Bob and Bob and Carol put together coins to fund the channels that he created in the phase 3 so they first create this unfunded channels to pay to respective receiver they jointly fund those those payment channels at the enter because at some moment after the time Delta both the locking coins and the constant enable become valid there is a race condition so we have to create a disabled transaction but disable the face for transaction and R is only one valid that point this is a technical detail more discussion in the paper and with that I would like to conclude this talk by saying that payment channel networks have been deployed in practice and as a mitigation for the scalability issues in crypto currencies however they still present several challenges here today I show you challenges in terms of security with the war home attack privacy so in the religious anonymity does not hold and collateral which opens problems like the griffon attack we are proposing to traffic protocols and mitigate them and also I'll open the door for new functionality like crowdfunding or netting obviously however there has to be more challenges we are looking at them in other groups as well and we require more solutions for example one of those is to have a nice cannibal and interoperable routing mechanism that allow us to find the paths between the sender and the receiver in the first place with that I would like to thank you for your attention I'm glad to answer any question that you might have okay we have time for one question please go ahead just go to the mic so it seems that Alice needs to interact with every single entity along the chain isn't this revealing information about commercial relationships between the parties with lots of money that's in the information you might not want to reveal so if they were doing naively will be right so Alice will reveal herself to each hoping it will help in the path what they use is an onion packet where Alice and information to each of the nodes Alatorre fritz and they get the information but they don't know where the information comes from okay maybe one final quick questions all these improvements that you're discovering the Lightning Network an interaction with lagging network team the developers like maybe some of them could be implemented like yeah so we interacted with Latin labs and they had this proof of concept that I mentioned in my slides where they check that was actually possible to run the protocol in in their kernel ad network I also have conversation with block stream where we have discuss also the H noir based solution and what is the advantages and disadvantages with respect to they see they say so yeah and they're looking into it obviously it always takes time to implement it correctly and put it in practice okay thanks I think this figure again alright and we're moving out to the second talk of the session it's the marvelous universe of I admit ization oriented primitives and Tom er is giving a talk tomorrow thank you so this is a joint work with up their alley elements a son sim and Ahava and Alan chip in yak and before we begin some background about even a half ago I spoke to elements this one from Stockwell who told me how magnificent magnificent the ZK stock wolf system is and how it is the future of cryptocurrencies but he also told me that they have a bottleneck in the form of not being able to find an efficient hash function for what they need to do and I find that to be surprising because you know as a cryptographer you always hear about lightweight this and lightweight that so amongst all this lightweightness that has to be something that would be efficient for them but then Ali told me that they have a slightly different design goals so what they need is a hash function that is a cue that operates on field elements and that minimizes the number of film applications and I then immediately cried out or a yes because AES is the cue it natively operates on elements in GF 2 to D 8 which is a fancy way to say that it works on bytes it is well understood heavily crypt analyzed and widely accepted but as Ellie pointed out it doesn't minimize the number of field multiplications but it is a good starting point though and that is what we did and I think we all know roughly how the AES was right it has a fall by fall state and each one has four operations starting with an S box then shift rows mix columns and an ADD round key and it's interesting to observe that all the multiplications the dead objects that were trying to get rid of a limited to the sbox so if you want to optimize the sbox is well we should begin the sbox itself consists of two operations first we find the multiplicative inverse of the input the multiplicative inverse is the value that when you multiply it to the input they give you one and that requires in 11 multiplications followed by a final fine polynomial that requires seven multiplications so let's crunch the numbers and see the cost 12s box we need eleven plus seven which are 18 multiplications in each round we call the sbox 16 times so we have 288 multiplications per round and then to evaluate one aes-128 primitive we have ten rounds which are twenty eight hundred and eighty multiplications and that's the number we are optimizing with respect to the first observation is that zero zero knowledge systems like the ones we are considering allow for something called non determinism we call it non procedural computation which is a wider umbrella term because it has analogues in MPC so together it's non procedural computation but one back to zero knowledge what we do is a verification of a computation and not the computation itself so for example if we have a pair of values x1 and y1 and we want to verify that y1 is the multiplicative inverse of X 1 the naive way would be to directly raise X 1 to the power 254 in AES in the field of a yes those are the 11 multiplications I mentioned before but we can also just multiply x1 and y1 and see that the result equals 1 that's what it means to be a multiplicative inverse so one of those requires 11 multiplications the other requires one multiplication I'm gonna let you decide which one is more efficient although one multiplication is not enough we also need to ensure that Zillow goes to zero but in total we have two multiplications instead of 11 so crunching the numbers again we had eight twenty eight hundred and eighty multiplications and now the sbox only requires nine multiplications times 16s boxes per round times ten rounds fourteen hundred and forty multiplications per a es evaluation which are fifty percent of the original cost of the AES so we'll doing well in optimizing let's continue with that we're now optimizing the affine polynomial the purpose of this affine polynomial is to ensure that when the cipher text is read is described as a function of the plaintext and the key the algebraic degree of this function is high enough otherwise certain attacks are possible AES uses an affine polynomial that is good for AES but we realized that if we use particular polynomials such that the exponent is always a power of two we could get a more efficient computation of this polynomial such polynomials are called linearized polynomials so if we take a low degree polynomial we would have a low degree linearize polynomial it would have efficient computation but it would be of low degree what we also realized is that the inverse of such polynomial is not linearized now it is low degree but due to non procedural computation the thing that I've mentioned before we can still evaluate it efficiently so what we did is to take two linearized polynomials of degree fo and we composed one of them with the inverse of the other the resulting polynomial is of high degree it's not linearized which means that it can't be officially efficiently computed but it can be efficiently verified using only four multiplications to form each polynomial so again crunching the numbers we have 900 sorry before we had 14 hundred and 40 multiplications pearl aes-128 evaluation now instead of 9 multiplications the sbox is only 6 multiplications in total give giving us 960 multiplications which are 33 percent of the original cost of AES then our next observation is that the cost of multiplication is independent of the field size that is not the case for traditional ciphers right if you work with a larger field you would you will need a larger chip it will consume more RAM in the Amish on your machine but that's not the case here one more the cost of one multiplication is 1 so what if instead of walking with a 4x4 state we walk with a 1 by 1 state now we don't need shift all the next columns anymore because the purpose of these operations is to mix the field elements of the state in if you have only one field element there's nothing to mix and we can afford 1s box play around giving us a cost instead of 960 only 60 multiplications which are 2 percent of the original cost of aes-128 the last thing guy these are very small numbers so we still need to determine the number of rounds and the usual trick for that in symmetric-key design is to try all the attacks you're familiar with see which one reaches the largest number of rounds then add some safety margin and that's your cipher and we applied the security argument of AES to this design and found out that we need about the same number of rounds so the resulting algorithm is called Jarvis and it's exactly the way I described it the input goes into the multiplicative inverse then through a polynomial that is a composition of two linearized low degree polynomials one directly and the other by in the inverse form and then key injection and that's one round of charges and we put it on a print hoping that third parties would to analyze this and unfortunately they did and a few sometime later a paper was published attacking Jarvis using an attack called global basis now this is ironic because I remember speaking to early before we published our list and he asked me specifically but what about global basis attacks and I said no these never walk on symmetric-key primitives well turns out sometimes they do so back to the drawing board we need to some somehow fix this it turns out that there is a minimum number of multiplications that if you go below that your cipher will be vulnerable to governmental bases attacks another thing we realized is that if instead is that if we have a 1x1 state it's easy to evaluate the cipher but getting the output would be inefficient so we need more field elements and having more field elements in your state solves both problems the natural thing to do would be to go back to an M by M state or maybe an M by n state like in rainbow but we also saw that having an M by one state we can get a faster diffusion than AES now we know this is called the shulk structure but we were at a well of that back then since we now also have more than one field element we somehow need to mix them so when MDS is the natural candidate and we understood that composing the two polynomials isn't as efficient as just alternating between them which is what we did and of course special attention to governor bases attacks this time and the result is vision our algorithm for binary fields and that's how it works it has a vector of state elements each element goes into the multiplicative inverse then the inverse of a fine linearized port sorry low degree linearized polynomial is evaluated everything is mixed with an MDS key injection and then in the second step in the and again multiplicative inverse now the polynomial is evaluated directly MDS and key injection while we were walking on vision we were told that actually some market demand for the same kind of algorithm operating on prime fields so we took the same approach but now linearized low degree polynomials are not available because of the properties of the field and we understood that we have to get the algebraic degree via the nonlinear operation again we're using non procedural computation in raising to the power alpha and in most cases alpha should be free but the high algebraic degree we get from the functional inverse so the cubic root of the value and that's rescue I will design from for prime field well it has the same kind of state one vector of field elements and we start by getting the inverse of the power map so the cubic root if alpha equals 3 then everything is mixed with an MDS key injection raising to the power alpha MDS again and another key injection and this is rescue these two algorithms are secure and very efficient they're very efficient in zero knowledge in MPC and they have an interesting property so M is flexible how many field elements you will have in the state the larger M the less rounds you need so the number of multiplication remain remains roughly the same no matter how wide your field is that's very efficient for fully homomorphic encryption which requires the circuit be shallow and I I was about to invite you to do crypt analysis on this that I also got the permission to break some interesting news sometimes soon it will be announced so starkwell Ellis company hired committee of experts to evaluate the security of all algorithms in this domain including the ones that Dimitri presented yesterday in this committee I was asked to be very specific on this will recommend well we'll say that vision and rescue are the most secure algorithms in this domain when used as hash functions with fields of 128 bit in sponge mode which is the setting that the case talcs walk in so that's something I'm happy to tell you today some housekeeping announcement in the on Monday Roberto Avanza opened the parenthesis and forgot to close it and I feel it in my body so here's the closing parenthesis and this is the team that walked on this paper which you can find on a print thank you very much all right so we have time for one question so there's a lot of efforts also to do similar work in the setting of secure multi-party computation so maybe you would like to draw some connections or point to differences similarities so in our paper we also evaluate these ciphers in a setting of multi-party computation the main idea or the biggest problem is are the high algebraic degree operations so the inverse cubic would but multi-party computation offers masking right you can shift things to the offline phase and then have a fixed cost online phase if you do that this cycles are extremely secure extremely efficient also for multi-party computation I'm also encouraging you to use them in your multi-party computation applications all right ok so let's thank summer all right ok now that will be the last talk of this session detecting money laundering activities via NBC network flow analysis and the talk will be given by Adam target self well we just disappear it's coming back I think ok all right please go ahead since if the last talk I would like to take this opportunity first of all to thank all the organizers for this stimulating event this week so thanks so this talk is about money laundering and I hope that this slide will convince you that money laundering is just much more sophisticated than knowing what what soap you should use to do it so how did it all start it started with this global what's called global laundromat so that that was a money laundering scheme one of the biggest known currently that occurred between 2011 and 2014 and here we are talking about more than 40 billion dollars that were laundered from about 20 different banks in Russia to various accounts as you can see here there are about 5,000 companies involved in the whole in the whole scheme there are more than 700 banks in 96 different countries so that's a really global global money laundering scheme and the idea is that money has flown from across these accounts until they essentially became untraceable so if you look at the statistics then you would see that a huge part of that that amount went to the UK and that was concerning about the financial authorities in the UK and as you can see recently the financial conduct authority of FCA organised a tech sprint 2019 tech sprint a lot of the people who I see in this audience participated at that explain that was in the summer in July and the goal was to design to use privacy enhancing technologies to detect these global money laundering schemes so as you can see in front the company we work for participated together with Goldman Sachs and Standard Chartered in a team called secret computers and won the public's vote our work for that so today I would like to tell you a little bit about the cryptographic solution behind that scheme so as an overview our goal will be to solve this simple problem so they take money laundering groups across globally across multiple banks and before we do that let's let's try to see why this is relevant so clearly in this global laundromat a lot of these banks that were involved were imposed huge fines for not being able to detect these activities not that they didn't want to detect the activities the problem was that it was impossible to detect the activities because they didn't have access to the transaction data coming from the different banks from the other banks in the scheme so they had a very local view localized view of the transaction after the transaction going on to this scheme but they didn't have a global view of that so the other problem was the transaction monitoring was still a highly manual process so it needs automation even on the level of an individual Bank and then most importantly and most relevant for us is cryptographers is the collaboration across different banks so collaboration is hurt due to that data privacy so in this in this talk I would like to just take some time to review what exists in the plain text literature in the plain text algorithms for statistical versus graph based approaches to detecting money laundering schemes and then tell you a little bit about how you could use secure multi-party computation to detect certain relevant money laundering sub structures in graphs of transaction network and at the end I would say a word about how you can make this algorithm practical so if you want to look at the overview of the literature so you have you have different statistical models that could could be used to detect money laundering activities starting from Bayesian models from temporal sequence matching so going into decision trees so ID 3 and C 4 5 those were the early decision tree algorithms and those who are applied with some Chinese data data in China CBR C is the equivalent of FCA in China and these algorithms work relatively well except that they well they worked well as a first attempt but the false positive rates were still quite high so then people started using more sophisticated machine learning techniques like support vector machines so they tested it on certain banking data coming transaction data coming from Chinese banks as well here you can see some data 1.2 million records 5,000 accounts over seven months and that obviously improved a little bit the existing decision tree models and the DM people also used neural network approaches so what I am going to talk about today is a non machine learning approach to that problem so that you can see that we heard a lot of talks about 10 PC and machine learning so here we want to focus on non machine learning approaches and these approaches are actually graph based approaches so what you do typically is as a bank you analyze your transaction data locally you detect some suspicious activity and then you constrict the graph out of this activity and then your goal is to analyze this graph for many laundering groups that's what we are going to do except that we will consider the privacy concerns so let's take a look at a typical banking data that's a very simplified view of a banking data so we have we have a bank and the bank sees certain transactions so this Bank here is called Z Z and you would see three transactions transaction 15 and transaction 2314 if you look at those what's common is that the source ID of the account of the second transaction matches the destination idea of the first transaction moreover what you see is that the amounts are large and the first amount is slightly more than the second amount also if you look at the timestamp you see that the first amount the first transaction was done a little bit before a day before the second transaction so that's suspicious and that the bank Z Z could detect essentially out of its local view of the data so what the bank does is the bank defines certain rule and that's really how banks work so we had an interaction with banks at this this competition and they explained to us exactly how they work so you are seeing that now we have this is kind of pair of matching transactions going from YY to Z Z these are different banks and then money flowing out of this account in Z Z into another after Bank so this Bank sees this kind of lag structure so we call this a leg stretch and there all these rules that are defining what it means for the transaction to be alike so a bank creates all these leg structures and then the idea is what do you do with them obviously this information is not sufficient so you can stack the graph and our graph will be the following so that the vertices will be of the graph will be accounts and then the edges are going to come from leg structures or suspicious transactions so we are going to increase the weight of an edge if so if first of all if a vertex is not marked and we see a leg with the vertex then we add we mark that that that vertex and we add an edge and anytime we see that same transaction from the two accounts we increase by one the edge so basically if you have two accounts among which you have many fraudulent transactions then that edge will have a higher weight so we defined the weight of an edge that's simple and then what's the goal so the goal is that we would like to detect certain structures that are related to money laundering so there are two simple cases that you can see here one of them is money flowing from a source to a destination account with lots of intermediaries in the middle and then you have a second case where money flows from a source to a destination but through various intermediaries in a linear fashion so in the first case you are separating the fans from the source account and they flow in parallel to several of these accounts the question is can you identify these strictures so we have case one and case two and of course there is a mathematical way to quantify how you could you could measure these structures obviously a single bank is not going to be able to see these structures so that's the important point now let's take a really simple example so we take a source and destination in the two ends and then we have two banks a rep and the Green Bank so what you do is you you have money that gets split between the red and the green and then that get that flows into the destination account double so what you observe here is that if these are intermediary nodes in a money laundering scheme first of all the traffic to these nodes is very similar and then the traffic is large because you are talking about large amounts of money so if you if you draw the adjacency matrix matrices of these graphs then the red bank is going to see a matrix that looks like this here so I guess nothing can be detected from that that particular matrix now similarly the Green Bank is going to see that matrix now what do you observe if you put together this information so you put together the information then you are seeing that the two rows corresponding to y and z are correlated are highly correlated so they're similar in this case but in general they they will give a very high correlation so is it possible that we detect this correlation without actually sharing the transactions of the banks and the answer is yes so we can we can use MPC here the basic idea is that we take these to grab views local grab views and then we seek retreat of them across the two two banks and then we let these banks compute now what what is it that the banks have to compute in order to detect these activities so here is what they have two types of scores that you could compute and the first score is called a balanced score so it really is very simple so note is going to be an intermediary node first of all if it has higher than usual traffic treat and second of all if the number of increment result transactions is is similar to the number of outgoing transactions so this score that you see there it's a complicated mathematical formula but what it tells you is that it has two terms one of them detecting the first the first intuition and then the second one is detecting that the intuition so that the top level is a harmonic mean which becomes higher if you have almost equal incoming and outgoing transactions and down there you are measuring the size of the sum of the way it's going through these accounts so that's that's one possibility and then the other one which is even more interesting for our application is something called structural similarity so here what you do is you are going to essentially quantify the by by using similar if your correlation between two vertices so you're going to quantify what it means that the incoming transactions are equal to the outgoing transactions so that's exactly what you do by again considering something similar to a geometric mean it might be geometrically so here's what you do the plaintext is version now of the algorithm is very simple so you compute these similarities on the graph and then you test whether some of the some of these correlations are higher than a threshold so that's what people would do in plain text and then you determine sets of dense pairs and then after a standard clustering algorithm you are detecting you are detecting ML groups so of course this requires a lot of operations as you can see inversions and square roots that makes it that makes the computation highly inefficient so what you do is we propose an NPC version that only uses a certain small set of operations so what we do is we compute the numerators and the denominators and then we test essentially inequalities without inverting and without square roots so we are going to square and and not not not having to compute square roots and to essentially do the same so that's a that's a that's a very similar application and so now we are going to need these three operations additions multiplications and what we call oblivious comparisons so we are not allowed to expose these these correlations yet so that's why we need to play these comparisons so how do we do that we do this with some app in first technology that we developed so it's a secret computing multi-party computation algorithm it works with real numbers that represent it as integers modulo a large power of two it's suitable for arithmetic circuits and it's not very suitable for inversions and I would say advanced linear algebra so the security model is what we call the full tree shot with offline and online face and trusted dealer or honest but curious dealer and it can potentially be improved later on with verifiability into using techniques like oblivious transfer or cutting choose techniques in multi-party computation so that's on a very high level what's important is that you have this oblivious comparison algorithm and that what as an input you take two numbers that are L bit numbers and that are Secretariat and as an output you get the secret sheer predicate after of the comparison so there are two algorithms there is a naive and there is a divide and conquer algorithm and the naive has the advantage that sometimes it's faster if he has less communication but the divide-and-conquer has less rounds of communication so for certain ranges the divide and conquer is the better algorithm that we use so I won't say much more about this I'd rather give you some real data to see what kind of sizes we are talking about so in the tech spring competition we get we got data coming out of three thousand three hundred and thirty thousand accounts and about 1.5 billion transactions so that's a giant graph as you can imagine so you can't handle it you have to do something else so then then about 300k of these transactions were allotted and then some of them were reported as suspicious activity report and then some of these accounts have just just blacklisted by the banks at the end so here's the idea of how to make it practical so of course we can't talk about adjacency matrices that are 300,000 by 300,000 so what you do is you use a data structure similar to a bloom filter you're going to choose several hash functions that are going to hedge the number of accounts into a very much smaller set so let's say you would catch it into a set of size a thousand and then you are going to basically compress your graph using these hash functions and construct the traps on the output of these hash functions so then then you essentially test test similarity for each of these hash functions independently and using that you could you could conclude that that two accounts are going to be similar so that of course case a probabilities for false positives which we have to calculate precisely that's an open ongoing project but in practice that works quite quite well so some estimates and the complexities so the beaver multiplications here that that are used for the multiplications in the computer complication of the similarities you can see a very large dimension so we can see there are large vectors and and correlations that are computed so this is all this all can be made practical that's the that's the final point oblivious comparisons we can make about 1 million comparisons of ltb are 50 bit numbers in less than two seconds and about the hundred million comparisons of the same size for less than eight minutes so you could you could definitely do these computations in in reasonable time and now in summary what we got so just to summarize so we have provided a graph based approach to allow interbank collaboration on analyzing transaction data so we have kept MPC from the algorithm to compute structural similarities oblivious comparisons to detect dense pairs of account and using standard clustering algorithms to detect the structures that we are interested in so as open questions of course the one of the main mathematical open questions here is understanding this data structure that's behind so understanding the probabilities of false positives which even in the case of bloom filters is a non-trivial problem them also enable verifiability via more sophisticated cryptographic techniques to allow different security models so I would like to thank you here also this is the team to work on that and inter-site alright so we do have time for questions for Demeter so please walk to the mic hello thank you given that banks such as HSBC were involved in money laundering themselves to what extent are your techniques resilient against the bank itself conducting money laundering operations so if a bank itself conducts a money-laundering that's a different question so the the the Assumption here in the text print competition was that banks get fined for not being able to detect properly money laundering activities in general if a bank is malicious you obviously can't use it in the graph analysis so we have to use banks that are kind of motivated by the same goal which is it's game theoretic win-win situations so the bank's want to collaborate they don't want to share the transaction data they want to be able to detect vml activities a new trust goldman sachs so well goldman sachs were interested in not being able to detect activities because they would get so if you look at this global scheme just as a matter of fact they were banks in in latvia and moldova that were actually revoked licenses so these banks no longer existed after this it's a like multi-billion dollar scheme understood thank you I wanted to ask you about the numbers you had how many parties were involved in the computation where were they located how what was how did you benchmark how did you get the numbers you have in the slides so how did they get the numbers of the number of banks that are involved in the inter computations the timings that means you have on this line all the payments in the slides so you mean here okay so I should have said that yeah I should have said that that that's for two in three parties that's a small number of practice in this complexity analysis coming before you have the number of practice appearing in the complexity so so and that that can obviously be improved in the future with that with better techniques but change the number of parties okay with those comparisons think so so it depends what about it hey thanks for the talk I wonder if you have to do some sort of fuzzy matching when it comes to for example name matching for example when it comes to match names or addresses or those inputs that are you know fuzzy in nature so I see so here here we are we have not looked at that I think there are some people who were discussing that during the competition we ourselves we have not looked our assumption was all weeks that essentially the account she has a very specific identifier and and then you you use that I think I think they are there is some research that might be even going on now on that I'm not sure exactly about who is doing that but I have heard about fuzzy matching can money laundering because one of the challenges were going to determine if a person is on the sanction list is actually to do it in a fuzzy matching exactly exactly I think I have seen papers on that so I have seen papers on that in the literature thanks.thanks to talk do you have any insights on what happens as money launderers sort of evolved to avoid the detection techniques so for example you have that diamond just flow and of course the obvious thing is okay route it through to intermediate banks yes yes before rather rather than to so like what what changes that's an excellent question so so we are motivated by by by that so so here this is the very basic step that you detect so you're not detecting call possible structures of money laundering with that yeah so you're at least you're having some measures for what what it means for an out to be a intermediary note but in fact currently I'm even involved in some some projects that are that are non MPC related that are using other techniques other secret sharing techniques to detect such such structures that are more complicated that you have two cops instead of just the flow analysis you're talking about handle clusters of nodes that act like one node that is definitely doing money laundering but individually none of the nodes look suspicious individually none of the nodes look suspicious and individually these nodes their accounts at a particular bank so from the point of view of the bank that doesn't look suspicious so your scarified I mean like suppose you have two nodes that are collectively operating like a middleman doing laundering yes but the individual transactions don't follow the leg structure that you're talking about only when you look at them combined to the leg structures appear can you handle that in this current with this technique you will be able to handle that you you may have to modify a bit your local rules that you apply at each Bank as you see this this kind of algorithm is very specific to the local rules that are applied at each Bank we learn these rules just by talking to banks so essentially we learned about what they are using nowadays and that doesn't mean that they cannot in cancer like improve these books thanks for welcome thanks for Otago is pre interesting I'm wondering you sort of seem to have very ad hoc clustering and there they have a complicated mathematical structure for it for so you have to do a lot of operations yes I'm wondering if you did a spectral method then you just need to compute the eigenvectors and eigenvalues of this matrix and that you can that the main method is multiplication and the banks can even keep the keeps matrix secret and just have shares of the vector and and the main thing is linear yes so that that is that is a very good question we have not tried to apply spectral methods so typically spectral methods they're useful for clustering algorithms so we have not been a we have not tried to that doesn't mean that you can't I think you you you probably can can be able to use even MPC to do to deduce some information so currently our algorithms were just based on these structural similarities but spectral metals are definitely helpful so that's a that's a that's an area to exploit in the future Thanks okay so let's sing ginger again all right and this brings us to the end of the technical program so I'd like us to give a big round of applause to all the speakers and the 36 sponsors that with without their contribution which have been impossible like to run real world Krypton and now the final point I would like a roaring round of applause for Tamil written part the general chair this year thanks very much it's actually quite a pleasure to help organizes events where my favorite events for the year just a few announcements and I'll let you go to happy hours and their Friday afternoon activities so next year real-world crypto will be in Amsterdam so Amsterdam 2021 the year after that we'll be moving to Tokyo for real Road crypto 2022 and after that we're soliciting proposals for locations so if you have a location in mind that you'd like RWC to come to then you should reach out to one of the steering committee members and get some info about how to proceed we sent out a survey to the attendees it's very short it shouldn't take much time but it's really valuable to get feedback from all of you about what we're doing well obviously but also more valuable to get some feedback on what we're not doing well and we really take this to heart to try to make sure that this is serving all of you super well another way to get involved in community you are all now members of the IAC are the International Association of Cryptologic research and that means you'll be eligible to vote in future elections for the leadership for our nonprofit organization that runs cryptographic you know academic cryptographic research conferences and other activities so be on the lookout for for that finally just a few more thanks also thanking the sponsors that we have been putting up here really helps make sure that we can run this and keep it cheap and accessible for people to attend so thank you to them and then particularly had a special recognition that a person one of our 2019 Levchin Award winners Eric where's Cora personally made a donation to support particularly students for women and other underrepresented minorities be able to attend so I think we should give Erika a big round of applause and then finally I think we should thank especially the specifically the Columbia University data science Institute who helped facilitate and host us here at a beautiful venue at Columbia University the student volunteers who sat out in the very cold lobby to make sure that there are people available to answer questions and deal with any issues that came up and then the Columbia event staff who I think did a phenomenal job of running a very large conference and making sure things ran smoothly so let's give all of them a big round of applause and that's it so have safe travels and we'll see you in Amsterdam in 2021 thank you