Is it possible to reverse engineer quantum computer? Case: I give you a "live" box with quantum signals going through it (while performing calculations) and which contains quantum logic gates. You don't know exact internal structure of box, but you're allowed to use whatever tech tool to analyse and elaborate it (including open the box and "look" in whatever way you prefer to). 
Questions:


*

*Is there a way to reverse engineer the box, i.e. to provide what is going inside it:
1a. what logic gates it's comprised of?
1b. what data has been passed (bits pattern) from time t1 till t2 through its certain segment?

*Is it a must to "shut off" the box (in advance or in the middle) to answer on 1a or 1b?

*What are exact steps "to solve" if answer on q1 is "Yes"?

*If there is a difference (to answer or to step on) between questions (regarding reverse engineering gates vs reverse engineering data) above - please split your answer accordingly.
P.S. I did't want to ask as separated questions since all sections are strongly co-related each other. 
P.S. 2: If there are differences from implementation point of view (spin of electrons or entanglement of photons) - please split your answer as well respectively to each scenario.
Thanks :)
 A: Suppose you have a black box, which takes an arbitrary pure quantum state as input, and returns a new pure quantum state. This is not an unreasonable definition of a quantum computer for our purposes. This black box can be expressed as a unitary matrix.
If our goal is to determine what that unitary operation is, then we are interested in performing what is called quantum process tomography. This is a very well studied field of quantum information, and it is understood how to do this theoretically. The way it works is by preparing known input states, passing them through the black box, and then doing quantum state tomography on the outputs. Quantum state tomography is where you take many copies of a state and make different measurements until you have sufficient measurements to know what the state is. Once we know a sufficient number of input output combinations, then we can deduce what the black box is doing. However, as the size of your input states becomes large, the number of times you have to use the black box to determine what the unitary operation is will grow far too rapidly to be practical. Note that this does not allow you to know precisely how the quantum computer is constructed, but just what it does.
I think this answers question 1a, question 2, and question 3 in one interpretation of the question.
Question 1b is ill posed. The problem is that if a quantum computer is operating properly, then the question of what data (that is, classical information) is passing through which gates at which time, does not have a definite answer. If it did have a definite answer, then it would no longer be a quantum computer, and might instead be some kind of classical computer.
Finally, if you wish to know how the black box is constructed, you will have to crack it open and look at its guts. There's no way to tell what is going on inside just by looking at the inputs and outputs. That is the definition of a black box.
A: To be honest, I think that the question is rather pointless at the moment. The reason is that we don't even have a quantum computer yet.
Consider a classical computer: If you only know the outcome of the computer and the problem you feed into it, and if you know classical algorithms, you can (try to) cook up an algorithm that does the same. Naturally, the algorithm might be different in many ways from what is really going on, because there are many ways to do the same computation. If you don't know what the algorithm is supposed to do (e.g. cryptography), your result will probably only poorly immitate the box unless you know what happens with all possible inputs. You can compare computation times between implementations to see whether your reverse-engineered algorithm behaves similarly in that respect, you can use general patterns of human programming to argue that the algorithm will probably be similar, but none of this will actually tell you whether you reverse-engineered the same algorithm as the one in the box. The same will be true with quantum computation using quantum state and process tomography.
If you really want to know more about what's going on in the classical computer/box, you need to have more information. For instance, you need to plug in an oscilloscope and measure electricity at different points of the computation, etc. Or you need to know which language and library the code was written in and which compiler was used. If you want to truly reverse engineer the program, you need to understand in detail how the computer/the box works.
At this point, we run into a problem: Since there is no quantum computer, we can't know how it works. We have no idea which of the many paradigms it will ultimately be based on (e.g.: will there even be gates?), so we also don't know how to get more information out. Clearly, it'll be by doing measurements somewhere inside the box (some form of quantum process tomography) and clearly it'll be a bit harder because of the probabilistic nature of the device, but I doubt you can say more.
