Bitcoin Forum
April 28, 2024, 03:27:01 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Development & Technical Discussion / Deep understanding for Bitcoin on: May 12, 2022, 03:05:47 PM
Hi to all i'm new here and i'm tring to learn how Bitcoin and other cryptocurrecies works. I started to understand the base of how it work by searching on Google. After that i decided to go more deep for learn how the code work (i'm a developer) and i downloaded the current version of Bitcoin. It was incomprehensible for me beacuse it's written in C++ and i don't know that language but with after a little bit i started to understand how it work, the communication, the mining, the math behind ecc...
Now i think i have a pretty good base but the things to remember started to be a lot. So i decided to write them in a scheme for visualize it and have all the pieces togheter. After a little bit of work i made a Chart with all the informations that i know, the things that i need to go a little bit more deep and the things that i don't understand well.
So i decided to come here for get help to complete it and maybe this could be helpful for new people that want to understand how cryptos works.

The chart is this:
(This is the code generated by draw.io, you just need to copy it, put it in a .XML file, open draw.io and import it. Unfortunetly i can't attach file to this post. I think i can create a file and share it here for work all on the same file. I will try)

SOMETIMES I WILL POST HERE THE NEW CODE WITH THE NEW UPDATES

Be free to edit it as you want.

My legenda:
Red = Things that i need to understand better
Orange = Notes
Yellow = Todo things (study better, find more things online)
() = Example, now is a really simple example but i want to put some working informations for check if what i understand it's right, so it's a try with real values)

Thanks to all for your help


Code:
<?xml version="1.0" encoding="UTF-8"?>
<mxfile host="app.diagrams.net" modified="2022-05-12T14:55:43.701Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36" etag="6UIRw_U5Pu0viv0x1a0o" version="18.0.3" type="device">
  <diagram id="4KwzXGMXcMT0csuQZ-j6" name="Page-1">
    <mxGraphModel dx="237" dy="122" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="jJR8IX2gqd7flar8r1S0-62" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;gradientColor=none;" parent="1" vertex="1">
          <mxGeometry y="40" width="2480" height="3500" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-57" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="jJR8IX2gqd7flar8r1S0-45" target="jJR8IX2gqd7flar8r1S0-22" edge="1">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="260" y="2000" />
              <mxPoint x="939" y="2000" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-58" value="" style="group" parent="1" vertex="1" connectable="0">
          <mxGeometry x="320" y="390" width="2120" height="860" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-17" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" parent="jJR8IX2gqd7flar8r1S0-58" vertex="1">
          <mxGeometry width="2119.9999999999995" height="859.9999999999998" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-5" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="jJR8IX2gqd7flar8r1S0-58" vertex="1">
          <mxGeometry x="103.41999999999999" y="177.05882352941174" width="976.5799999999999" height="632.3529411764705" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-6" value="Block (blk000.dat)" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="jJR8IX2gqd7flar8r1S0-58" vertex="1">
          <mxGeometry x="436.5854975310489" y="202.35294117647055" width="310.24390243902434" height="50.58823529411764" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-7" value="Previous Block Hash (0)" style="rounded=1;whiteSpace=wrap;html=1;" parent="jJR8IX2gqd7flar8r1S0-58" vertex="1">
          <mxGeometry x="103.41999999999999" y="278.235294117647" width="976.5799999999999" height="101.17647058823528" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-9" value="Creation DateTime (2022.05.12 8:00:00)" style="rounded=1;whiteSpace=wrap;html=1;" parent="jJR8IX2gqd7flar8r1S0-58" vertex="1">
          <mxGeometry x="103.41999999999999" y="379.41176470588226" width="976.5799999999999" height="101.17647058823528" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-10" value="Current Block Hash (1)" style="rounded=1;whiteSpace=wrap;html=1;" parent="jJR8IX2gqd7flar8r1S0-58" vertex="1">
          <mxGeometry x="103.41999999999999" y="480.58823529411757" width="976.5799999999999" height="101.17647058823528" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-11" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="jJR8IX2gqd7flar8r1S0-58" vertex="1">
          <mxGeometry x="1344.390243902439" y="177.05882352941174" width="723.9024390243902" height="632.3529411764705" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-12" value="Previous Block Hash (1)" style="rounded=1;whiteSpace=wrap;html=1;" parent="jJR8IX2gqd7flar8r1S0-58" vertex="1">
          <mxGeometry x="1344.390243902439" y="278.235294117647" width="723.9024390243902" height="101.17647058823528" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="jJR8IX2gqd7flar8r1S0-58" source="jJR8IX2gqd7flar8r1S0-10" target="jJR8IX2gqd7flar8r1S0-12" edge="1">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-13" value="Creation DateTime (2022.05.12 8:10:0)" style="rounded=1;whiteSpace=wrap;html=1;" parent="jJR8IX2gqd7flar8r1S0-58" vertex="1">
          <mxGeometry x="1344.390243902439" y="379.41176470588226" width="723.9024390243902" height="101.17647058823528" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-14" value="Current Block Hash (2)" style="rounded=1;whiteSpace=wrap;html=1;" parent="jJR8IX2gqd7flar8r1S0-58" vertex="1">
          <mxGeometry x="1344.390243902439" y="480.58823529411757" width="723.9024390243902" height="101.17647058823528" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-15" value="Block (blk001.dat)" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="jJR8IX2gqd7flar8r1S0-58" vertex="1">
          <mxGeometry x="1525.3658536585365" y="202.35294117647055" width="361.9512195121951" height="50.58823529411764" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-19" value="&lt;font style=&quot;font-size: 18px&quot;&gt;BlockChain&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="jJR8IX2gqd7flar8r1S0-58" vertex="1">
          <mxGeometry x="1099.993170731707" y="12.64705882352941" width="258.53658536585357" height="88.52941176470587" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-41" value="Merkle tree Tx (Transactions : 0)" style="rounded=1;whiteSpace=wrap;html=1;" parent="jJR8IX2gqd7flar8r1S0-58" vertex="1">
          <mxGeometry x="103.41999999999999" y="682.9411764705882" width="976.5799999999999" height="101.17647058823528" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-43" value="Nonce (1234)" style="rounded=1;whiteSpace=wrap;html=1;" parent="jJR8IX2gqd7flar8r1S0-58" vertex="1">
          <mxGeometry x="103.41999999999999" y="581.7647058823528" width="976.5799999999999" height="101.17647058823528" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-66" value="Merkle tree Tx (Transactions : 4)" style="rounded=1;whiteSpace=wrap;html=1;" parent="jJR8IX2gqd7flar8r1S0-58" vertex="1">
          <mxGeometry x="1344.390243902439" y="682.9411764705882" width="723.9024390243902" height="101.17647058823528" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-67" value="Nonce (9876)" style="rounded=1;whiteSpace=wrap;html=1;" parent="jJR8IX2gqd7flar8r1S0-58" vertex="1">
          <mxGeometry x="1344.390243902439" y="581.7647058823528" width="723.9024390243902" height="101.17647058823528" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-20" value="This is stored in HDD as single files" style="text;html=1;strokeColor=#d79b00;fillColor=#ffe6cc;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="jJR8IX2gqd7flar8r1S0-58">
          <mxGeometry x="99.99999999999999" y="101.17647058823528" width="419.9999999999999" height="75.88235294117645" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-64" value="This is the first Block so is the genesis block" style="text;html=1;strokeColor=#d79b00;fillColor=#ffe6cc;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="jJR8IX2gqd7flar8r1S0-58">
          <mxGeometry x="519.9999999999999" y="101.17647058823528" width="419.9999999999999" height="75.88235294117645" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-79" value="How the mining difficulty is calculted? I know it&#39;s by an algoritm but which?" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="jJR8IX2gqd7flar8r1S0-58">
          <mxGeometry x="1480" width="307" height="60" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-80" value="How the mining difficulty is calculted? I know it&#39;s by an algoritm but which?" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="jJR8IX2gqd7flar8r1S0-58">
          <mxGeometry x="1787" width="333" height="60" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-86" value="How the hash of the block is calculated? (In my code sample i just created a long string like:&amp;nbsp;&lt;br&gt;PrevousBlockHash CreationDateTime TransactionHash Nonce&lt;br&gt;How Bitcoin put this information togheter?" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="jJR8IX2gqd7flar8r1S0-58">
          <mxGeometry x="1480" y="60" width="640" height="60" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-59" value="" style="group" parent="1" vertex="1" connectable="0">
          <mxGeometry x="680" y="1300" width="1760" height="830" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-67" value="" style="group" vertex="1" connectable="0" parent="jJR8IX2gqd7flar8r1S0-59">
          <mxGeometry width="1760" height="830.0000000000001" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-20" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;gradientColor=none;" parent="w7sy7rOh6mnJ606th1zS-67" vertex="1">
          <mxGeometry width="1760" height="830.0000000000001" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-21" value="Merkle Tree Transactions" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="w7sy7rOh6mnJ606th1zS-67" vertex="1">
          <mxGeometry x="640.5882352941176" y="41.5" width="478.82352941176464" height="41.5" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-22" value="TX1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=default;gradientColor=none;" parent="w7sy7rOh6mnJ606th1zS-67" vertex="1">
          <mxGeometry x="103.52941176470587" y="664" width="310.5882352941176" height="83" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-23" value="TX2" style="rounded=1;whiteSpace=wrap;html=1;fillColor=default;gradientColor=none;" parent="w7sy7rOh6mnJ606th1zS-67" vertex="1">
          <mxGeometry x="517.6470588235293" y="664" width="310.5882352941176" height="83" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-24" value="TX3" style="rounded=1;whiteSpace=wrap;html=1;fillColor=default;gradientColor=none;" parent="w7sy7rOh6mnJ606th1zS-67" vertex="1">
          <mxGeometry x="931.7647058823528" y="664" width="310.5882352941176" height="83" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-25" value="TX3" style="rounded=1;whiteSpace=wrap;html=1;fillColor=default;gradientColor=none;" parent="w7sy7rOh6mnJ606th1zS-67" vertex="1">
          <mxGeometry x="1345.8823529411761" y="664" width="310.5882352941176" height="83" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-26" value="HASH_TX1TX2" style="rounded=1;whiteSpace=wrap;html=1;fillColor=default;gradientColor=none;" parent="w7sy7rOh6mnJ606th1zS-67" vertex="1">
          <mxGeometry x="310.5882352941176" y="415.00000000000006" width="310.5882352941176" height="83" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-30" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="w7sy7rOh6mnJ606th1zS-67" source="jJR8IX2gqd7flar8r1S0-22" target="jJR8IX2gqd7flar8r1S0-26" edge="1">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-35" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="w7sy7rOh6mnJ606th1zS-67" source="jJR8IX2gqd7flar8r1S0-23" target="jJR8IX2gqd7flar8r1S0-26" edge="1">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-32" value="HASH_TX1TX2" style="rounded=1;whiteSpace=wrap;html=1;fillColor=default;gradientColor=none;" parent="w7sy7rOh6mnJ606th1zS-67" vertex="1">
          <mxGeometry x="1138.8235294117646" y="415.00000000000006" width="310.5882352941176" height="83" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="w7sy7rOh6mnJ606th1zS-67" source="jJR8IX2gqd7flar8r1S0-24" target="jJR8IX2gqd7flar8r1S0-32" edge="1">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="w7sy7rOh6mnJ606th1zS-67" source="jJR8IX2gqd7flar8r1S0-25" target="jJR8IX2gqd7flar8r1S0-32" edge="1">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-36" value="HASH_TX1TX2TX3TX4" style="rounded=1;whiteSpace=wrap;html=1;fillColor=default;gradientColor=none;" parent="w7sy7rOh6mnJ606th1zS-67" vertex="1">
          <mxGeometry x="621.1764705882352" y="166" width="517.6470588235293" height="83" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-37" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="w7sy7rOh6mnJ606th1zS-67" source="jJR8IX2gqd7flar8r1S0-26" target="jJR8IX2gqd7flar8r1S0-36" edge="1">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-38" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="w7sy7rOh6mnJ606th1zS-67" source="jJR8IX2gqd7flar8r1S0-32" target="jJR8IX2gqd7flar8r1S0-36" edge="1">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-19" value="How i&amp;nbsp; can get the wallet balance from here?" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="w7sy7rOh6mnJ606th1zS-67">
          <mxGeometry width="160" height="60" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-78" value="How they are hashed togheter?" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="w7sy7rOh6mnJ606th1zS-67">
          <mxGeometry x="365.88" y="580" width="200" height="40" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-63" value="&lt;font style=&quot;font-size: 24px&quot;&gt;Peer Machine (Local)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="397.5" y="60" width="285" height="20" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-1" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="20" y="110" width="770" height="110" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-2" value="Wallet" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="100" y="110" width="40" height="20" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-3" value="Private Key (Sha???)" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="20" y="130" width="200" height="90" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-4" value="Public Key (Sha???)" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="220" y="130" width="200" height="90" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-68" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;gradientColor=none;" parent="1" vertex="1">
          <mxGeometry x="2850" y="40" width="1080" height="2620" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-69" value="&lt;font style=&quot;font-size: 24px&quot;&gt;Peer Machine (Remote)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="3295" y="60" width="284" height="20" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-72" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" parent="1" vertex="1">
          <mxGeometry x="2889" y="90" width="1001" height="840" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-84" value="&lt;font style=&quot;font-size: 18px&quot;&gt;BlockChain&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="3249" y="110" width="100" height="35" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-70" value="" style="shape=flexArrow;endArrow=classic;html=1;exitX=1;exitY=0;exitDx=0;exitDy=0;entryX=-0.001;entryY=0.565;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=1;startSize=6;strokeColor=default;width=20;startWidth=20;" parent="1" source="jJR8IX2gqd7flar8r1S0-14" target="jJR8IX2gqd7flar8r1S0-72" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="730" y="160" as="sourcePoint" />
            <mxPoint x="1240" y="160" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-90" value="Send New Block (using IRC or RPC)" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="jJR8IX2gqd7flar8r1S0-70" vertex="1" connectable="0">
          <mxGeometry x="0.1036" y="2" relative="1" as="geometry">
            <mxPoint x="52" y="3" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-15" value="When this will be added and how it choice which from the unconfirmed transaction list?" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
          <mxGeometry x="80" y="2020" width="160" height="60" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-21" value="This is a folder that contains all the Blocks and managed using a Database" style="text;html=1;strokeColor=#d79b00;fillColor=#ffe6cc;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
          <mxGeometry x="790" y="360" width="427.5" height="30" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-22" value="I think this have a lot more informations" style="text;html=1;strokeColor=#d6b656;fillColor=#fff2cc;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
          <mxGeometry x="20" y="80" width="200" height="30" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="w7sy7rOh6mnJ606th1zS-23" target="jJR8IX2gqd7flar8r1S0-51">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1960" y="2210" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="w7sy7rOh6mnJ606th1zS-25" target="jJR8IX2gqd7flar8r1S0-55">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1069" y="2350" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-41" value="I need to get every transaction to me and use it here or not?" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
          <mxGeometry x="1780" y="2610" width="160" height="60" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-42" value="This 2 are generated using the ECDSA algorithm starting from a random unique value" style="text;html=1;strokeColor=#d79b00;fillColor=#ffe6cc;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
          <mxGeometry x="20" y="220" width="410" height="80" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-65" value="How this peer will remove the transaction in the received block from his UTXO list?" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
          <mxGeometry x="2690" y="470" width="160" height="60" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-66" value="How this peer will confirm the received block?" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
          <mxGeometry x="2690" y="410" width="160" height="60" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-71" value="" style="group" vertex="1" connectable="0" parent="1">
          <mxGeometry x="80" y="2080" width="360" height="460" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-44" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=default;gradientColor=none;" parent="w7sy7rOh6mnJ606th1zS-71" vertex="1">
          <mxGeometry width="360" height="460" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-69" value="" style="group" vertex="1" connectable="0" parent="w7sy7rOh6mnJ606th1zS-71">
          <mxGeometry width="360" height="460" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-45" value="Transaction" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="w7sy7rOh6mnJ606th1zS-69" vertex="1">
          <mxGeometry x="145" y="5" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-49" value="Input1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=default;gradientColor=none;" parent="w7sy7rOh6mnJ606th1zS-69" vertex="1">
          <mxGeometry y="90" width="120" height="80" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-50" value="Input2" style="rounded=1;whiteSpace=wrap;html=1;fillColor=default;gradientColor=none;" parent="w7sy7rOh6mnJ606th1zS-69" vertex="1">
          <mxGeometry x="120" y="90" width="120" height="80" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-51" value="Input3" style="rounded=1;whiteSpace=wrap;html=1;fillColor=default;gradientColor=none;" parent="w7sy7rOh6mnJ606th1zS-69" vertex="1">
          <mxGeometry x="240" y="90" width="120" height="80" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-54" value="OutPut1 (Payment)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=default;gradientColor=none;" parent="w7sy7rOh6mnJ606th1zS-69" vertex="1">
          <mxGeometry y="230" width="180" height="80" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-55" value="OutPut2 (Return)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=default;gradientColor=none;" parent="w7sy7rOh6mnJ606th1zS-69" vertex="1">
          <mxGeometry x="180" y="230" width="180" height="80" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-8" value="Input Count" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="w7sy7rOh6mnJ606th1zS-69">
          <mxGeometry y="30" width="360" height="40" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-9" value="Output Count" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="w7sy7rOh6mnJ606th1zS-69">
          <mxGeometry y="170" width="360" height="40" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-12" value="Version" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="w7sy7rOh6mnJ606th1zS-69">
          <mxGeometry y="310" width="360" height="40" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-13" value="Locktime" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="w7sy7rOh6mnJ606th1zS-69">
          <mxGeometry y="350" width="360" height="40" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-14" value="Source:&amp;nbsp;&lt;br&gt;https://www.oreilly.com/library/view/mastering-bitcoin/9781491902639/ch05.html" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="w7sy7rOh6mnJ606th1zS-69">
          <mxGeometry y="400" width="360" height="50" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-72" value="" style="group" vertex="1" connectable="0" parent="1">
          <mxGeometry x="827" y="2793" width="237.5" height="260" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-25" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="w7sy7rOh6mnJ606th1zS-72">
          <mxGeometry width="237.5" height="260" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-26" value="TxOutput" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="w7sy7rOh6mnJ606th1zS-72">
          <mxGeometry x="90" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-29" value="Amount" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="w7sy7rOh6mnJ606th1zS-72">
          <mxGeometry y="31" width="237.5" height="50" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-31" value="Locking-Script" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="w7sy7rOh6mnJ606th1zS-72">
          <mxGeometry y="131" width="237.5" height="50" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-32" value="Locking-Script size" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="w7sy7rOh6mnJ606th1zS-72">
          <mxGeometry y="80" width="237.5" height="50" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-39" value="Source:&amp;nbsp;&lt;br&gt;https://www.oreilly.com/library/view/mastering-bitcoin/9781491902639/ch05.html" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="w7sy7rOh6mnJ606th1zS-72">
          <mxGeometry y="190" width="237.5" height="60" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-73" value="" style="group" vertex="1" connectable="0" parent="1">
          <mxGeometry x="1840" y="2670" width="240" height="365" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-23" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="w7sy7rOh6mnJ606th1zS-73">
          <mxGeometry width="240" height="365" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-24" value="TxInput" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="w7sy7rOh6mnJ606th1zS-73">
          <mxGeometry x="90" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-34" value="Transaction Hash" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="w7sy7rOh6mnJ606th1zS-73">
          <mxGeometry y="30" width="240" height="50" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-35" value="Output Index" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="w7sy7rOh6mnJ606th1zS-73">
          <mxGeometry y="80" width="240" height="50" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-36" value="Unlocking-Script Size" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="w7sy7rOh6mnJ606th1zS-73">
          <mxGeometry y="130" width="240" height="50" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-37" value="Unlocking-Script" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="w7sy7rOh6mnJ606th1zS-73">
          <mxGeometry y="180" width="240" height="50" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-38" value="Sequence number" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="w7sy7rOh6mnJ606th1zS-73">
          <mxGeometry y="230" width="240" height="50" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-40" value="Source:&amp;nbsp;&lt;br&gt;https://www.oreilly.com/library/view/mastering-bitcoin/9781491902639/ch05.html" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="w7sy7rOh6mnJ606th1zS-73">
          <mxGeometry y="295" width="240" height="60" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-76" value="" style="group" vertex="1" connectable="0" parent="1">
          <mxGeometry x="2929" y="160" width="681" height="570" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-73" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="w7sy7rOh6mnJ606th1zS-76" vertex="1">
          <mxGeometry width="681" height="570" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-74" value="Block (blk000.dat)" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="w7sy7rOh6mnJ606th1zS-76" vertex="1">
          <mxGeometry x="194.57142857142858" y="22.799999999999997" width="291.85714285714283" height="45.599999999999994" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-75" value="Previous Block Hash (0)" style="rounded=1;whiteSpace=wrap;html=1;" parent="w7sy7rOh6mnJ606th1zS-76" vertex="1">
          <mxGeometry y="91.19999999999999" width="681" height="91.19999999999999" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-76" value="Creation DateTime (2022.05.12 8:0:0)" style="rounded=1;whiteSpace=wrap;html=1;" parent="w7sy7rOh6mnJ606th1zS-76" vertex="1">
          <mxGeometry y="182.39999999999998" width="681" height="91.19999999999999" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-77" value="Current Block Hash (1)" style="rounded=1;whiteSpace=wrap;html=1;" parent="w7sy7rOh6mnJ606th1zS-76" vertex="1">
          <mxGeometry y="273.59999999999997" width="681" height="91.19999999999999" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-85" value="Merkle tree Tx (Transactions : 0)" style="rounded=1;whiteSpace=wrap;html=1;" parent="w7sy7rOh6mnJ606th1zS-76" vertex="1">
          <mxGeometry y="455.99999999999994" width="681" height="91.19999999999999" as="geometry" />
        </mxCell>
        <mxCell id="jJR8IX2gqd7flar8r1S0-86" value="Nonce (1234)" style="rounded=1;whiteSpace=wrap;html=1;" parent="w7sy7rOh6mnJ606th1zS-76" vertex="1">
          <mxGeometry y="364.79999999999995" width="681" height="91.19999999999999" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-1" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
          <mxGeometry x="30" y="520" width="200" height="400" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-84" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="w7sy7rOh6mnJ606th1zS-2">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="80" y="2101.6666666666665" as="targetPoint" />
            <Array as="points">
              <mxPoint x="20" y="580" />
              <mxPoint x="20" y="2102" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-2" value="Unconfirmed Transactions List" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
          <mxGeometry x="30" y="550" width="200" height="60" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-3" value="Miner" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
          <mxGeometry x="110" y="520" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-83" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="jJR8IX2gqd7flar8r1S0-20" target="jJR8IX2gqd7flar8r1S0-66">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-87" value="This is used with an algorithm (i think ECDSA) for generate Addresses that will be used on the transactions&amp;nbsp;" style="text;html=1;strokeColor=#d79b00;fillColor=#ffe6cc;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
          <mxGeometry x="423" y="220" width="227" height="80" as="geometry" />
        </mxCell>
        <mxCell id="w7sy7rOh6mnJ606th1zS-88" value="How i can know if a transaction is mine or from another peer? is the Address convertible to pubKey?" style="text;html=1;strokeColor=#b85450;fillColor=#f8cecc;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
          <mxGeometry x="650" y="220" width="140" height="80" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!