Uvicorn & Gunicorn
Uvicorn and GunicornUvicorn and Gunicorn are important concepts when developing applications in Python. However, there are many concepts to be aware of in order to fully understand Uvicorn and Gunicorn. The following is a brief summary of the necessary concepts, and the details will be dealt with separately later.Necessary ConceptsStarletteStarlette is a Web application server that can run asynchronously. Starlette runs on top of Uvicorn.FastAPIFastAPI provides many features on top of Starlet...
Gas optimization in Solidity, Ethereum
Iβm sorry but my English is terrible. I hope you understand that generously.Recently, I was developing a toy project named Blind Market. Itβs a simple P2P trading application using smart contract. I was making a contract using Solidity, and the trade stage proceeded in the order of pending, shipping, and done. The problem was appeared in done phase. The problem was that when I tried to close the transaction by paying the price raised by the seller in msg.value, the following error occurred.Pe...
P2WPKH
P2WPKHP2WPKHλ λΉνΈμ½μΈ λ΄μμ κ°μ₯ μΌλ°μ μΈ μ€ν¬λ¦½νΈ νμμΌλ‘ λΉνΈμ½μΈ νλ‘ν μ½μ λν μ§λΆ κ±°λ μ νμ΄λ€. μ£Όμλ 1λ‘ μμνλλ°, μΈκ·Έμμ μ§μνλ μλ‘μ΄ μ£Όμ 3 λλ bc1λ‘ μμνλ μ£Όμλ³΄λ€ ν¨μ¬ λΉμΈλ€. https://mirror.xyz/0xA1d9f681B25C14C1eE7B87f1CF102E73cA3ad4d9/egjhNVklgy_LgZmcTXXAOTBa6ePBqO3Ja9ZSoDIad-8 μ¦, λΉνΈμ½μΈ μ£Όμκ° 1λ‘ μμνλ©΄ P2PKH μ£Όμλ₯Ό μ¬μ©νκ³ μλ κ²μ΄λ€. 곡κ°ν€μ κ°λ¨ν ν΄μμ΄λ©°, μ΄ ν΄μλ₯Ό μ£Όμλ‘ μ¬μ©νλ κ²μ΄λ€. μ΄κ²μ μλ λΉνΈμ½μΈ μ£Όμ νμμ΄μμΌλ©° μ€λκΉμ§λ μΆ©μ€ν μλνλ€. λ κ±°μ μ£Όμλ μΈκ·Έμκ³Ό νΈνλμ§ μμ§λ§, μ¬μ ν λ¬Έμ μμ΄ P2PKH μ£Όμμμ μΈκ·Έμ μ£Όμλ‘ BTCλ₯Ό λ³΄λΌ μ μλ€. κ·Έλ¬λ λ κ±°μ μ£Όμ νΈλμμ μ΄ λ ν¬κΈ° λλ¬Έμ P2PKH μ£Όμμμ μ μ‘νλ νκ· μλλ μΈκ·Έμ μ£Όμμμ μ μ‘ν λλ³΄λ€ λ λμ μκΈμ΄ λ°μν μ μλ€....
<100 subscribers
Uvicorn & Gunicorn
Uvicorn and GunicornUvicorn and Gunicorn are important concepts when developing applications in Python. However, there are many concepts to be aware of in order to fully understand Uvicorn and Gunicorn. The following is a brief summary of the necessary concepts, and the details will be dealt with separately later.Necessary ConceptsStarletteStarlette is a Web application server that can run asynchronously. Starlette runs on top of Uvicorn.FastAPIFastAPI provides many features on top of Starlet...
Gas optimization in Solidity, Ethereum
Iβm sorry but my English is terrible. I hope you understand that generously.Recently, I was developing a toy project named Blind Market. Itβs a simple P2P trading application using smart contract. I was making a contract using Solidity, and the trade stage proceeded in the order of pending, shipping, and done. The problem was appeared in done phase. The problem was that when I tried to close the transaction by paying the price raised by the seller in msg.value, the following error occurred.Pe...
P2WPKH
P2WPKHP2WPKHλ λΉνΈμ½μΈ λ΄μμ κ°μ₯ μΌλ°μ μΈ μ€ν¬λ¦½νΈ νμμΌλ‘ λΉνΈμ½μΈ νλ‘ν μ½μ λν μ§λΆ κ±°λ μ νμ΄λ€. μ£Όμλ 1λ‘ μμνλλ°, μΈκ·Έμμ μ§μνλ μλ‘μ΄ μ£Όμ 3 λλ bc1λ‘ μμνλ μ£Όμλ³΄λ€ ν¨μ¬ λΉμΈλ€. https://mirror.xyz/0xA1d9f681B25C14C1eE7B87f1CF102E73cA3ad4d9/egjhNVklgy_LgZmcTXXAOTBa6ePBqO3Ja9ZSoDIad-8 μ¦, λΉνΈμ½μΈ μ£Όμκ° 1λ‘ μμνλ©΄ P2PKH μ£Όμλ₯Ό μ¬μ©νκ³ μλ κ²μ΄λ€. 곡κ°ν€μ κ°λ¨ν ν΄μμ΄λ©°, μ΄ ν΄μλ₯Ό μ£Όμλ‘ μ¬μ©νλ κ²μ΄λ€. μ΄κ²μ μλ λΉνΈμ½μΈ μ£Όμ νμμ΄μμΌλ©° μ€λκΉμ§λ μΆ©μ€ν μλνλ€. λ κ±°μ μ£Όμλ μΈκ·Έμκ³Ό νΈνλμ§ μμ§λ§, μ¬μ ν λ¬Έμ μμ΄ P2PKH μ£Όμμμ μΈκ·Έμ μ£Όμλ‘ BTCλ₯Ό λ³΄λΌ μ μλ€. κ·Έλ¬λ λ κ±°μ μ£Όμ νΈλμμ μ΄ λ ν¬κΈ° λλ¬Έμ P2PKH μ£Όμμμ μ μ‘νλ νκ· μλλ μΈκ·Έμ μ£Όμμμ μ μ‘ν λλ³΄λ€ λ λμ μκΈμ΄ λ°μν μ μλ€....
Share Dialog
Share Dialog
μ§λ Consensus Algorithm κΈμμ Proof of Stakeμ λν΄μ μ€λͺ ν μ μ΄ μλ€.
μμ μ¦λͺ μ ν©μ μκ³ λ¦¬μ¦μ λΈλ‘μ²΄μΈ μλλ₯Ό μ리λ 1λ± κ³΅μ μ΄ λμμ§λ§ μκ°μ΄ μ§λ μλ‘ κ³Όλν μλμ§ μλΉ λ° μ±κ΅΄μ λ μ νκ° λ°μνκΈ° μμνκ³ , μ΄μ μλ‘μ΄ ν©μ μκ³ λ¦¬μ¦μ λν λ Όμκ° μμλμλ€.
κ·Έλ κ² λμ¨ ν©μ μκ³ λ¦¬μ¦μ΄ λ°λ‘ μ§λΆμ¦λͺ (PoS)μ΄λ€.
μ§λΆμ¦λͺ μ΄λ μ°Έμ¬μμ μμ μ§λΆ(Stake)μ΄ λΈλ‘ μμ± κΆνμ λ°μμ΄ λλ μκ³ λ¦¬μ¦μ μΌμ»«λλ€.
μ리λ λ€μκ³Ό κ°λ€.
λΈλ‘ μμ± λ° κ²μ¦μ μν μ νλ Validatorκ° λκΈ° μν΄μλ **μμ μ΄ λ³΄μ νκ³ μλ μνΈ ννλ₯Ό 보μ¦κΈμ ννλ‘ λ½μ νλ νΉλ³ν κ±°λ(Special Transaction)**λ₯Ό ν΄μΌ νλ€.
κ·Έ μ΄νμλ μλ‘μ΄ λΈλ‘μ μμ±νκ³ κ²μ¦νλ μ μ°¨λ λͺ¨λ Validatorκ° μ°Έμ¬ν μ μλλ‘ νλ νΉμ βν©μ μκ³ λ¦¬μ¦(Consensus Algorithm)βμ μν΄ μ΄λ£¨μ΄μ§λ€.
μ¬κΈ°μ μ€μν μ μ λ°λ‘ νΉμ ν©μ μκ³ λ¦¬μ¦μ΄ νλκ° μλλΌλ κ²μ΄λ€.
μ¬κΈ°μ λ§νλ νΉμ ν©μ μκ³ λ¦¬μ¦μ΄λ, μ§λΆμ¦λͺ μ΄λΌλ ν° ν μμμ λΈλ‘ μμ± λ° κ²μ¦, κ·Έλ¦¬κ³ λ³΄μμ κ΄ν μκ³ λ¦¬μ¦μ λ§νλ€.
λ°λΌμ κ·Έ λ°©λ²μ λ°λΌ μ§λΆμ¦λͺ μ λ€μν ννκ° λ μ μλ€.
κ°μ₯ λνμ μΈ ννλ‘ μ€λ μκ°ν βChain-Based Proof-of-Stakeβμ βBFT-Style Proof-of-Stakeβκ° μλ€.
Chain-Based Proof-of-Stakeμμλ 10μ΄ λ¨μμ λ§€ μ¬λ‘―λ§λ€ νλμ Validatorλ₯Ό μμ¬ λλ€νκ² (pseudo-randomly) μ μ νλ€.
pseudo-randomlyλ, λμλ₯Ό νλ΄λ΄κΈ° μν΄ μκ³ λ¦¬μ¦μΌλ‘ μμ±λλ κ°μ κ°λ¦¬ν¨λ€. μ΄λ μ μ¬λμλ₯Ό μμ±νλ μκ³ λ¦¬μ¦μ μ μ¬λμ μμ±κΈ°λ‘ λΆλ₯Έλ€. μ μ¬λμλ μκ³ λ¦¬μ¦μ μνμ μν΄ κ°μ΄ μ ν΄μ§λ―λ‘ μμ±λ μμ΄μ μΌμ ν μ£ΌκΈ°λ₯Ό κ°μ§λ©°, λ°λΌμ λμμ μμΈ‘ λΆκ°λ₯μ±μ κ°μ§ μ μλ€.
μ μ λ Validatorλ λΈλ‘ ν κ°λ₯Ό μμ±ν μ μλ κΆνμ κ°κ² λλ€.
κ·Έλ¬λ μμ±λ λΈλ‘μ λ°λμ μ΄μ λΈλ‘ μ€ νλλ₯Ό κ°λ¦¬μΌμΌ νλλ° λ³΄νΈμ μΌλ‘ κΈΈμ΄κ° κ°μ₯ κΈ΄ 체μΈμ λ§μ§λ§ λΈλ‘μ κ°λ¦¬ν€κ² λλ€.
μ΄μ κ²°κ³Όμ μΌλ‘ λλΆλΆμ λΈλ‘λ€μ λ¨μΌμ 체μΈμ λͺ¨μ΄κ² λλλ°, μ΄ ννκ° μ§λΆμ¦λͺ μ κ°μ₯ κΈ°λ³Έμ μΈ ννλΌκ³ λ³Ό μ μλ€.
BFT-Style Proof-of-Stakeμμλ Validatorλ€μκ² μμ ν λλ€νκ²(randomly) λΈλ‘μ μ μ(propose) ν μ μλ κΆνμ΄ μ£Όμ΄μ§λ€.
pseudo random vs randomly : λλ€μΈλ° μλμ²νκΈ° vs λλ€
λ€λ§ μ΄λ€ λΈλ‘μ΄ μ κ· λΈλ‘μΈμ§μ λν ν©μλ μ¬λ¬ λΌμ΄λμ κ±Έμ³ μ΄λ£¨μ΄μ§λ€.
λ§€ λΌμ΄λ λ§λ€ λͺ¨λ Validatorλ νΉμ λΈλ‘μ βν¬νβλ₯Ό ν μ μλ€.
κ·Έλ¦¬κ³ λͺ¨λ λΌμ΄λκ° λλλ©΄ Validatorλ μ΄λ€ λΈλ‘μ΄ μ²΄μΈμ λΆλΆμΈμ§ μλμ§ μꡬμ μΌλ‘ ν©μνκ² λλ€.
νΉμ΄ν μ μ΄ μλ€λ©΄ κΈΈμ΄κ° κΈΈκ±°λ μ¬μ΄μ¦κ° ν° μ²΄μΈμ λΈλ‘μ΄ λ¨λ κ²μ΄ μλλΌ λ§μ ν©μλ₯Ό λ°μ λ¨ ν κ°μ λΈλ‘λ§μ΄ λ¨μ μλ μλ€λ κ²μ΄λ€.
μμ μ¦λͺ μ κ²½μ° λνμ μΈ λΉνΈμ½μΈ μ¬λ‘κ° νλ³Έμ΄ λμλ€.
κ·Έλ¬λ μ§λΆμ¦λͺ μ βμ°Έμ¬μμ μμ μ§λΆμ΄ λΈλ‘ μμ± κΆνμ μν₯μ λ―ΈμΉλ€βλ μμ λ₯Ό ν° νμμ 곡μ νκ³ μμ λΏ μΈλΆμ μΈ λΆλΆμ μμ΄μλ λ§μ μ°¨μ΄κ° μλ€λ μ μ μ μνμ.
μ§λ Consensus Algorithm κΈμμ Proof of Stakeμ λν΄μ μ€λͺ ν μ μ΄ μλ€.
μμ μ¦λͺ μ ν©μ μκ³ λ¦¬μ¦μ λΈλ‘μ²΄μΈ μλλ₯Ό μ리λ 1λ± κ³΅μ μ΄ λμμ§λ§ μκ°μ΄ μ§λ μλ‘ κ³Όλν μλμ§ μλΉ λ° μ±κ΅΄μ λ μ νκ° λ°μνκΈ° μμνκ³ , μ΄μ μλ‘μ΄ ν©μ μκ³ λ¦¬μ¦μ λν λ Όμκ° μμλμλ€.
κ·Έλ κ² λμ¨ ν©μ μκ³ λ¦¬μ¦μ΄ λ°λ‘ μ§λΆμ¦λͺ (PoS)μ΄λ€.
μ§λΆμ¦λͺ μ΄λ μ°Έμ¬μμ μμ μ§λΆ(Stake)μ΄ λΈλ‘ μμ± κΆνμ λ°μμ΄ λλ μκ³ λ¦¬μ¦μ μΌμ»«λλ€.
μ리λ λ€μκ³Ό κ°λ€.
λΈλ‘ μμ± λ° κ²μ¦μ μν μ νλ Validatorκ° λκΈ° μν΄μλ **μμ μ΄ λ³΄μ νκ³ μλ μνΈ ννλ₯Ό 보μ¦κΈμ ννλ‘ λ½μ νλ νΉλ³ν κ±°λ(Special Transaction)**λ₯Ό ν΄μΌ νλ€.
κ·Έ μ΄νμλ μλ‘μ΄ λΈλ‘μ μμ±νκ³ κ²μ¦νλ μ μ°¨λ λͺ¨λ Validatorκ° μ°Έμ¬ν μ μλλ‘ νλ νΉμ βν©μ μκ³ λ¦¬μ¦(Consensus Algorithm)βμ μν΄ μ΄λ£¨μ΄μ§λ€.
μ¬κΈ°μ μ€μν μ μ λ°λ‘ νΉμ ν©μ μκ³ λ¦¬μ¦μ΄ νλκ° μλλΌλ κ²μ΄λ€.
μ¬κΈ°μ λ§νλ νΉμ ν©μ μκ³ λ¦¬μ¦μ΄λ, μ§λΆμ¦λͺ μ΄λΌλ ν° ν μμμ λΈλ‘ μμ± λ° κ²μ¦, κ·Έλ¦¬κ³ λ³΄μμ κ΄ν μκ³ λ¦¬μ¦μ λ§νλ€.
λ°λΌμ κ·Έ λ°©λ²μ λ°λΌ μ§λΆμ¦λͺ μ λ€μν ννκ° λ μ μλ€.
κ°μ₯ λνμ μΈ ννλ‘ μ€λ μκ°ν βChain-Based Proof-of-Stakeβμ βBFT-Style Proof-of-Stakeβκ° μλ€.
Chain-Based Proof-of-Stakeμμλ 10μ΄ λ¨μμ λ§€ μ¬λ‘―λ§λ€ νλμ Validatorλ₯Ό μμ¬ λλ€νκ² (pseudo-randomly) μ μ νλ€.
pseudo-randomlyλ, λμλ₯Ό νλ΄λ΄κΈ° μν΄ μκ³ λ¦¬μ¦μΌλ‘ μμ±λλ κ°μ κ°λ¦¬ν¨λ€. μ΄λ μ μ¬λμλ₯Ό μμ±νλ μκ³ λ¦¬μ¦μ μ μ¬λμ μμ±κΈ°λ‘ λΆλ₯Έλ€. μ μ¬λμλ μκ³ λ¦¬μ¦μ μνμ μν΄ κ°μ΄ μ ν΄μ§λ―λ‘ μμ±λ μμ΄μ μΌμ ν μ£ΌκΈ°λ₯Ό κ°μ§λ©°, λ°λΌμ λμμ μμΈ‘ λΆκ°λ₯μ±μ κ°μ§ μ μλ€.
μ μ λ Validatorλ λΈλ‘ ν κ°λ₯Ό μμ±ν μ μλ κΆνμ κ°κ² λλ€.
κ·Έλ¬λ μμ±λ λΈλ‘μ λ°λμ μ΄μ λΈλ‘ μ€ νλλ₯Ό κ°λ¦¬μΌμΌ νλλ° λ³΄νΈμ μΌλ‘ κΈΈμ΄κ° κ°μ₯ κΈ΄ 체μΈμ λ§μ§λ§ λΈλ‘μ κ°λ¦¬ν€κ² λλ€.
μ΄μ κ²°κ³Όμ μΌλ‘ λλΆλΆμ λΈλ‘λ€μ λ¨μΌμ 체μΈμ λͺ¨μ΄κ² λλλ°, μ΄ ννκ° μ§λΆμ¦λͺ μ κ°μ₯ κΈ°λ³Έμ μΈ ννλΌκ³ λ³Ό μ μλ€.
BFT-Style Proof-of-Stakeμμλ Validatorλ€μκ² μμ ν λλ€νκ²(randomly) λΈλ‘μ μ μ(propose) ν μ μλ κΆνμ΄ μ£Όμ΄μ§λ€.
pseudo random vs randomly : λλ€μΈλ° μλμ²νκΈ° vs λλ€
λ€λ§ μ΄λ€ λΈλ‘μ΄ μ κ· λΈλ‘μΈμ§μ λν ν©μλ μ¬λ¬ λΌμ΄λμ κ±Έμ³ μ΄λ£¨μ΄μ§λ€.
λ§€ λΌμ΄λ λ§λ€ λͺ¨λ Validatorλ νΉμ λΈλ‘μ βν¬νβλ₯Ό ν μ μλ€.
κ·Έλ¦¬κ³ λͺ¨λ λΌμ΄λκ° λλλ©΄ Validatorλ μ΄λ€ λΈλ‘μ΄ μ²΄μΈμ λΆλΆμΈμ§ μλμ§ μꡬμ μΌλ‘ ν©μνκ² λλ€.
νΉμ΄ν μ μ΄ μλ€λ©΄ κΈΈμ΄κ° κΈΈκ±°λ μ¬μ΄μ¦κ° ν° μ²΄μΈμ λΈλ‘μ΄ λ¨λ κ²μ΄ μλλΌ λ§μ ν©μλ₯Ό λ°μ λ¨ ν κ°μ λΈλ‘λ§μ΄ λ¨μ μλ μλ€λ κ²μ΄λ€.
μμ μ¦λͺ μ κ²½μ° λνμ μΈ λΉνΈμ½μΈ μ¬λ‘κ° νλ³Έμ΄ λμλ€.
κ·Έλ¬λ μ§λΆμ¦λͺ μ βμ°Έμ¬μμ μμ μ§λΆμ΄ λΈλ‘ μμ± κΆνμ μν₯μ λ―ΈμΉλ€βλ μμ λ₯Ό ν° νμμ 곡μ νκ³ μμ λΏ μΈλΆμ μΈ λΆλΆμ μμ΄μλ λ§μ μ°¨μ΄κ° μλ€λ μ μ μ μνμ.
No comments yet