221 karma · joined January 23, 2014
Sort of. Different apps may use different finite fields. The math should be the same as long as you’re computing everything modulo the same integer. It is also possible that some apps may encode shares differently. For example, I’ve seen some apps base64-encode each share where others keep them as integers.
A more concerning gotcha is that this scheme doesn’t produce verified shares (i.e., shares lack integrity). An adversarial or forgetful share holder can submit a bad share and within this scheme, you’d have no way of being able to prove that they did this. All any of the participants would know is that the resulting secret is wrong, whatever that means for the application (e.g., the AES key doesn’t successfully decrypt a ciphertext).
That area of the codebase is far from complete, which is why it is considered experimental and hidden behind a flag that you have to manually enable.
Unless the original author also introduced the bug, I don't think it's fair to blame the original contract.
I recently wrote a tool to help find bugs like this:
https://ericrafaloff.com/introducing-the-solidity-function-p...
https://ericrafaloff.com/introducing-the-solidity-function-p...
- https://ericrafaloff.com/parity-multi-sig-contract-vulnerabi...
- https://ericrafaloff.com/analyzing-the-erc20-short-address-a...
I think at least a big part of the solution to these security problems is two-fold:
- More secure conventions. All of the gotchas in Solidity make for a bad time. Even non-security bugs create a bad developer experience. Opting into private functions by default
- More code review. Engineers need to be diligent or hire security professionals who are (I'm one).
If this makes zero sense to you, this kind of stuff is happening because there is such an excess of Ether in the market. Some of it is managed by real investors, as cryptocurrency has become a popular part of a balanced portfolio. Some of it is managed by young non-investors that threw money into ETH or BTC a few years ago.
It's pretty ridiculous IMO. But that isn't stopping it from happening. People have already made an unthinkable amount of money.
I would hope the economy eventually matures, and I too worry about a bubble because of some of the extremely high expectations people have. The "hodl" and "to the moon" mentality that is popular will have some refusing to cash out of their investments until it's too late.
Most don't understand the technology as well. I've spoken with investors who claim to be "all in" on Ethereum but can't tell you what the Ethereum Foundation is or how proof of stake works. As an investor, I would hope to have a strong understanding of where the future of my investment is headed. Not the case for many.
We're seeing some pretty interesting stuff going on. I wasn't in tech during the dot com bubble, but I've been told by others that were that this kind of mania seems very familiar.
How do you determine what coins have been through a mixer? By looking at tx inputs and going back all the way to when those coins were mined into existence? What if an innocent wallet happens to receive "dirty" coins even when the wallet holder themselves has done nothing wrong? Who would be in the charge of enforcing this? The network? The exchanges? If this is done at the exchange-level, what's stopping someone from simply cashing out via Amazon gift cards or the like through a non-traditional exchange service?
The list goes on. This is not a simple problem. I personally don't believe private or public regulation is the answer.
https://ericrafaloff.com/google-account-security-and-number-...
Has this been audited in any way? Is there a garuntee that the Go runtime won't, say, keep a duplicate of the buffer you copy() from in memory somewhere that can be paged?
Additionally, a technical description of how this works in the README would be nice for those that aren't familiar with how the memory gets locked.
Neat project. Curious to see how this develops.
There are a couple of exceptions, of course. OSCP is a good certificate to have. To pass the exam, you are required to not only demonstrate proficiency in several areas (i.e SQL injection, buffer overflows), but you must also write and submit a technical report to a review team. The technical report must address vulnerability overview, impact, risk rating, reproduction steps, and more. Of course the exam isn't perfect, but it's probably the biggest test of real technical understanding and ability I've ever seen.
It's unusual and it's opinionated, but it works.
Just a bit more transparency on the situation.
What happened? Whatever it is, I'm glad they were able to mitigate the attacks.
From my experience, unless a change in a Google product degrades functionality for a large portion of end users they aren't going to publicly acknowledge it. They don't seem to have the same policies regarding transparency that other companies like FetLife do (we acknowledge when we mess up and break stuff!).
When ReCAPTCHA went down last year I looked and could not find any acknowledgement of the issue from a Google employee. This was while FetLife and other large websites tweeted about it and posted in Google's product forum. All we had to go with was speculation and helping each other out with recommendations for temporary solutions.
Likewise, this change in Gmail may never be officially acknowledged. It may be related to the arrival of Google's new Inbox product or it may be related to some sort of spam filtering they deployed into production. It doesn't appear to be specific to adult websites. Other large community websites are affected too. The result is that affected websites using plain text emails are now forced to switch over to HTML-based email. I could see a conspiracy theory in there about Google pushing HTML-based email for a nicer looking Gmail/Inbox experience. No matter what, I think it's very unlikely we'll ever know what change caused this or why.